145 96 5MB
German Pages 320 Year 2006
Springer-Lehrbuch
Leena Suhl ´ TaÒeb Mellouli
Optimierungssysteme Modelle, Verfahren, Software, Anwendungen
Mit 113 Abbildungen
12
Professor Dr. Leena Suhl Universitåt Paderborn Fakultåt Wirtschaftswissenschaften Warburger Straûe 100 33098 Paderborn [email protected] Professor Dr. TaÒeb Mellouli Martin-Luther Universitåt Halle-Wittenberg Wirtschaftswissenschaftliche Fakultåt Institut fçr Wirtschaftsinformatik und Operations Research Universitåtsring 3 06108 Halle (Saale) mellouli@ wiwi.uni-halle.de
ISBN-10 ISBN-13
3-540-26119-2 Springer Berlin Heidelberg New York 978-3-540-26119-3 Springer Berlin Heidelberg New York
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet çber abrufbar. Dieses Werk ist urheberrechtlich geschçtzt. Die dadurch begrçndeten Rechte, insbesondere die der Ûbersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfåltigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfåltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulåssig. Sie ist grundsåtzlich vergçtungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Springer ist ein Unternehmen von Springer Science+Business Media springer.de ° Springer-Verlag Berlin Heidelberg 2006 Printed in Germany Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wåren und daher von jedermann benutzt werden dçrften. Umschlaggestaltung: Design & Production, Heidelberg SPIN 11492740
42/3153-5 4 3 2 1 0 ± Gedruckt auf såurefreiem Papier
Vorwort
Ziel dieses Buches ist es, Studierenden und Praktikern Grundkenntnisse u ¨ber Optimierungssysteme zu vermitteln, so wie sie heute in der betrieblichen Praxis eingesetzt werden. Darunter verstehen wir IT-basierte Anwendungssysteme, die Optimierungsmodelle generieren und verarbeiten k¨onnen sowie zur Analyse der Modelle formale L¨ osungsmethoden einsetzen. In der klassischen Form basieren Optimierungssysteme auf Technologien der mathematischen Programmierung, die seit den 50er Jahren kontinuierlich weiterentwickelt werden, und die durch die M¨ oglichkeiten heutiger schneller Rechentechnologien ihren Weg immer ¨ ofter zur Anwendung finden. Aufgrund der hohen kombinatorischen Komplexit¨ at k¨ onnen nicht alle schwierigen Modelle exakt optimal gel¨ ost werden, so dass die klassischen L¨ osungstechnologien durch Heuristiken und Simulationsmethoden erg¨ anzt werden. Die Inhalte dieses Buches sind haupts¨ achlich im Rahmen der Lehrveranstaltung Grundlagen von Optimierungssystemen“ an der Universit¨at Paderborn ” entstanden und werden auch im Institut f¨ ur Wirtschaftsinformatik und Operations Research an der Martin-Luther-Universit¨ at Halle-Wittenberg eingesetzt und ausgebaut. Weiterhin sind diese Inhalte Bestandteil des virtuellen Studienfaches VORMS (Virtuelles Studienfach Operations Research/Management Science, s. http://www.vorms.org) sowie teilweise des virtuellen Master-Studienganges VAWi (Virtuelle Aus- und Weiterbildung Wirtschaftsinformatik, s. http://www.vawi.de). Die Basistechnologien von Optimierungssystemen werden durch Praxisberichte aus der Beratungs- und Entwicklungspraxis der Autoren sowie aus aktuellen Literaturquellen erg¨ anzt. Das Buch folgt einem systematischen didaktischen Konzept mit Lernein¨ heiten, die jeweils Lernziele, Beispiele, Praxisberichte, Ubungsaufgaben und Verst¨ andnisfragen beinhalten. Weitere Inhalte, Beispiele, Erkl¨arungen und ¨ Ubungsaufgaben befinden sich auf den Webseiten zum Buch: zu finden unter http://www.vorms.org. Das Buch ist sowohl geeignet als begleitendes Material zu Pr¨ asenz-Lehrveranstaltungen an Universit¨aten und Fachhochschulen als auch f¨ ur ein Selbststudium, virtuell betreutes Studium und Blended Learning.
VI
Vorwort
Die Inhalte sind insbesondere f¨ ur Wirtschaftswissenschaftler, Wirtschaftsinformatiker und Wirtschaftsingenieure aufbereitet, k¨onnen aber auch f¨ ur Informatiker und Mathematiker von Interesse sein. Man kann nicht genug betonen, ¨ wie wichtig eigenst¨ andiges Bearbeiten von Beispielen, Ubungsaufgaben und Fallstudien f¨ ur das Verst¨ andnis der Materie ist. Optimierung und Modellierung sind Gebiete, die ein tiefes Verst¨ andnis erfordern, um sie in der Praxis richtig einsetzen zu k¨ onnen. Daher wird jeder Leserin und jedem Leser empfoh¨ len, m¨ oglichst viele Ubungsaufgaben selbst¨ andig zu bearbeiten. Betreutes Lernen der vorgestellten Inhalte ist neben einem grundst¨andigen Pr¨asenzstudium auch im Rahmen des virtuellen Studienfaches VORMS (s. oben) m¨oglich. Zum Entstehen dieses Buches haben zahlreiche Mitarbeiter, Studierende, Projektpartner und Kollegen beigetragen. Wir m¨ ochten an dieser Stelle insbesondere den folgenden Personen f¨ ur wertvolle Beitr¨age, Diskussionen, Korrekturhinweise und Anregungen danken: Andrea Beckmann, Klaus Bertelt, Claus Biederbick, Thomas Br¨ autigam, Stefan Bunte, Philipp Christophel, Yvonne Groening, Yetis Keltepe, Christian Kirchhoff, Natalia Kliewer, Michael R¨ omer, R¨ udiger Stucke, Anja Thelen, Nils Urbach, Mathias Walther, Markus Wigger und Kai Z¨ urnstein. Wir widmen das Buch Prof. Dr. Uwe H. Suhl, der u ¨ber Jahrzehnte einen außerordentlichen Beitrag zur Entwicklung und Anwendung von Optimierungssystemen geleistet hat.
Paderborn und Halle(Saale), Juli 2005
Leena Suhl Ta¨ıeb Mellouli
Inhaltsverzeichnis
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
5
Optimierungssysteme als Bestandteil von OR/MS . . . . . . . . . 1.1 Operations Research, Management Science und Decision Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Modellbildung im Operations Research . . . . . . . . . . . . . . . . . . . . . 1.3 Methoden des Operations Research . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Lineare Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Gemischt-ganzzahlige Optimierung . . . . . . . . . . . . . . . . . . 1.3.3 Netzwerkoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.4 Nichtlineare Programmierung . . . . . . . . . . . . . . . . . . . . . . . 1.3.5 Heuristiken und Metaheuristiken . . . . . . . . . . . . . . . . . . . . 1.3.6 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.7 Entscheidungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.8 Prognoseverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.9 Weitere datenbasierte Verfahren . . . . . . . . . . . . . . . . . . . . . 1.3.10 Weitere Techniken des Operations Research . . . . . . . . . . . 1.4 Optimierungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Mathematische Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Anwendungen in der Betriebswirtschaft . . . . . . . . . . . . . . . . . . . . 1.7 Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.1 Monte-Carlo-Simulation bei Multiprofil . . . . . . . . . . . . . . 1.7.2 Call-Center-Simulation bei einer Direktbank . . . . . . . . . . 1.7.3 SCM-Planungstechniken bei Fischer-Ski . . . . . . . . . . . . . . 1.7.4 Zeitschriften-Allokation bei Time Inc. . . . . . . . . . . . . . . . . 1.7.5 Weitere Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 6 8 8 9 10 12 12 13 14 15 16 17 17 19 20 25 25 25 26 28 29 30
VIII
2
3
Inhaltsverzeichnis
Lineare Optimierungsmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Aufbau von linearen Modellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Grafische L¨ osung eines 2-dimensionalen LP-Modells . . . . . . . . . . 2.3 Eigenschaften des zul¨ assigen Bereichs . . . . . . . . . . . . . . . . . . . . . . 2.4 LP-Modelle mit spezieller Struktur . . . . . . . . . . . . . . . . . . . . . . . . 2.5 L¨ osungsverfahren f¨ ur lineare Optimierungsmodelle . . . . . . . . . . . 2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen . . . . . . . . . 2.6.1 Grundidee und Standardformat . . . . . . . . . . . . . . . . . . . . . 2.6.2 Schritte des Simplex-Verfahrens . . . . . . . . . . . . . . . . . . . . . 2.6.3 Bestimmung einer zul¨ assigen Anfangsl¨osung . . . . . . . . . . 2.7 Grafische Veranschaulichung – Vertiefung . . . . . . . . . . . . . . . . . . . 2.7.1 Grafische Veranschaulichung der Grundidee des Simplex-Verfahrens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 Basis vs. Ecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.3 Was ist ein Simplex“? . . . . . . . . . . . . . . . . . . . . . . . . . . . . ” ¨ 2.8 Okonomische Interpretation und Auswertung einer LP-L¨osung 2.8.1 Interpretation der reduzierten Kosten und der Schattenpreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.2 Duales Modell und seine Interpretation . . . . . . . . . . . . . . . 2.9 Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9.1 Produktionsplanung bei Bottle Caps . . . . . . . . . . . . . . . . . 2.9.2 Optimierung der S¨ udzucker R¨ ubenlogistik . . . . . . . . . . . . ¨ 2.10 Ubungsaufgaben ........................................ 2.11 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software zur L¨ osung und Modellierung . . . . . . . . . . . . . . . . . . . . 3.1 Merkmale von LP-Optimierungssoftware . . . . . . . . . . . . . . . . . . . . 3.2 Spezielle Implementierungstechniken – Vertiefung . . . . . . . . . . . . 3.3 Rechenaufwand bei der L¨ osung von LP-Modellen . . . . . . . . . . . . 3.4 Ein- und Ausgabe von linearen Optimierungsmodellen . . . . . . . 3.4.1 Interaktive Ein- und Ausgabe . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Ein- und Ausgabe im MPS-Format . . . . . . . . . . . . . . . . . . 3.4.3 Ein- und Ausgabe in internen Datenstrukturen . . . . . . . . 3.4.4 Ein- und Ausgabe u ¨ber eine DLL-Schnittstelle . . . . . . . . 3.4.5 Spezielle Modellierungssprachen . . . . . . . . . . . . . . . . . . . . . 3.5 Einbettung von Optimierungssoftware in Decision-SupportSysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 3.6 Ubungsaufgaben ........................................ 3.7 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31 31 33 36 38 42 44 44 48 52 56 56 59 60 62 64 67 70 70 71 72 74 77 77 80 81 82 83 83 85 86 88 90 92 94
Inhaltsverzeichnis
IX
4
Modellierungstechniken f¨ ur Optimierungsaufgaben . . . . . . . . 95 4.1 Bedeutung der richtigen Modellierung . . . . . . . . . . . . . . . . . . . . . 95 4.2 Fixkostenprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.3 Schwellenwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.4 Darstellung alternativer Restriktionsgruppen . . . . . . . . . . . . . . . . 102 4.5 Weitere spezielle Modellierungstechniken . . . . . . . . . . . . . . . . . . . 103 4.6 St¨ uckweise lineare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.7 Darstellung logischer Aussagen als Restriktionen . . . . . . . . . . . . 111 4.8 Optimierung bei mehrfacher Zielsetzung . . . . . . . . . . . . . . . . . . . 116 4.8.1 Gewichtungen und Mindestanteile von Zielen . . . . . . . . . 117 4.8.2 Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.9 Fundierung von Modellierungstechniken – Vertiefung . . . . . . . . . 120 4.10 Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.10.1 Sortimentsoptimierung von B¨ uro- und Papierwaren . . . . 123 4.10.2 Verschnittoptimierung von Rollenstahl . . . . . . . . . . . . . . . 124 ¨ 4.11 Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.12 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5
L¨ osung gemischt-ganzzahliger Optimierungsmodelle . . . . . . . 133 5.1 Schwierigkeitsgrad von Optimierungsmodellen . . . . . . . . . . . . . . . 133 5.2 Allgemeine L¨ osungsprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.2.1 Greedy-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.2.2 Divide-and-Conquer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.2.3 Er¨ offnungs- und Verbesserungsverfahren . . . . . . . . . . . . . . 137 5.2.4 Lokale Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.2.5 Metaheuristiken und naturanaloge Verfahren . . . . . . . . . . 139 5.2.6 Backtracking und Branch&Bound . . . . . . . . . . . . . . . . . . . 139 5.3 Backtracking und Branch&Bound-Verfahren . . . . . . . . . . . . . . . . 141 5.3.1 Backtracking-Verfahren und Hamilton-Kreise . . . . . . . . . 141 5.3.2 Das Rucksackproblem und Job Sequencing . . . . . . . . . . . 143 5.3.3 Anwendung von Backtracking mit Bounding . . . . . . . . . . 145 5.3.4 Branch&Bound-Verfahren f¨ ur allgemeine MIP-Modelle . 148 5.3.5 Beispiel zu Branch&Bound . . . . . . . . . . . . . . . . . . . . . . . . . 151 5.4 Bemerkungen zu MIP-Modellen und deren Formulierung . . . . . 155 5.4.1 Duality Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.4.2 (Um-)Formulierung ganzzahliger Modelle – total unimodulare Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 5.5 Spezielle Techniken und Software . . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.6 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
X
Inhaltsverzeichnis
6
Netzwerkorientierte Optimierungsmodelle . . . . . . . . . . . . . . . . . 163 6.1 Typische Optimierungsmodelle in Netzwerken . . . . . . . . . . . . . . . 163 6.2 Grundbegriffe der Graphentheorie . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.3 Minimale Spannb¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 6.4 K¨ urzeste-Wege Probleme und Algorithmen . . . . . . . . . . . . . . . . . 172 6.4.1 Der Dijkstra-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.4.2 LC-Verfahren f¨ ur k¨ urzeste Wege . . . . . . . . . . . . . . . . . . . . . 178 6.4.3 K¨ urzeste Wege zwischen allen Paaren von Knoten . . . . . 181 6.4.4 Ermittlung l¨ angster Wege . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.5 Das Transportproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 6.5.1 Das einstufige Transportproblem . . . . . . . . . . . . . . . . . . . . 184 6.5.2 Das mehrstufige Transportproblem . . . . . . . . . . . . . . . . . . 185 6.6 Das Transshipment-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.6.1 Das allgemeine Basismodell . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.6.2 Spezialf¨ alle des Transshipment-Modells . . . . . . . . . . . . . . . 188 6.7 Umformung des Transshipment-Modells . . . . . . . . . . . . . . . . . . . . 192 6.7.1 Transformation der unteren Schranken . . . . . . . . . . . . . . . 192 6.7.2 Transformation in ein s-t-Flussproblem . . . . . . . . . . . . . . . 194 6.7.3 Bestimmung von Zirkulationsfl¨ ussen . . . . . . . . . . . . . . . . . 194 6.7.4 Kapazit¨ atsrestriktionen auf Knoten . . . . . . . . . . . . . . . . . . 195 6.7.5 Ungerichtete und symmetrische Kanten . . . . . . . . . . . . . . 195 6.7.6 Netzwerke mit negativen Kantenbewertungen . . . . . . . . . 196 6.8 L¨ osung des Min-Cost-Flow-Modells . . . . . . . . . . . . . . . . . . . . . . . . 197 6.8.1 Standardformat des Min-Cost-Flow-Modells . . . . . . . . . . 197 6.8.2 Bestimmung maximaler Fl¨ usse . . . . . . . . . . . . . . . . . . . . . . 199 6.8.3 Bestimmung kostenminimaler Fl¨ usse . . . . . . . . . . . . . . . . . 203 6.8.4 L¨ osung mit Hilfe von Standard-Optimierungssoftware . . 207 6.9 Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 6.9.1 Netzwerkflussmodell f¨ ur Helsinki Wasserwerke . . . . . . . . 209 6.9.2 Netzausbauplanung im Gasnetz . . . . . . . . . . . . . . . . . . . . . 210 6.9.3 Flugnetzoptimierung bei UPS . . . . . . . . . . . . . . . . . . . . . . . 210 ¨ 6.10 Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.11 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
7
¨ Fallstudie Transportlogistik im OPV: Netzwerkbasierte Modellierung und Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.2 Produktionsplanung und -steuerung (PPS) . . . . . . . . . . . . . . . . . 216 7.2.1 Hauptschritte eines PPS-Prozesses . . . . . . . . . . . . . . . . . . . 217
Inhaltsverzeichnis
7.3 7.4 7.5 7.6 7.7
7.8
7.9 8
XI
7.2.2 Produktionsplanung und dispositive Kontrolle im ¨offentlichen Verkehr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Das Umlaufplanungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Netzwerkbasierte Modellierung des Umlaufplanungsproblems . . 222 Standard-Flussproblem und Netzwerktransformationen . . . . . . . 225 Praxisanwendung – Probleme klassischer Modellierungsans¨atze 227 Aggregiertes Netzwerkflussmodell . . . . . . . . . . . . . . . . . . . . . . . . . . 228 7.7.1 Netzwerkflussmodell mit Anschlusslinien . . . . . . . . . . . . . 229 7.7.2 Neue Aggregationsmethode f¨ ur potentielle Leerfahrten . 231 Umsetzung mit Optimierungssoftware in der Praxis . . . . . . . . . . 234 7.8.1 Realisierung und Rechenergebnisse . . . . . . . . . . . . . . . . . . 234 7.8.2 Kombination Heuristik/mathematische Optimierung . . . 235 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Touren- und Standortplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 8.1 Motivation – Transportlogistik im G¨ uterverkehr . . . . . . . . . . . . . 237 8.2 Basisprobleme der Tourenplanung . . . . . . . . . . . . . . . . . . . . . . . . . 238 8.3 Mathematische Modellierung und exakte Verfahren . . . . . . . . . . 243 8.4 Heuristische Verfahren f¨ ur Tourenplanung . . . . . . . . . . . . . . . . . . 247 8.4.1 Das Savings-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 8.4.2 Das Sweep-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 8.4.3 Verbesserungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 8.5 Dynamische Tourenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 8.6 Warehouse-Location-Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.6.1 Unkapazitiertes (einstufiges) WLP . . . . . . . . . . . . . . . . . . . 256 8.6.2 Kapazitiertes (einstufiges) WLP . . . . . . . . . . . . . . . . . . . . . 257 8.6.3 Mehrstufige Warehouse Location Probleme . . . . . . . . . . . 258 8.7 Heuristische Verfahren zur L¨ osung von Warehouse-LocationProblemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 8.7.1 Er¨ offnungsverfahren f¨ ur Warehouse Location-Probleme . 259 8.7.2 Verbesserungsverfahren f¨ ur Warehouse LocationProbleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 8.8 Zentrenprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 8.9 Praxisbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 8.9.1 Tourenplanung f¨ ur den technischen Kundendienst . . . . . 263 8.9.2 Standortplanung bei der Stahlindustrie . . . . . . . . . . . . . . . 263 ¨ 8.10 Ubungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 8.11 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
XII
9
Inhaltsverzeichnis
Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 9.1 Motivation und Fallstudien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 9.2 Kontinuierliche Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 9.3 Diskrete Modelle: Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 9.3.1 Konzepte in diskreten Simulationsmodellen . . . . . . . . . . . 275 9.3.2 Modellierung der Inputdaten . . . . . . . . . . . . . . . . . . . . . . . . 277 9.3.3 Generierung von zufallsbehafteten Inputdaten . . . . . . . . . 280 9.3.4 Gestaltung und Auswertung von Simulationsexperimenten . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 9.4 Diskrete Modelle: Fallstudien und Software . . . . . . . . . . . . . . . . . 287 9.4.1 Fallstudie universit¨ arer Druckerpool“ . . . . . . . . . . . . . . . 287 ” 9.4.2 Simulationssoftware Arena . . . . . . . . . . . . . . . . . . . . . . . . . . 290 9.5 Simulation und Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 9.6 Was sollte ich gelernt haben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Abbildungsverzeichnis
1.
Optimierungssysteme – Modellierung und Optimierungsverfahren
2
1.1 1.2 1.3 1.4 1.5
Typisches Vorgehensmodell in Operations Research . . . . . . . . . . . Abstrahiertes Straßennetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Umladeproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inline-Skates-Absatz f¨ ur 2004/2005 . . . . . . . . . . . . . . . . . . . . . . . . . Bestandteile eines Advanced Planning Systems nach [G¨ unther 2005] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ausschnitt des Produktionsprozesses bei Fischer . . . . . . . . . . . . . .
7 10 11 16
1.6 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15
Grafische L¨ osung von 2-dimensionalen LP-Modellen . . . . . . . . . . Konvexe und nichtkonvexe Bereiche . . . . . . . . . . . . . . . . . . . . . . . . . L¨ osung zum Beispiel Tierfutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Struktur eines Optimierungsmodells mit mehreren Produktionsst¨ atten [Williams 1999] . . . . . . . . . . . . . . . . . . . . . . . . . Struktur eines mehrperiodischen Optimierungsmodells [Williams 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Carl Friedrich Gauss 1777-1855 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Basis f¨ ur das Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iteration 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iteration 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iteration 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iteration 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase I, Iteration 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 1, Iteration 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase 2, Iteration 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 27 35 36 40 41 41 44 47 49 50 51 52 54 54 55 56
XIV
Abbildungsverzeichnis
2.16 Grafische Veranschaulichung der Simplexschritte (Phase I und Phase II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.17 Schlupfvariable 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.18 Schlupfvariable 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.19 Entsprechung Ecke - Basis (NBV = Nichtbasisvariablen bez¨ uglich Basis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.20 Das m-dim. Simplex der Simplex-Methode (f¨ ur m = 3, BV sind x11 , x12 und x13 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.21 L¨ osung des Beispiels in Clipmops . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.22 Reduzierte Kosten: Qualitative Veranschaulichung . . . . . . . . . . . . 2.23 Schattenpreise: Qualitative Veranschaulichung . . . . . . . . . . . . . . . 2.24 L¨ osung des dualen Modells in ClipMOPS . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8
Vorgang der Modelll¨ osung in der Praxis . . . . . . . . . . . . . . . . . . . . . Interaktives Arbeiten mit ClipMOPS . . . . . . . . . . . . . . . . . . . . . . . Ein lineares Optimierungsmodell im MPS-Format . . . . . . . . . . . . Ein Produktionsplanungsmodell in MPL . . . . . . . . . . . . . . . . . . . . Modell mit mehreren Produktionsstufen in AMPL [Fourer et al. 1999] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datendatei zu Abb. 3.6 in AMPL [Fourer et al. 1999] . . . . . . . . . Einsatz mathematischer Optimierungssoftware in EUS . . . . . . . . Ein EUS zur Besatzungseinsatzplanung im Flugverkehr [Mellouli 2003] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57 58 58 60 61 63 65 66 69 78 84 85 88 89 90 90 91
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Beispiel Mehrschichtarbeit a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Beispiel Mehrschichtarbeit b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Grafische Darstellung eines Fixkostenproblems . . . . . . . . . . . . . . . 98 Grafische Darstellung alternativer Restriktionsgruppen . . . . . . . . 103 St¨ uckweise lineare Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Rollen von Federbandstahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Entscheidungsunterst¨ utzungssystem zu Verschnittoptimierung . . 125 Ein Erdgasnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8
Backtracking am Rucksack-Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . 140 Bounding am Rucksack-Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Backtracking-Baum f¨ ur obiges Beispiel . . . . . . . . . . . . . . . . . . . . . . 142 Qualitative Veranschaulichung (Aufspaltung des L¨osungsraumes)151 Grafische Veranschaulichung des Beispiels zu Branch&Bound . . 152 Bearbeitung von Knoten 0 am Beispiel zu Branch&Bound . . . . . 153 Der Branch&Bound-Suchbaum f¨ ur das Beispiel . . . . . . . . . . . . . . . 154 Beziehung zwischen LP- und IP-L¨ osung (vgl. Beispiel unten) . . . 155
Abbildungsverzeichnis
XV
5.9 Ganzzahlige vs. kontinuierliche optimale L¨osung . . . . . . . . . . . . . . 156 5.10 Konvexe H¨ ulle einer gegebenen IP-L¨ osungsmenge . . . . . . . . . . . . . 156 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22
Ein gerichteter Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Baum (links), Wald (rechts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Spannb¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Minimaler Spannbaum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Sechs St¨adte mit m¨ oglichen Verbindungen . . . . . . . . . . . . . . . . . . . 173 Ein Beispiel f¨ ur den Dijkstra-Algorithmus 1/2 . . . . . . . . . . . . . . . . 175 Ein Beispiel f¨ ur den Dijkstra-Algorithmus 2/2 . . . . . . . . . . . . . . . . 176 Ein Transportproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Mehrstufiges Transportproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Beispiel f¨ ur ein Transshipment-Problem . . . . . . . . . . . . . . . . . . . . . 186 Reduktion Transshipment-Problem → s-t-Flussproblem . . . . . . . 190 Transformation der unteren Schranken . . . . . . . . . . . . . . . . . . . . . . 193 Reduktion: s-t-Flussproblem ⇒ Zirkulationsflussproblem . . . . . . 194 Node-Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Umkehrung einer Kante negativer Kosten . . . . . . . . . . . . . . . . . . . 197 Standardformat des Transshipment-Modells . . . . . . . . . . . . . . . . . . 199 Beispielnetzwerk f¨ ur kostenminimalen Fluss . . . . . . . . . . . . . . . . . . 207 Berechnung eines kostenminimalen Flusses . . . . . . . . . . . . . . . . . . . 208 Wassernetz der Stadt Helsinki (schematisch) . . . . . . . . . . . . . . . . . 209 Beispielnetz von VOLCANO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Netzwerk mit positiven unteren Flussgrenzen . . . . . . . . . . . . . . . . 212 Wasserversorgungsnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8
Prozess der Produktionsplanung und -steuerung . . . . . . . . . . . . . . 218 Ressourcen-Einsatzplanung im o ¨ffentlichen Personenverkehr . . . . 219 Umlaufplanung im ¨ offentlichen Personenverkehr . . . . . . . . . . . . . . 221 M¨ ogliche Anschl¨ usse, Motivation Netzwerkmodell . . . . . . . . . . . . . 223 Beispiel Klassisches Flussmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Beispiel Klassisches Flussmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Netwerktransformation: Anwendung von Node Splitting“ . . . . . 226 ” Netzwerktransformation Lower Flow Bound Elimination“ ” und Quasi-Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Multi-Layer-Flussnetzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 What-If-Analyse Umlaufplanung in der Praxis . . . . . . . . . . . . . . . 229 Anschlusslinie – Connection Line . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Node Consolidation in Anschlusslinien . . . . . . . . . . . . . . . . . . . . . . 230 Netzwerkflussmodell mit Anschlusslinien . . . . . . . . . . . . . . . . . . . . 231
7.9 7.10 7.11 7.12 7.13
XVI
Abbildungsverzeichnis
7.14 Netzwerkflussmodell mit Anschlusslinien: Zwischenbilanz . . . . . . 232 7.15 Aggregation der Leerfahrten mittels Latest-First-Matches . . . . . 233 7.16 Rechenergebnisse Stadt Halle (Saale) . . . . . . . . . . . . . . . . . . . . . . . 235 8.1
Vehicle Routing versus Vehicle Scheduling Problem [Mellouli 2003] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 8.2 Gegenbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 8.3 Ein Beispiel f¨ ur den Savings-Algorithmus (1/2) . . . . . . . . . . . . . . . 248 8.4 Ein Beispiel f¨ ur den Savings-Algorithmus (2/2) . . . . . . . . . . . . . . . 250 8.5 Beispiel f¨ ur den Sweep-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 251 8.6 Beispiel f¨ ur Iterationsschritt i = 3 , j = 5 . . . . . . . . . . . . . . . . . . . . 253 8.7 Beispiel f¨ ur tourenver¨ anderndes 2-opt-Verfahren . . . . . . . . . . . . . . 254 8.8 Ein unkapaziertes, einstufiges WLP . . . . . . . . . . . . . . . . . . . . . . . . . 257 8.9 Ein zweistufiges WLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 8.10 Supply Chain eines Stahlherstellers [Nickel 2005] . . . . . . . . . . . . . 263 8.11 Das Straßennetz zu Aufgabe 8-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9
Kfz-Werkstatt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Wirkungsgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Das R¨ auber-Beute-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Histogramm von Ankunftsdaten und angepasste Exponentialverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Plot der Differenz zwischen empirischer und theoretischer Verteilungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Transienter Zustand (Einschwingphase) und station¨arer Zustand286 Fallstudie Druckerpool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Ankunftsraten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Simulation und Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Einleitung
Das vorliegende Buch befasst sich mit Optimierungssystemen, die nach Meinung der Autoren ein zentrales Thema im Spannungsfeld zwischen Wirtschaftsinformatik und Operations Research/Management Science (OR/MS) darstellen. Wirtschaftsinformatik befasst sich mit der Konzeption, Entwicklung, Einf¨ uhrung, Wartung und Nutzung computergest¨ utzter Informationssysteme in der Wirtschaft. F¨ ur die Begr¨ undung wirtschaftlicher Entscheidungen werden im OR/MS zun¨ achst mathematische Modelle und Strukturen entwickelt, die als Basis f¨ ur computerbasierte Verfahren zur Entscheidungsvorbereitung in der Wirtschaft dienen. Auf OR/MS basierende Informationssysteme sind f¨ ur Manager, Planer, Disponenten und Controller entscheidungsunterst¨ utzend und geh¨oren demnach der Klasse der Decision-Support-Systeme“ an. Bei Optimierungssystemen“ le” ” gen die Autoren den Fokus auf die Teilklasse dieser Systeme, die u ¨berwiegend nach optimalen L¨ osungen f¨ ur praktische betriebswirtschaftliche Problemstellungen suchen. Dabei spielt neben der Entwicklung und dem Einsatz von Optimierungsverfahren auch die F¨ ahigkeit und die Kunst der ad¨aquaten Modellierung der Realit¨ at eine große Rolle.
Modellierung
Realität
Optimierungsverfahren Formales Modell
Computer
berechnete Lösung Transfer ? optimal optimal Abb. 1 Optimierungssysteme – Modellierung und Optimierungsverfahren
2
Einleitung
Um komplexe praktische Problemstellungen, etwa in der Produktionsplanung und Transportlogistik rechnergest¨ utzt l¨ osen zu k¨onnen, m¨ ussen diese zun¨achst in ein formales Modell u uhrt werden (s. Abb. 1). In diesem sind die f¨ ur die ¨berf¨ Probleml¨ osung relevanten Aspekte der Realit¨ at abstrahiert. Darauf aufbauend werden zur computergest¨ utzten L¨ osungsfindung optimierende oder heuristische Verfahren angewandt. In der Praxis k¨ onnen mathematische Modelle f¨ ur Produktionsplanungsaufgaben mit Hilfe leistungsstarker Optimierungssoftware optimal gel¨ ost, Netzwerkstrukturen f¨ ur die Modellierung diverser komplexer Aufgabenstellungen in der Transportlogistik angewandt und Simulationstechniken f¨ ur den Vergleich verschiedener Szenarien und Systemkonfigurationen eingesetzt werden. In Abb. 1 wird die Wichtigkeit der richtigen“ Modellierung von Problemen ” aus der Realit¨ at/Praxis hervorgehoben. W¨ urde man ein nicht-passendes Modell f¨ ur eine Praxisaufgabe w¨ ahlen, so ist es fraglich, ob eine optimale L¨osung des Modells in eine f¨ ur die Praxis optimale“ oder u ¨berhaupt passende L¨osung ” u uhren l¨ asst. ¨berf¨ Nach diesem Leitmotiv werden im vorliegenden Buch Optimierungssysteme“ ” eher aus Sicht praktischer Anwendbarkeit behandelt, wobei die Modellierung und die Anwendung neben Technologien der mathematischen und netzwerkbasierten Optimierung einen großen Stellenwert einnimmt. Das vorliegende Buch umfasst neun inhaltliche Kapitel. Im Kapitel 1 werden Optimierungssysteme als Bestandteil von OR/MS eingef¨ uhrt. Neben den grundlegenden mathematischen Modellen der linearen Programmierung von Kapitel 2 werden Softwaresysteme der Optimierung in Kapitel 3 vorgestellt und eingesetzt. Um die Anwendbarkeit dieser heutzutage sehr leistungsstarken Softwaresysteme zu erweitern, werden in Kapitel 4 Modellierungstechniken f¨ ur Optimierungsaufgaben behandelt. Kapitel 5 diskutiert spezielle Methoden zur L¨osung schwieriger Modelle, die oftmals diskrete Variablen etwa zur Modellierung von Ja/Nein-Entscheidungen beinhalten. Kapitel 6 f¨ uhrt Netzwerke zur Modellierung komplexer Strukturen, insbesondere Distributions- und Transportprobleme ein, wobei insbesondere auf L¨ osungsmethoden von Wege- und Flussproblemen eingegangen wird. Kapitel 7 und 8 behandeln Optimierungsaufgaben aus der Transportlogistik im Personen- und G¨ uterverkehr. Dabei demonstriert Kapitel 7 die netzwerkbasierte Modellierung und Optimierung anhand einer Fallstudie im Bereich der Ressourceneinsatzplanung im ¨ offentlichen Personenverkehr. Bei dieser Fallstudie werden Methoden aus Kapitel 6 f¨ ur netzwerkbasierte Modellierung angewandt und die Leistungsst¨ arke von Optimierungssoftware aus Kapitel 3 zur L¨ osung praktischer Probleme aufgezeigt. Kapitel 8 behandelt Standortund Tourenplanungsprobleme bei der Transportlogistik im G¨ uterbereich. Bei diesen Problemen werden mathematische netzwerkbasierte Modelle vorgestellt, die die Kenntnisse aus Kapiteln 4 und 6 anwenden und vertiefen. Da die L¨ osbarkeit mancher dieser Modelle f¨ ur praktische Problemgr¨oßen eingeschr¨ ankt ist, werden hier auch heuristische Verfahren behandelt.
Einleitung
3
Das Buch schließt mit dem Kapitel 9 u ¨ber Simulation, die ihre Anwendbarkeit im Bereich der Optimierung von komplexen und stochastisch bedingten Systemen findet. Die Kapitel dieses Buches sind nach dem folgenden Schema aufgebaut: Zuerst werden die Lernziele mit Hinweisen auf Online-Lerneinheiten gegeben. Die eigentlichen Inhalte beinhalten zu allen quantitativen Themen Beispiele, die das Verst¨ andnis erleichtern. Dabei ist es wichtig, dass die Leserin und der Leser ¨ m¨oglichst fr¨ uh zum Rechner geht und Beispiele und Ubungsaufgaben mit Optimierungssoftware selbst l¨ ost. Durch kurze Praxisberichte wird die praktische Bedeutung der vorgestellten Methoden betont. Es werden nur tats¨achlich umgesetzte erfolgreiche Praxisanwendungen vorgestellt, wobei in einigen F¨allen aus Wunsch des Unternehmens der Firmenname ge¨andert wurde. Die methodi¨ schen Kapitel beinhalten Ubungsaufgaben, deren Bearbeitung extrem wichtig f¨ ur das Verst¨ andnis der Materie ist. L¨ osungen befinden sich in den OnlineLernmaterialien. Jedes Kapitel schließt mit dem Teil Was sollte ich gelernt ” haben“, das die M¨ oglichkeit anbietet zu testen, ob man die wichtigsten Inhalte beherrscht. Die Antworten auf die gestellten Fragen befinden sich im Text des jeweiligen Kapitels. Folgende Symbole werden im Buch durchg¨ angig verwendet, um Hinweise zu geben und Verkn¨ upfungen zu zeigen: Dieses Icon weist auf Verweise zum Internet hin. Dabei kann es sich um Programm-Ressourcen, weiterf¨ uhrende Literatur, ¨ Ubungsaufgaben und Erl¨ auterungen handeln. Dieses Icon weist auf wichtige Begriffe, Definitionen und S¨ atze hin. Dieses Icon markiert Fragen und Aufgabenstellungen.
1 Optimierungssysteme als Bestandteil von OR/MS
Lernziele: • • • • •
Allgemeines Verst¨ andnis u ¨ber Operations Research Besondere Sicht des Management Science bzw. Decision Support Vorgehensmodell in OR-Projekten Generelles Verst¨ andnis u ¨ber Optimierungssysteme Generelles Verst¨ andnis u ¨ber mathematische Programmierung
Online-Lernmodule: • Einf¨ uhrung in OR/MS • Einf¨ uhrung in Optimierungssysteme http://www.vorms.org
1.1 Operations Research, Management Science und Decision Support Dieses Lehrbuch besch¨ aftigt sich mit computergest¨ utzten Optimierungssystemen, die zur L¨ osung von Optimierungsproblemen aus der betriebswirtschaftlichen – und teilweise auch aus der volkswirtschaftlichen oder ingenieurtechnischen – Praxis benutzt werden k¨ onnen. Solche Optimierungssysteme sind Bestandteil der Wirtschaftsinformatik und gleichzeitig ein wichtiges Teilgebiet der Disziplin des Operations Research. Unter dem Begriff Operations Research (OR) verstehen wir allgemein die Entwicklung und den Einsatz quantitativer Modelle und Methoden zur Entscheidungsunterst¨ utzung in Unternehmen und Organisationen. Typische Ans¨atze
6
1 Optimierungssysteme als Bestandteil von OR/MS
des Operations Research sind Optimierung und Simulation. Dabei wird f¨ ur einen Ausschnitt der Realit¨ at ein abstraktes Modell gebildet, mit dessen Hilfe Analysen durchgef¨ uhrt werden k¨ onnen, um somit eine gute Basis f¨ ur Entscheidungen zu schaffen. In Deutschland werden gelegentlich auch die Begriffe Unternehmensforschung und Operationsforschung benutzt. Der Begriff Management Science (MS) wird insbesondere in Nordamerika f¨ ur praktisches Operations Research“ angewandt. Es geht dabei um scientific ” ” methods for management“. In Management Science liegt der Schwerpunkt auf der Unterst¨ utzung von F¨ uhrungskr¨ aften bei Entscheidungen. W¨ahrend zu Operations Research auch die Entwicklung von formal-mathematischen Methoden geh¨ ort, geht es bei Management Science eher um die Anwendung solcher Methoden. Nach Meinung der Autoren sind Methodenevolution und Anwendung untrennbar miteinander verbunden; daher wird nachfolgend zumeist die als Fachbezeichnung. OR/MS“ gew¨ahlt. ” Entscheidungen in der Praxis werden in einem komplexen Umfeld getroffen, wobei oft nicht alle relevanten Aspekte formalisiert werden k¨onnen. Daher m¨ ussen Manager, Disponenten und andere Entscheidungstr¨ager die M¨oglichkeit haben, einen vom Computer generierten Entscheidungsvorschlag zu bearbeiten und zu ¨ andern. Die Methoden des OR/MS werden also in Decision Support (DS) Systems (Entscheidungsunterst¨ utzungssysteme) eingebettet, die diese M¨ oglichkeit mit Hilfe der modernen Informations- und Kommunikationstechnologie anbieten. Bild 1.1 pr¨ asentiert den typischen Ablauf eines Projektes in OR/MS. Die reale Entscheidungssituation wird in einem formalen bzw. mathematischen Modell abgebildet, das mit Hilfe geeigneter Computer-Software gel¨ost wird. Die berechnete L¨ osung ergibt einen Entscheidungsvorschlag, der vom entsprechenden Entscheidungstr¨ ager auf seine Praxistauglichkeit“ u uft, akzeptiert, ¨berpr¨ ” verbessert oder in manchen F¨ allen auch abgelehnt wird. Das Feedback des Entscheidungstr¨ agers hilft oft bei der Verbesserung des Modells im Hinblick auf die genaue Abbildung des Realit¨ atsausschnitts des Problems.
1.2 Modellbildung im Operations Research Die Methoden des Operations Research k¨ onnen verst¨andlicherweise nicht direkt auf die Realit¨ at, sondern auf Modelle der Realit¨at angewandt werden. Oft ist es nicht einfach zu sehen, wie das eigentliche Entscheidungsproblem strukturiert ist und welche Aspekte der Realit¨at modelliert werden sollten. Bei einem OR-Projekt muss zun¨ achst gekl¨ art werden, was der Entscheidungstr¨ ager wirklich will (Zielfunktion), welche Freiheitsgrade (Entscheidungsvariablen) man hat und welche Nebenbedingungen (Restriktionen) ber¨ ucksichtigt werden sollen.
1.2 Modellbildung im Operations Research
7
Realwelt
Plan für die reale Situation
Nein ModellVerbesserung erforderlich?
Ja
Erkennen eines Problems Problemanalyse, Bestimmen von Zielen und Handlungsmöglichkeiten
Lösungsbewertung/ Modellkritik
Plan für das mathematische Modell (Planvorschlag für das Realwelt-Problem Lösung mit geeigneter Computer-Software
Modellbildung •Vereinfachungen, Annahmen •Feststellung der Einflussgrößen •Quantifizierung •Modellauswahl
Aufstellen des mathematischen Modells mit Lösungsverfahren
Datensammlung und -beschaffung, (u.a. Prognose für Planungsdaten)
Abb. 1.1. Typisches Vorgehensmodell in Operations Research
Ein Modell ist eine Abstraktion der Realit¨ at und bildet das Planungsproblem in seinen wesentlichen Aspekten korrekt ab. [Littger 1992] Es ist wichtig zu verstehen, dass es zu einem Entscheidungsproblem immer mehrere Modelle geben kann, da ein Modell eine Abstraktion der Realit¨at darstellt. Ein zwar korrektes aber ung¨ unstig gew¨ahltes Modell eines Problems kann dazu f¨ uhren, dass OR/MS-Methoden nur schwer oder gar nicht angewandt werden k¨ onnen. Deshalb wird die Erstellung eines guten Modells auch als Kunst“ bezeichnet, da es auf die Kreativit¨at und Abstraktionsf¨ahigkeit ” des Modellbildners ankommt. Modellbildner sollten deshalb sowohl ausreichende Kenntnisse u ¨ber das praktische Problem im betrieblichen Umfeld als auch Kenntnisse u ahigkeiten und Grenzen der vorhandenen OR/MS Me¨ber F¨ thoden besitzen. OR/MS-Projekte sind daher grunds¨atzlich interdisziplin¨ar ausgerichtet. Wenn ein Modell aufgestellt und die richtigen“, d. h. korrekt erfasste, berei” nigte sowie in ausreichendem Maße vorhandene, Daten vorliegen, kann man durch Analyse des Modells Hinweise und Vorgaben (L¨osungen des Modells) f¨ ur gute Entscheidungen generieren, die dann aufgrund der Isomorphie des Modells mit der Realit¨ at in echte Entscheidungssituationen u ¨bertragbar sind.
8
1 Optimierungssysteme als Bestandteil von OR/MS
Wenn die oben genannten Komponenten Zielfunktion, Entscheidungsvariablen und Restriktionen formal explizit ausgedr¨ uckt werden k¨onnen, kommt oft ein Optimierungsmodell in Frage. Eine Optimierungsmethode kann dann eine optimale L¨ osung unter Ber¨ ucksichtigung der Zielfunktion und aller Nebenbedingungen generieren. Wenn es aber keine klar formulierbare Zielsetzung gibt, kann man oft mit Hilfe eines Simulationsmodells mit einem der Realit¨at nachgebauten Simulator“ verschiedene Entscheidungsvarianten durchspielen ” und somit wertvolle Informationen gewinnen. Jedes Modell und die daraus resultierende(n) L¨osung(en) muss mit dem Entscheidungstr¨ ager auf Korrektheit u uft werden. Derzeit ist es angesichts ¨berpr¨ von Kommunikationsproblemen schwierig, alle Aspekte und Feinheiten eines komplexen Betriebsproblems zu erfassen. Wichtige Faktoren zur Probleml¨ osung k¨ onnten vielleicht nicht erkannt oder dem Modellbildner nicht mitgeteilt worden sein. In dieser Phase gilt es zu u ufen, ob das Modell ¨berpr¨ valide ist, also die Realit¨ at korrekt abbildet. Hierf¨ ur gibt es mehrere Vorgehensweisen, beispielsweise ein retrospektiver Test, in dem historische Daten in das Modell eingegeben und das Resultat mit der bereits eingetretenen Wirklichkeit verglichen wird. Die letzte Phase ist die Implementierung der endg¨ ultigen L¨osung in der Realit¨ at. Hier kommt der Nutzen der erarbeiteten Studie zum Tragen. Die Einf¨ uhrung der L¨ osung sollte vom Unternehmen und dem Modellbildner gemeinsam durchgef¨ uhrt werden, um bei der Umsetzung in ein operatives Verfahren bis dahin noch unentdeckte Fehler zu korrigieren. Weiterhin ist anzumerken, dass das Modell in periodischen Abst¨ anden u uft werden muss, ¨berpr¨ da interne oder externe Einfl¨ usse es beeintr¨ achtigen oder sogar unwirksam machen k¨ onnen.
1.3 Methoden des Operations Research Im Folgenden werden einige der wichtigsten Modellierungs- und L¨osungstechniken des OR kurz vorgestellt. 1.3.1 Lineare Optimierung Wenn die Zielfunktion und alle Restriktionen eines Optimierungsmodells Linearkombinationen der Entscheidungsvariablen sind, k¨onnen Modellierungsund L¨ osungstechnologien der linearen Optimierung (Linear Programming, LP) eingesetzt werden. Dabei wird eine gegebene Zielfunktion minimiert oder maximiert, unter Ber¨ ucksichtigung von linearen Restriktionen, die Gleichungen oder Ungleichungen ( ≤ oder ≥ ) sein k¨ onnen. Die Entwicklung der linearen Optimierung wird vielfach mit zu den bedeutendsten wissenschaftlichen Innovationen in der Mitte des zwanzigsten Jahrhunderts gez¨ ahlt. Bis heute haben dadurch Unternehmen riesige Mengen an
1.3 Methoden des Operations Research
9
Ressourcen und finanziellen Mitteln gespart. Das gebr¨auchlichste Einsatzgebiet der linearen Optimierung ist das allgemeine Problem der bestm¨oglichen Allokation von knappen Ressourcen unter konkurrierenden M¨oglichkeiten. Bereits vor und w¨ ahrend des zweiten Weltkrieges wurden LP-Modelle von Kantorovic in der Sowjetunion und Dantzig in den USA formuliert. Zun¨achst wurden diese Modelle zur Logistik-Optimierung im zweiten Weltkrieg eingesetzt. Nach dem Krieg haben sie ihren Weg in viele Bereiche in der Wirtschaft gefunden. Praxisrelevante LP-Modelle k¨onnen nur mit Hilfe von leistungsf¨ ahigen Computern gel¨ ost werden. Daher wird die LP-Technologie, parallel zur Hardwareentwicklung, st¨ andig weiter entwickelt. Durch eine jahrzehntelange, kontinuierliche Entwicklung der Algorithmen und Datenstrukturen ist man heute in der Lage, praktisch alle als relevant betrachteten LPModelle optimal zu l¨ osen. Allerdings besteht noch Forschungsbedarf darin, die L¨osung großer und numerisch schwieriger Modelle noch effizienter durchf¨ uhren zu k¨ onnen, so dass diese auch in Echtzeit (w¨ ahrend der Benutzer vor dem Bildschirm wartet) gel¨ ost werden k¨ onnen. Große Modelle aus der Praxis k¨onnen Hunderttausende, manchmal sogar Millionen Variablen und Restriktionen beinhalten. 1.3.2 Gemischt-ganzzahlige Optimierung Viele praktische Probleme sind nur mit ganzzahligen Variablen sinnvoll, da eine Teilbarkeit von Ressourcen oft nicht gegeben ist. Rein-ganzzahlige (Integer Programming, IP) oder gemischt-ganzzahlige (Mixed Integer Programming, MIP) lineare Optimierung unterscheidet sich von der (kontinuierlichen) linearen Optimierung nur durch zus¨ atzliche Bedingungen, wonach einige oder alle Variablen der Ganzzahligkeitsbedingung unterliegen. Manchmal redet man von MILP, weil die Zielfunktion und die Restriktionen auch hier linear sind. Die Variablen sind allerdings nicht mehr kontinuierlich, sondern diskret. Beispielsweise ist es notwendig, Menschen, Fahrzeuge oder Maschinen in ganzzahligen Mengen bestimmten konkurrierenden M¨oglichkeiten zuzuordnen. Hier ist es sinnlos, dass die Variablen beliebige reelle Werte annehmen k¨ onnen. Ganzzahlige Optimierungsprobleme treten also dann auf, wenn die Menge der m¨ oglichen Alternativen beschr¨ ankt ist. Ist speziell die Menge der m¨oglichen Alternativen und damit der zul¨ assige, d. h. keiner Nebenbedingung widersprechende, Bereich des L¨ osungsraums (L¨osungsmenge) endlich, so spricht man auch von einem kombinatorischen Problem. Im Gegensatz zu linearen Optimierungsmodellen sind ganzzahlige und gemischt-ganzzahlige Modelle in der Regel sehr schwer zu l¨osen. Die Schwierigkeit wird durch die kombinatorische Explosion verursacht: Bereits f¨ ur kleine Modelle gibt es eine astronomische Anzahl m¨oglicher Wertekombinationen, so dass diese selbst mit schnellen Computern nicht in einer vertretbaren Zeit ahlt (enumeriert) werden k¨ onnen. Daher wurden spezielle Suchstrateaufgez¨ gien, bspw. Branch&Bound, entwickelt, die allerdings im schlechtesten Fall
10
1 Optimierungssysteme als Bestandteil von OR/MS
einen exponentiellen Rechenaufwand bezogen auf die Problemgr¨oße erfordern. Nat¨ urlich hat die schnelle Entwicklung von Hard- und Software hier viel bewirkt, jedoch k¨ onnen heute bei weitem nicht alle IP- und MIP-Modelle optimal gel¨ ost werden. 1.3.3 Netzwerkoptimierung Viele von Menschen gebaute Systeme basieren grunds¨atzlich auf Netzwerken. Konkrete physikalische Netze sind z. B. das Straßen-, Bahn- und Flugnetz im Verkehr, Strom-, Gas- und Wassernetz in der t¨aglichen Versorgung sowie Telefon- und Daten¨ ubertragungsnetze bei der Kommunikation. Abstrakte Netze werden beispielsweise bei der Projektplanung und der Gesch¨aftsprozessoptimierung benutzt. Klassische Anwendungsfelder der Netzwerkoptimierung sind z. B. der kostenminimale Transport von G¨ utern zwischen Produzenten und K¨aufern, die Ermittlung von k¨ urzesten Wegen innerhalb von Verkehrsnetzen, die schnellstm¨ogliche Belieferung von Kunden (Tourenplanung) oder die Planung eines ¨ kosteng¨ unstigen Versorgungsnetzwerkes (beispielsweise Olpipelines). Weil solche Netzwerke sehr verbreitet und teuer sind, kann man durch eine geschickte Planung und Organisation viel einsparen. Daher gibt es spezielle Modellierungs- und L¨ osungstechniken, die f¨ ur diverse oft vorkommende Optimierungsaufgaben in Netzwerken anwendbar sind. Netzwerkprobleme kann man sie als lineare Programme darstellen. Wegen ihrer speziellen Struktur lassen sie sich jedoch mit Hilfe spezieller Algorithmen meist effizienter als unter Benutzung von allgemeiner Optimierungssoftware l¨osen. Einige dieser Probleme werden im Folgenden beispielhaft kurz skizziert.
Abb. 1.2. Abstrahiertes Straßennetz
Beispiel: K¨ urzeste-Wege-Problem Wer kennt das nicht? Als armer Student ist man darauf angewiesen, seinen Lebensunterhalt als Pizzabote abends aufzubessern. Neben dem mickrigen Grundgehalt wird man bei unserem Beispiel daf¨ ur bezahlt, wie viele Pizzen man am Abend ausliefert. Um Zeit zu sparen,
1.3 Methoden des Operations Research
muss man also einen Weg suchen, der m¨ oglichst schnell zum Kunden f¨ uhrt. Wir abstrahieren in unserem Beispiel daher den Stadtplan von Berlin zu einem einfachen Netzplan, der uns m¨ogliche Wege von unserem Ausgangspunkt (Quelle, Pizzeria) zu unserem Ziel (Senke, Kunde) aufzeigt. Außerdem m¨ ussen wir nat¨ urlich die unterschiedlichen Wege (Kanten, Straßen) gewichten, um zu wissen, welcher Weg uns wie viel Zeit kosten w¨ urde. Das Beispiel ist in der Literatur unter dem Begriff shortest-pathproblem bekannt. Es gibt unterschiedliche mathematische Algorithmen, die in der Lage sind, dieses Problem exakt zu l¨osen. Der bekannteste unter ihnen ist wohl zweifelsohne der Dijkstra-Algorithmus. Beispiel: Umladeproblem Beim Umladeproblem geht es um den kostenminimalen G¨ utertransport von sogenannten Angebotsorten (Produktionswerken oder Anbietern des Gutes) u ¨ber Umladeorte (Transportumschlagspl¨atze, Zwischenlager, Montageorte) zu Bedarfsorten (Verbrauchern der G¨ uter). Es m¨ ussen also bei diesem Problem die Routen und die zu transportierenden G¨ uter u ¨ber die Routen simultan betrachtet werden. Die Realit¨at kann erfordern, dass bestimmte Routen nur eine gewisse maximale Menge an G¨ utern zulassen, die bef¨ ordert werden k¨onnen (beispielsweise die maximale Transportkapazit¨ at eines Schiffes bei einem Transport zu Wasser).
Abb. 1.3. Umladeproblem
In Abb. 1.3 wird beispielhaft ein Netzwerk der Transportwege f¨ ur die Distribution der Waren eines Unternehmens mit vier Angebotsorten (Werke), drei im Inland (links), einer im Ausland (rechts), drei Bedarfsorten (rechts) und drei weiteren Umlade-Orten gezeigt. Beachten Sie, dass bei Angebots- und Bedarfsknoten auch umgeladen werden kann. Aus diesen Informationen wird ein Modell erstellt, das mittels Optimierungsmethoden gel¨ ost werden kann.
11
12
1 Optimierungssysteme als Bestandteil von OR/MS
1.3.4 Nichtlineare Programmierung Wenn die Zielfunktion und/oder Restriktionen eines Optimierungsmodells auch Nichtlinearit¨ aten beinhalten, k¨ onnen die Technologien der linearen und gemischt-ganzzahligen Optimierung nicht mehr genutzt werden. In dem Fall spricht man von der nichtlinearen Optimierung oder Programmierung (NLP). Beispielsweise liegt eine Nichtlinearit¨ at vor, wenn die verkaufte Produktionsmenge im umgekehrten Verh¨ altnis zum geforderten Preis steht. Das bedeutet, dass der erzielbare Preis – und damit der Erl¨ os – von der Menge an hergestellten G¨ utern abh¨ angen. Der Erl¨ os (Teil der Zielfunktion) steht somit nicht mehr in linearem Verh¨ altnis zur verkauften Menge. Nichtlineare Optimierungsprobleme treten in der Praxis h¨aufig auf. Als Beispiele sind hier unter anderem das Transportkostenproblem mit mengenabh¨ angigen Versandkosten, eine Depotzusammensetzung mit nicht festverzinslichen Wertpapieren oder die Verringerung der St¨ uckkosten durch den Lerneffekt (d. h. effizientere Produktion durch gr¨oßere Erfahrung) zu nennen. Die Modellierung von nichtlinearen Zusammenh¨angen ist meistens sehr aufwendig. Außerdem k¨ onnen viele der nichtlinearen Modelle mit heutiger Technologie nicht optimal gel¨ ost werden. Es gibt nicht die L¨osungstechnologie f¨ ur nichtlineare Modelle; es kommen vielmehr in Abh¨angigkeit von der Modellklasse viele unterschiedliche Methoden in Frage. Die Autoren versuchen i.d.R. zun¨ achst, nichtlineare Probleme zu linearisieren; in vielen F¨allen ist dies durch spezielle Modellierungstechniken machbar. 1.3.5 Heuristiken und Metaheuristiken Heuristische Suchverfahren k¨ onnen f¨ ur ¨ ahnliche Problemstellungen angewandt werden wie die oben genannten (exakten) Optimierungsverfahren. Sie ermitteln in einem vertretbaren Rechenaufwand m¨oglichst gute L¨osungen. Allerdings kann nicht garantiert werden, dass eine im mathematischen Sinne optimale L¨ osung gefunden wird. Weiterhin besteht im Allgemeinen keine Absch¨ atzung dar¨ uber, wie weit die beste gefundene L¨osung vom Optimum entfernt ist. Heuristiken sind in der Regel problembasiert. Das heißt, dass die Suchmethode bekannte Eigenschaften des zu l¨osenden Problems nutzt, um somit schneller gute L¨ osungen zu generieren. Metaheuristiken sind dagegen allgemeine Prinzipien und Schemata zur Entwicklung und Steuerung heuristischer Verfahren. Viele Metaheuristiken geh¨oren zu so genannten naturanalogen Verfahren, weil sie die Natur gewissermaßen nachbilden. Solche Verfahren sind z. B. neuronale Netze, Simulated Annealing, genetische Algorithmen und Ameisensysteme. Es handelt sich dabei um allgemeine Suchverfahren, die auf der Suche nach einer optimalen osung kurzfristig auch eine Verschlechterung des Zielwertes hinnehmen, weil L¨ damit die Hoffnung verbunden ist, dass man aus einem im Verfahrensablauf erreichten lokalen Optimum wieder herauskommt.
1.3 Methoden des Operations Research
13
1.3.6 Simulation Simulation kann im sprachlichen Gebrauch viele Bedeutungen annehmen. So kann Simulieren“ bedeuten, dass man sich verstellt oder etwas vort¨auscht, ” aber auch, dass man eine bestimmte Handlung nachahmt. Operations Research und Management Science verstehen unter Simulation die Nachahmung einer realen Situation durch ein Modell, das auf einem Rechner abl¨auft. Anstatt einer analytischen L¨ osung eines gegebenen Problems wird bei der Simulation eine Ann¨ aherung an die optimale L¨ osung durch ein experimentelles Ausprobieren einer Vielzahl von M¨ oglichkeiten durchgef¨ uhrt. Simulation ist die Nachbildung eines dynamischen Prozesses in einem Modell, um zu Erkenntnissen zu gelangen, die auf die Wirklichkeit u ¨bertragbar sind (VDI-Richtlinie). Eine Simulation, d. h. das Durchspielen komplexer Zusammenh¨ange, empfiehlt sich, wenn entweder ein Ausprobieren in der Realit¨at zu teuer ist oder sich bspw. deswegen verbietet, weil der Untersuchungsgegenstand dabei zerst¨ort werden k¨ onnte. Flugsimulatoren sind hierf¨ ur gute Beispiele aus der Realit¨at, an denen sich kritische Situationen testen lassen. Tests mit realen Flugzeugen sind auf die Dauer viel kostspieliger als ein Flugsimulator - selbst, wenn es nicht gleich zum Absturz durch Pilotenfehler kommt. Simulationen werden auch dann eingesetzt, wenn eine Problemstellung in der Realit¨ at durch ein mathematisches Modell zwar beschrieben werden kann, aber geeignete L¨osungsverfahren entweder nicht existieren oder der Rechenaufwand viel zu groß ist. Das Feld der Simulation ist extrem vielschichtig, u. a. sind sowohl bei der Modellerstellung als auch der Ergebnisauswertung statistische Analysen unumg¨ anglich. An dieser Stelle sollen zwei wichtige Arten der Simulation, die Monte-Carlo-Simulation und die allgemeine, diskrete Simulation kurz vorgestellt werden. Monte-Carlo-Simulation Monte Carlo, Sinnbild f¨ ur Gl¨ ucksspiele und Casinos, wird nicht umsonst als Namenspate f¨ ur diese Art der Simulation verwendet. Wie in Monte-Carlo am Roulettetisch wird auch hier auf den Faktor Zufall gesetzt. Wir verstehen unter der Monte-Carlo-Simulation das Nachspielen eines Zufallsvorganges mit Zufallszahlen. Obwohl die Monte-Carlo-Simulation eine sehr alte Technologie ist, wird sie erst seit einigen Jahren in betriebswirtschaftlichen Praxisanwendungen eingesetzt. Der Grund daf¨ ur ist, dass die vielen Zufallsexperimente effizient nur mit leistungsf¨ ahigen Computern umsetzbar sind. Typischerweise wird die MonteCarlo-Simulation in F¨ allen eingesetzt, in denen aus einer Input-Verteilung eine Output-Verteilung generiert wird. Es kann sich bei Input und Output auch um
14
1 Optimierungssysteme als Bestandteil von OR/MS
viele unterschiedliche Verteilungen handeln. Der Ausgang eines einzelnen Experiments ist ungewiss, unterliegt aber den Gesetzen der Statistik. Nach dem Gesetz der großen Zahlen n¨ ahert sich die experimentelle Verteilung der Ausgangsdaten der theoretischen Verteilung, die der gegebenen Input-Verteilung unterliegt, an. Beispiel: Produkteinf¨ uhrung Ein Unternehmen erw¨ agt das Einf¨ uhren eines neuen Produktes. Wenn sicher w¨ are, ob das Produkt profitabel wird oder nicht, fiele die Entscheidung einfach. Die Einf¨ uhrung unterliegt jedoch großen Unsicherheiten, z. B. variieren die Produktionskosten und die Beschaffungspreise. Weiterhin ist die Absatzmenge nicht bekannt und vom Verkaufspreis abh¨ angig. Mit Hilfe der Monte-Carlo-Simulation kann die Zukunft quasi beliebig oft im Computer durchgespielt werden. Aus einer Zusammenfassung der Ergebnisse ergibt sich dann ein Bild u ¨ber die Wahrscheinlichkeitsverteilung. Diskrete Simulation Gegenstand der diskreten Simulation sind Modelle, in denen die Zeit in diskreten Intervallen betrachtet wird. Die Zeit wird durch sogenannte Ereignisse in Abschnitte aufgeteilt, in denen das Verhalten des Systems konstant ist. Auch hier sind Zufallszahlen von entscheidender Bedeutung. Beispielsweise treten in Warteschlangensystemen folgende Ereignistypen auf: Ankunft in die Warteschlange, Anfang der Bearbeitung, Ende der Bearbeitung, Verlassen des Systems. In Praxisanwendungen gibt es i.d.R. viele Bedienstationen unterschiedlicher Art, unterschiedliche Klassen von ankommenden Objekten sowie komplexe Abh¨ angigkeiten zwischen den Systemkomponenten. Typische Beispiele von Warteschlangensystemen sind z. B. in Produktion, Logistik und Supply Chain Management zu finden. Jeder kennt allt¨ agliche Beispiele von Warteschlangen, zum Beispiel in der Mensa, in einem Supermarkt oder an einer Tankstelle. Heutige Softwarepakete zur diskreten Simulation sind sehr leistungsf¨ ahig und bieten eine gute Anbindung an betriebliche Informations- und Kommunikationsprozesse sowie funktional vielseitige grafische Benutzeroberfl¨ achen. 1.3.7 Entscheidungstheorie Anhand der Entscheidungstheorie ist es m¨ oglich, aus einer Anzahl von Alternativen mit einer rationalen Methode eine Entscheidung zu treffen. Die Sichtweise hier ist der rational handelnde Mensch; es werden Entscheidungen an sich analysiert, beispielsweise wie subjektive Pr¨aferenzen modelliert oder Divergenzen zwischen mehreren Entscheidungstr¨agern behandelt werden k¨ onnen. Weitere wichtige Themen sind die Generierung von Zielsystemen und
1.3 Methoden des Operations Research
15
Wertefunktionen sowie Systeme mit mehreren Zielen (Multicriteria Decision Making, MCDM) und/oder mehreren Entscheidungstr¨agern. Typische Methoden der Entscheidungstheorie sind Entscheidungsb¨aume, die sequentielle Entscheidungen unter Unsicherheiten betrachten. Die Spieltheorie untersucht Entscheidungsprobleme zwischen verschiedenen ¨ Personen. Solche Entscheidungsprobleme tauchen in der Okonomie h¨aufig auf, z. B. beim Handel zwischen verschiedenen Parteien, bei Auktionen, auf denen unterschiedliche Agenten f¨ ur ein bestimmtes Gut bieten. Weiterhin in Situationen, in denen Individuen entscheiden, sich an der Finanzierung eines ¨ offentlichen Gutes zu beteiligen oder bei der Aufteilung eines Marktes zwischen verschiedenen Oligopolisten. In der Spieltheorie werden die Auswirkungen unterschiedlicher Strategien untersucht. Insbesondere werden Gleichgewichte (z. B. Nash-Equilibrium) unter gegebenen Strategien bestimmt. 1.3.8 Prognoseverfahren Prognoseverfahren stellen ein wichtiges Hilfsmittel bei der Entscheidungsfindung f¨ ur Manager dar. In Bereichen wie Marketing, Finanzplanung, Lagerhaltung oder Produktion werden Prognoseverfahren heutzutage in der Industrie erfolgreich eingesetzt. Im allegmeinen sind Prognoseverfahren f¨ ur die Datensammlung und -beschaffung f¨ ur Optimierungs- und Simulationsmodelle im Rahmen des Vorgehensmodell in OR (vgl. Abb. 1.1) gut geeignet. Beispielsweise prognostiziert die Deutsche Post die Verkehrsmengen von Paketen in jedem Frachtzentrum beim Eingang (von anderen Paketzentren) und Abgang (zu anderen Paketzentren). Der Abgang wird dabei am Vorabend und der Eingang fr¨ uh morgens bearbeitet. Eine genaue Prognose dieser Verkehrsmengen ist f¨ ur die Gew¨ ahrleistung der Lieferung von Paketen innerhalb Deutschlands binnen eines Tages zusammen mit einer kostensparenden Personaleinsatzplanung notwendig. Auf Basis solcher lang- und kurzfristigen Prognosedaten werden die ben¨ otigten Personalkapazit¨aten (Festangestellte, Aushilfskr¨ afte, . . . ) bestimmt werden. Wie an dem Beispiel zum Inline-Skates-Absatz (s. Abbildung 1.4) zu sehen ist, gibt es unterschiedliche Wege, eine Prognose f¨ ur eine Managementunterst¨ utzung zu erhalten. Man unterscheidet grunds¨atzlich zwischen qualitativen und quantitativen Prognoseverfahren. Die Ergebnisse von qualitativen Prognoseverfahren sind in der Regel von den Urteilen eines oder mehrerer Experten abgeleitet. Deshalb werden qualitative Verfahren in der Literatur oft als subjektive Verfahren betitelt. Es gibt eine Vielzahl realer Beispiele von Prognosewerten f¨ ur eine zuk¨ unftige wirtschaftliche Entwicklung durch Expertengruppen. Die in Deutschland wohl bekannteste Expertengruppe hinsichtlich der Wirtschaft ist die Gruppe der 5 Weisen“, einer 1963 per Gesetz gegr¨ undeten Gruppe, die j¨ahrlich eine ” Einsch¨ atzung der deutschen Wirtschaftslage vorlegen und einen Ausblick auf die gesamtwirtschaftliche Entwicklung geben.
16
1 Optimierungssysteme als Bestandteil von OR/MS
Subjektive Methoden bauen auf Eigenschaften wie Intuition, Fachwissen und Erfahrung. Die bekanntesten subjektiven Verfahren sind die Methode der Expertengruppe und die Delphi-Methode. Die Erstellung einer Prognose durch quantitative Verfahren geschieht durch Methoden der Zeitreihenanalyse und der Regressionsanalyse. Beide Verfahren sind konventionelle Verfahren aus der Statistik.
Absatz
Beispiel: Inline-Skates-Absatz Ein Großh¨ andler f¨ ur Inline-Skates m¨ ochte den Zu- und Abgang von Artikeln in seinem Lagerhaus besser planen und deswegen f¨ ur das kommende Vierteljahr eine Prognose aufstellen, wie viele Inline-Skates voraussichtlich verkauft werden k¨ onnen. Er hat in den vergangenen Jahren die viertelj¨ ahrlichen Absatzzahlen gesammelt. Auf Basis dieser Zahlen w¨ ahlt er eine Methode aus, die ihm einen Prognosewert f¨ ur den vermutlichen Absatz im n¨ achsten Vierteljahr gibt. Auch h¨atte er die M¨ oglichkeit, externe Experten zu befragen, wie sich die Branche im n¨ achsten Vierteljahr entwickeln wird und auf welche Einfl¨ usse geachtet werden muss.
?
F
S
H
W
F
S
2004
H
t (in Quartalen)
2005
Abb. 1.4. Inline-Skates-Absatz f¨ ur 2004/2005
1.3.9 Weitere datenbasierte Verfahren Die klassischen Technologien des Operations Research, wie Optimierung und Simulation, basieren auf Modellen, die zuerst eine Struktur des Entscheidungs-
1.4 Optimierungssysteme
17
problems festlegen. Ein Modell kann dann je nach Situation mit unterschiedlichen Daten gef¨ ullt und analysiert werden, um mit entsprechenden Methoden eine oder mehrere L¨ osungen zu generieren, die einem Entscheidungstr¨ager als Basis seiner oder ihrer Entscheidungen dienen. In den letzten Jahren gewinnen neben den Prognoseverfahren auch weitere datenbasierte Verfahren, wie Data Warehousing und Data Mining, an Bedeutung. Dabei existiert prim¨ ar kein Modell, sondern eine große Menge an Daten, aus denen strukturierte Informationen als Hilfe f¨ ur die Entscheidungsunterst¨ utzung gewonnen werden sollen. Beispielsweise k¨onnen im Rahmen von Data Mining aus Daten Muster erkannt werden. Ein typisches Beispiel sind Kassenbondaten im Einzelhandel, aus denen wertvolle Informationen u ¨ber das Kaufverhalten der Konsumenten gewonnen werden k¨onnen. 1.3.10 Weitere Techniken des Operations Research Im Rahmen des Operations Research werden neben den oben erw¨ahnten auch viele weitere Verfahren und Techniken behandelt. Beispiele ¨alterer etablierter Techniken sind dynamische Programmierung und stochastische Optimierung. Weil diese in Praxisanwendungen seltener genutzt werden, werden sie in der vorliegenden Arbeit nicht weiter behandelt.
1.4 Optimierungssysteme Neben der Simulation bilden Optimierungssysteme ohne Zweifel eine der wichtigsten Technologien des Operations Research in der Praxis. Unter Optimierungssystemen verstehen wir betriebliche Anwendungssysteme, die Optimierungsmodelle generieren und verarbeiten k¨ onnen und dabei durch formale L¨osungsmethoden Ergebnisse generieren, die eine m¨oglichst gute L¨osung im Sinne einer gegebenen Zielfunktion darstellen. Grunds¨atzlich k¨onnen auch mehrere Ziele betrachtet werden (Multiple-Criteria Decision Making). Optimierungssysteme werden i.d.R. als entscheidungsunterst¨ utzende Systeme implementiert. Dabei bestimmt der Entscheidungstr¨ager, in welchem Umfang die mathematisch optimale L¨ osung in der Praxis eingesetzt wird. Ein betriebliches Anwendungssystem ist ein computerbasiertes Informationsund Kommunikationssystem, das in einem Unternehmen eingesetzt werden kann, um dadurch die Erreichung der betrieblichen Ziele zu unterst¨ utzen. Ein Optimierungsmodell fasst die Eigenschaften von Variablen, Restriktionen und Zielfunktion(en) zusammen und legt die Abh¨angigkeiten und zul¨assigen Wertebereiche fest. Im mathematischen Sinne bedeutet Optimierung die Bestimmung eines Maximums oder Minimums einer Funktion, die auf einen (beschr¨ankten) Bereich definiert ist.
18
1 Optimierungssysteme als Bestandteil von OR/MS
Aus betriebswirtschaftlicher Sicht heißt die Zielfunktion oft Kostenminimierung bzw. Maximierung des Rohertrags oder Deckungsbeitrags. Auch wenn man in der Praxis oft mehrere Ziele gleichzeitig verfolgt, erfordert die klassische Optimierung eine Einigung auf eine eindeutige Zielfunktion. (Sp¨ater werden wir auch den Fall mit mehreren Zielen besprechen – auch dazu gibt es eine Menge an Theorie). Der zul¨ assige Entscheidungsspielraum wird durch die Restriktionen bestimmt, die von außen“ gegeben sind und w¨ahrend der ” Optimierung konstant bleiben. In der betrieblichen Praxis sind oft nicht alle Funktionen und Daten genau bekannt, die man f¨ ur eine Optimierung braucht. Weiterhin existieren bei Weitem nicht f¨ ur alle Praxisprobleme L¨ osungsmethoden, die eine optimale L¨osung in einer vertretbaren Zeit finden. In solchen F¨allen kann man approximative Modelle l¨ osen bzw. die gegebenen Modelle approximativ l¨osen. In unserem Optimierungsbegriff schließen wir solche F¨ alle auch mit ein, weil sie grunds¨atzlich f¨ ur Optimierungsmethoden (im mathematischen Sinne) geeignet sind. Optimierungssysteme sind betriebliche Anwendungssysteme, die Optimierungsmodelle generieren und verarbeiten k¨ onnen, und dabei durch formale Methoden Ergebnisse produzieren, die eine m¨ oglichst gute Handlungsanweisung im Sinne einer gegebenen Zielfunktion (oder manchmal mehrerer Zielfunktionen) darstellen. Optimierungssysteme sollten im Zusammenhang mit einem unternehmensweiten oder -¨ ubergreifenden IT-Konzept gestaltet werden, so dass sie nahtlos in die Informationssystem-Architektur hineinpassen. Beispielsweise ist die Anbindung an Datenbanken und Endbenutzerwerkzeugen heute selbstverst¨ andlich. Kleine Optimierungssysteme k¨ onnen oft von Endanwendern selbst auf dem PC z. B. mit Tabellenkalkulationsprogrammen entwickelt und benutzt werden. Die Gestaltung gr¨ oßerer Systeme erfordert i.d.R. ein interdisziplin¨ares Projekt, wobei OR-Spezialisten mit Fachspezialisten, Endanwendern, der Unternehmensleitung und oft mit externen Unternehmensberatern zusammenarbeiten. Nach Kl¨ arung der Projektziele und Rahmenbedingungen ist die Bildung eines korrekten mathematischen Modells ein wichtiger Schritt beim Aufbau eines Optimierungssystems. Die Modellierung wird oft als Kunst betrachtet, weil es keinen vorgefertigten Weg von der reellen Anwendung zu einem formalen Modell gibt. Es muss ein mathematisch-formal korrektes Optimierungsmodell konstruiert werden, • in dem mathematische Gleichungen, Ungleichungen, logische Abh¨angigkeiten etc. Beziehungen der realen Welt, wie Kapazit¨aten, technische Abh¨ angigkeiten, physikalische Gesetze und Marketing-Restriktionen, entsprechen, und • das durch geeignete Verfahren effizient l¨ osbar ist.
1.5 Mathematische Programmierung
19
Außer der M¨ oglichkeit, OR-L¨ osungsmethoden anzuwenden, ist ein Vorteil der mathematischen Modellbildung f¨ ur ein bestimmtes Problem, dass die notwendige Analyse ein besseres Verst¨ andnis der beteiligten Objekte bzw. des Problems selbst bringt. Durch die mathematische Modellbildung wird das Experimentieren auch mit unkonventionellen Parametern m¨oglich. Im Fach Wirtschaftsinformatik betrachtet man Optimierungssysteme als Bestandteil unternehmensinterner und/oder -¨ ubergreifenden Gesch¨aftsprozesse. Somit sind Themen wie Systemgestaltung, Software Engineering, Oberfl¨achengestaltung, Datenbanken und Projektmanagement in Operations ResearchAnwendungen auch sehr wichtig.
1.5 Mathematische Programmierung Es hat sich historisch entwickelt, dass f¨ ur die klassische Optimierung oft der Begriff Mathematische Programmierung genutzt wird. Der Begriff Programmierung“ wird seit ca. 1940 zur Beschreibung der Pla” nung von Abl¨ aufen und Prozessen in großen Organisationen benutzt. Die Planer oder Programmierer jener Zeit fanden heraus, dass sich der Grad der Plan- oder Prozesserf¨ ullung mittels Variablen (auch Entscheidungsvariablen genannt), deren Wert es zu bestimmen gilt, darstellen l¨asst. In einem n¨achsten Schritt entwarfen sie eine mathematische Beschreibung der Restriktionen, die den Planungsaufgaben zugrunde lagen. Diese mathematische Formulierung bestand aus einer Menge von Gleichungen und Ungleichungen, die die oben genannten Entscheidungsvariablen enthielten. Eine L¨osung, die all diese Restriktionen oder Nebenbedingungen erf¨ ullte, wurde als eine geeignete L¨osung der Planungsaufgabe angesehen. Die Erfahrung zeigte jedoch schon bald, dass es sehr schwer war, komplexe Prozesse durch die bloße Formulierung von Nebenbedingungen abzubilden. Gab es zu wenige Bedingungen, so trat oftmals eine nicht unbedeutende Anzahl von minderwertigen L¨ osungen auf; gab es hingegen zu viele Nebenbedingungen, wurden eigentlich w¨ unschenswerte L¨osungen ausgeschlossen. Im schlimmsten Fall waren L¨ osungen des Problems gar nicht mehr m¨oglich. Der Erfolg der mathematischen Programmierung hing letztlich von einem inneren Schl¨ ussel ab, der es erm¨ oglichte, diese Schwierigkeit zu umgehen. Dieser Schl¨ ussel bestand darin, außer den Nebenbedingungen eine die Entscheidungsvariablen enthaltende Zielfunktion, wie Kosten oder Profit, zu formulieren. Mit deren Hilfe konnte man nun entscheiden, ob eine gefundene L¨osung einer anderen u ¨berlegen war oder nicht. Es machte nun auch nichts mehr aus, dass viele verschiedene L¨ osungen den Nebenbedingungen gen¨ ugten, da man mit der Zielfunktion ein Hilfsmittel zur Bewertung und zum Vergleich der einzelnen L¨ osungen hatte. Man brauchte nur noch diejenige L¨osung zu finden, welche den Zielfunktionswert je nach Problemstellung entweder maximierte oder minimierte.
20
1 Optimierungssysteme als Bestandteil von OR/MS
Der Begriff Mathematische Programmierung“ wird zur Beschreibung ” der Maximierung oder Minimierung einer Zielfunktion von Entscheidungsvariablen verwandt, wobei die Variablen bestimmten Nebenbedingungen unterliegen. Die oben genannten exakten Optimierungstechnologien (lineare, ganzzahlige, gemischt-ganzzahlige, nichtlineare und netzwerkbasierte Optimierung) geh¨ oren somit alle zur mathematischen Programmierung. Sie sind exakte Optimierungsmethoden, weil sie grunds¨ atzlich (nach einer gen¨ ugend langen Laufzeit) eine exakt optimale L¨ osung finden. Im Gegensatz dazu sind Heuristiken und Metaheuristiken keine exakten Verfahren. Alle anwendbaren Methoden zur L¨ osung gr¨ oßerer linearer Programme erfordern einen Computer. Aus diesem Grund begann die eigentliche Erforschung der linearen Programmierung erst ab Ende der 40er Jahre, als klar war, dass den Wissenschaftlern in Zukunft Computer zur Verf¨ ugung stehen w¨ urden. Die erste, mit einem Computer rechenbare Methode zur L¨osung linearer Programme, der Simplex-Algorithmus, wurde in dieser Zeit entwickelt und war die Grundlage immer effektiver werdender Implementierungen innerhalb des folgenden Jahrzehnts. Gleichzeitig verursachte die Entwicklung der Computer einen vertrauteren Umgang mit dem Begriff des Programmierens.
1.6 Anwendungen in der Betriebswirtschaft Weil das Prinzip der mathematischen Optimierung sehr allgemein ist, kann sie in vielen unterschiedlichen Branchen und Prozessen eingesetzt werden. Im Folgenden werden einige typische betriebliche Anwendungen (sowohl branchenals auch funktionsbezogen) der mathematischen Optimierung kurz dargestellt. Prozessindustrie Lineare Optimierungsmodelle entstehen sinngem¨aß in solchen Bereichen, in denen es um kontinuierliche Variablen geht, die also beliebige Werte annehmen k¨onnen. Typische Anwendungen sind Mischungsprobleme, in denen nach optimalen Mischungsverh¨ altnissen unter gegebenen Regeln und Mengenrestriktionen gesucht wird. Solche Aufgaben findet man oft in der Prozessindustrie, in der die Endprodukte aus mehreren Rohstoffen unter Einbehaltung zahlreicher Regeln und Restriktionen entstehen. ¨ Olraffinerien sind traditionell Großanwender von Mischungsmodellen, die oft mehrere Zehntausende von Variablen und Restriktionen beinhalten k¨onnen. Solche großen Modelle k¨ onnen mit Hilfe heutiger Optimierungssoftware und Rechner praktisch immer optimal gel¨ ost werden, jedenfalls wenn sie keine ganzzahligen Variablen beinhalten.
1.6 Anwendungen in der Betriebswirtschaft
21
Bei der Mineral¨ olindustrie findet man somit vielseitige Entscheidungsprobleme, wie Roh¨ oleinkaufs-, Produkt- und Transportplanung, die entsprechend als Mischungs-, Transport-, Distributions-, Ressourcenzuordnungs- und Marketingprobleme formuliert und gel¨ ost werden. Im Allgemeinen hat die chemische Industrie ¨ ahnliche Probleme zu l¨ osen. Auch in der Lebensmittelindustrie sind Mischungsprobleme typische LP-Anwendungen: z. B. Mischungen in Mar¨ Eis, Wurst, die gesundheitlichen Bestimmungen und Geschmacksgarine, Ol, restriktionen unterliegen. Produktionsplanung im Allgemeinen Neben der Prozessindustrie entstehen in der Auftragsproduktion naturgem¨aß oft komplexe Optimierungsprobleme, die mit Technologien der mathematischen Programmierung modelliert und gel¨ ost werden k¨onnen. Beispiele solcher Modelle sind Product Mix, Losgr¨ oßenplanung und Reihenfolgeplanung. Nach der Fertigstellung werden Produkte zu Abnehmern transportiert, wobei oft komplexe Tourenplanungsprobleme zu l¨ osen sind. F¨ ur die Standardaufgaben der Produktionsplanung und -steuerung steht heute immer mehr ausgereifte Standardsoftware zur Verf¨ ugung. Viele Planungsund Optimierungsmodelle sind im Rahmen von ERP (Enterprise Resource Planning) Systemen realisiert worden. Supply Chain Management Im Bereich der Produktion liegt der Fokus heute nicht mehr auf der Optimierung der Prozesse einzelner Unternehmen, sondern vielmehr bei der Optimierung gesamter Lieferketten, also Supply Chains“. ” Die Optimierung einer Lieferkette umfasst gleichzeitig mehrere Teilziele, die grunds¨ atzlich vom h¨ ochstm¨ oglichen Nutzen des Endkunden ausgehen. Solche Ziele sind z. B. Steigerung der Kundenzufriedenheit durch bedarfsgerech¨ te Auslieferung, schnellere Anpassung an Anderungen des Marktes, Vermeidung von Out-Of-Stock“-Situationen, Senkung der Best¨ande in der Logis” tikkette und eine damit verbundene Senkung der Kosten f¨ ur das Vorhalten von Best¨ anden sowie Verk¨ urzung der Auftragsdurchlaufzeiten im Zeitwettbewerb. Wegen der Komplexit¨ at k¨ onnen nicht alle Ziele gleichzeitig in einem Gesamtmodell ber¨ ucksichtigt werden. Es gibt jedoch Systeme auf dem Markt, die wohldefinierte“ Teilsysteme modellieren und mit Optimierungstechniken ” l¨osen k¨ onnen. Aufgaben des Supply-Chain-Managements haben in unterschiedlichen Liefer¨ ketten und Branchen großen Ahnlichkeiten, so dass daf¨ ur auch Standardsoftugbar ist. In den letzten Jahren werden dabei immer mehr quantiware verf¨ tative Modelle des Operations Research im Rahmen von Advanced Planning Systems (APS) eingesetzt (vgl. Abb. 1.5).
22
1 Optimierungssysteme als Bestandteil von OR/MS Procurement Procurement
Production
Distribution Distribution
long -term
StrategicNetwork NetworkDesign Design Strategic
mid -term
Supply Supply Network Planning
short - term
External External Procurement Procurement
Production Planning / Detailed Scheduling Scheduling
Transportation Transportation Planning / Vehicle Scheduling Scheduling
Sales Sales
Demand Demand Planning Planning
Order Order Fulfilment Fulfilment and and ATP/ /CTP CTP ATP
Abb. 1.5. Bestandteile eines Advanced Planning Systems nach [G¨ unther 2005]
Verschnitt und Verpackung Bei Verschnittproblemen (trim loss problems) geht es darum, wie bestellte Breiten aus einer Papierrolle (1-dimensional) oder Fenstergr¨oßen aus Glasplatten (2-dimensional) ausgeschnitten werden sollen, so dass der Verschnitt (der nicht gebraucht werden kann) minimiert wird. Eine analoge kombinatorische Problemstellung ergibt sich bei Packungsproblemen, in denen ein gegebener Raum mit 2- oder 3-dimensionalen Gegenst¨ anden m¨ oglichst voll gepackt werden soll. Verkehr und Transport Heutige Verkehrs- und Transportnetze operieren i.d.R. in sehr komplexen Netzwerken, die ohne Optimierungsmethoden nicht effizient steuerbar sind. Fluggesellschaften sind traditionelle Großanwender von Operations ResearchTechniken. Optimierungssysteme haben in Airlines Millionen, wenn nicht Milliarden Euro oder Dollar eingespart. Wichtige Optimierungsaufgaben sind Netzplanung, Flottenzuordnung sowie Umlaufplanung f¨ ur Flugzeuge und Besatzungseinsatzplanung. Normalerweise sollen Kosten unter Ber¨ ucksichtigung vielf¨ altiger Regeln und Restriktionen minimiert werden. Viele der schwierigsten Optimierungsmodelle, sind in großen Fluggesellschaften entstanden. Auch Busuml¨ aufe im st¨ adtischen und regionalen Busverkehr k¨onnen kostenminimal durch Optimierungsmodelle bestimmt werden. Im Bahnverkehr entstehen ¨ ahnliche Optimierungsaufgaben. Im Individualverkehr wird fast t¨aglich Routenoptimierung betrieben, wenn auch nicht immer mit mathematischen Algorithmen. Modere Navigationssysteme m¨ ussen Touren optimieren, wobei unterschiedliche Zielkriterien, wie Entfernung, Straßenart, Fahrzeit etc. ber¨ ucksichtigt werden sollten.
1.6 Anwendungen in der Betriebswirtschaft
23
Im Frachtverkehr auf der Straße wie auch in multimodalen (aus mehreren Verkehrsarten bestehenden) Netzen kommen traditionell seit Jahrzehnten Optimierungsverfahren, allerdings meistens Heuristiken, zum Einsatz. Das Ziel ist heute, die sich dynamisch a ¨ndernde Verkehrssituation in Tourenplanungs- und Navigationssystemen zu ber¨ ucksichtigen. Heute arbeiten viele Forscher im Bereich der Online-Optimierung, wobei das zu l¨osende Optimierungsproblem sich kontinuierlich in der dynamischen Verkehrssituation a ¨ndert. Beispielsweise ist der schnellste Weg von der aktuellen Verkehrsdichte, insbesondere von der Stausituation, abh¨ angig. Energie- und Wasserproduktion Ein Stromnetz wird meistens von mehreren Energiequellen versorgt, die unterschiedliche Kapazit¨ aten und Kostenstrukturen aufweisen. Die Last variiert stark nach Tageszeit, und die Produktion muss danach angepasst werden. Dabei soll die Produktion m¨ oglichst kosteng¨ unstig erfolgen. Ein weiteres Problem ist die Bestimmung von Energietarifen, die den Produktionskosten m¨oglichst gerecht entsprechen. Ferner kann gereinigtes Wasser im Gegensatz zu Strom gespeichert werden. Wann und wo Wasser gereinigt werden muss, um den Bedarf kostenminimal zu befriedigen, kann als ein netzwerkorientiertes Optimierungsproblem formuliert werden. Personaleinsatzplanung Unter Ressourceneinsatzplanung versteht man nicht nur die Planung von Maschinen bei Produktionsfirmen, sondern auch von Personal, das eine wichtige meist teure Ressource bei vielen Unternehmen darstellt. Bei der Planung von Personal und dessen Einsatz k¨ onnen sowohl langfristige Personalplanungsentscheidungen (wie entwickelt sich der Personalbestand in Unternehmensbereichen), als auch kurz- und mittelfristige Einsatzplanungsprobleme (w¨ ochentliche und monatliche Pl¨ ane) als Optimierungsprobleme gel¨ost werden. Finanzplanung Eine ¨ altere Anwendung der mathematischen Programmierung ist die Portfolioanalyse. Ein bestimmter Geldbetrag, der investiert wird, soll m¨oglichst optimal an Aktien verteilt werden. Als Ziel sollte der Erwartungswert der Ertr¨ age maximiert, aber die Varianz der Ertr¨ age minimiert werden. Das Modell wurde als ein quadratisches Optimierungsmodell formuliert (die Zielfunktion beinhaltet quadratische Terme, wie x21 ). Auch heute sind OR-Modelle in der Finanzwirtschaft sehr wichtig, auch wenn sie nicht immer unter dem Begriff Operations Research entwickelt wurden.
24
1 Optimierungssysteme als Bestandteil von OR/MS
Revenue Management Beim Revenue Management geht es darum, den Gesamterl¨os beim Verkauf von verderblichen G¨ utern durch eine differenzierte und dynamische Preisgestaltung zu maximieren. Erste Anwender des Revenue Management (auch Yield Management genannt) waren einige Fluggesellschaften in den 70er Jahren. Heute sind bereits viele Reiseveranstalter, Mietwagenanbieter und Hotels Nutzer von Revenue Management. Es geht darum, durch den Einsatz von Methoden des Marketing und insbesondere Operations Research zus¨atzliche Erl¨ ospotentiale m¨ oglichst weitgehend auszunutzen. Beispielsweise beziffert die Lufthansa den im Jahr 1998 durch die Einf¨ uhrung von Revenue Management erzielten Mehrerl¨ os auf ca. 1,4 Mrd. DM, was einer ¨ Steigerung um ca. 5% entspricht. Ahnliche Gr¨ oßenordnungen finden sich auch bei anderen Fluggesellschaften. Gesundheitswesen Im Gesundheitswesen m¨ ussen viele Arten von knappen Ressourcen optimal ¨ zugeordnet werden: Arbeitszeiten von Arzten und Krankenschwestern, Benutzung von Operationss¨ alen und Ger¨ aten wie R¨ontgen, Computertomographie etc. Ein wichtiger Aspekt ist die Ermittlung von zuverl¨assigen Daten und Verteilungen (z. B. wie lange dauert eine bestimmte Operation). Medien Das Problem, wie ein Werbebudget einer Firma zwischen verschiedenen Medien, z. B. Zeitungen, Fernsehen, Radio, Direktwerbung etc., verteilt werden soll, kann mit mathematischen Optimierungsmethoden gel¨ost werden. Ein kommerzieller Fernsehsender kann auch die Sendezeiten von Werbespots innerhalb von Programmpausen so optimieren, dass der Ertrag maximiert wird. Landwirtschaft In der Landwirtschaft findet man sowohl Mischungsprobleme, wie Nahrungsmittelplanung von Tieren, als auch Distributions- und Tourenplanungsmodelle, z. B. f¨ ur das Sammeln von Milch und weiteren Agrarprodukten. Weitere Optimierungsanwendungen in dieser Branche stellen Probleme bei der Produktions- und Investitionsplanung dar, z. B. welche Pflanzen wo angepflanzt werden sollen oder wie die Produktion expandiert werden soll.
1.7 Praxisbeispiele
25
1.7 Praxisbeispiele 1.7.1 Monte-Carlo-Simulation bei Multiprofil Quelle: Projekt IT-Consulting, Universit¨ at Paderborn, DS&OR Lab, 2001 Die Firma Multiprofil in Verl bei Paderborn ist ein mittelst¨andischer Hersteller von Holzprofilen f¨ ur die M¨ obelindustrie. Vor einigen Jahren stand im Unternehmen eine IT-Investition bevor, weil das damalige ERP-System nicht mehr allen Anforderungen – insbesondere bei einem prognostizierten, kontinuierlichen Wachstum – gen¨ ugte. Das studentische IT-Consulting-Team der Universit¨ at Paderborn w¨ ahlte aus einer hohen Anbieterzahl einige aus, welche die wichtigsten Anforderungen erf¨ ullten. Die Gesch¨afts- und IT-Leitung musste nun die Auswahlentscheidung treffen. Eine IT-Investition f¨ ur die Zukunft muss praktisch immer unter Unsicherheiten getroffen werden, da viele Aspekte nicht genau bekannt und von externen Faktoren abh¨ angig sind. Das IT-Consulting-Team entwickelte daher einen Monte-Carlo-Simulator, der in der Lage ist, die Zukunft unter Ber¨ ucksichtigung der stochastischen Verteilungen hunderte Male durchzuspielen, um somit ein differenziertes Bild u ¨ber die Vor- und Nachteile sowie das Risiko der einzelnen Entscheidungen zu bekommen. Der Monte-Carlo-Simulator wurde mit Hilfe des Excel-basierten Systems XLSim der Firma AnalyCorp umgesetzt [Savage 2003]. http://www.analycorp.com
1.7.2 Call-Center-Simulation bei einer Direktbank Quelle: [Zapf u. Grasemann 2001] Im Call-Center einer Direktbank gehen im Durchschnitt 200 Anrufe pro Stunde ein. Davon brauchen 60 Prozent der Kunden allgemeine Informationen zum Unternehmen oder zur gesamten Produktpalette, wollen einfache Bank¨ gesch¨ afte t¨ atigen oder Anderungen der Stammdaten veranlassen. Solche Standardanfragen werden von Generalisten mit allgemeinem Fachwissen im First Level bearbeitet. Die anderen 40 Prozent der Anrufe sind Spezialanfragen, auf die der Kunde eine ausf¨ uhrliche Beratung ben¨otigt oder eine Reklamation weitergeben will. Diese Spezialanfragen werden an Mitarbeiter mit fundiertem Fachwissen (Spezialisten) im Second Level weitergeleitet. Die Kunden verwenden zus¨ atzlich zum Telefon auch Fax und E-Mail, um ihre Anfragen zu stellen, und erwarten bei jedem Medium eine m¨oglichst rasche Antwort. Da die Spezialisten mehr Erfahrung im Beantworten schriftlicher Anfragen besitzen als die Generalisten, werden alle E-Mails und Faxanfragen im Second Level bearbeitet. Im Normalbetrieb“ arbeitet das Call-Center mit ” ausreichender Effizienz. Das Servicelevel liegt bei 90/20 (90 Prozent der Anrufe innerhalb von 20 Sekunden angenommen). Schriftliche Anfragen k¨onnen
26
1 Optimierungssysteme als Bestandteil von OR/MS
in der Regel innerhalb von 15 Minuten bearbeitet werden. Soweit w¨are alles in Ordnung, wenn nicht zeitweilig Spitzenlasten von bis zu 300 Anfragen pro Stunde im Call-Center eingehen w¨ urden. Die Auslastung der Mitarbeiter steigt dann bis weit u ¨ber 90 Prozent, und der Servicelevel sinkt auf 45/20. Die Beschwerden der Kunden h¨ aufen sich. Da es sich hierbei um tempor¨are ¨ Uberlastzeiten handelt, sollen aus Kostengr¨ unden keine zus¨atzlichen Mitarbeiter eingestellt werden, sondern durch eine andere interne Prozessstruktur die Lastspitzen abgefangen werden. Die Bank f¨ uhrte ein Projekt der diskreten Simulation durch, um Verbesserungsvorschl¨ age bei der Organisation des Call-Centers zu evaluieren. Das Ergebnis war, dass Generalisten und Spezialisten in einer Gruppe zusammengefasst werden sollten, d. h., auch Spezialisten werden f¨ ur die Bearbeitung von Standardanfragen eingesetzt. Allerdings wird eine Anfrage erst dann an einen Spezialisten weitergeleitet, wenn kein Generalist verf¨ ugbar ist. Somit kann durch mehr Mitarbeiter im First Level eine bessere Erreichbarkeit garantiert ¨ werden. Ohne Simulation war die Uberlegenheit dieser L¨osung gegen¨ uber anderen Reorganisationsm¨ oglichkeiten den Beteiligten nicht ersichtlich. 1.7.3 SCM-Planungstechniken bei Fischer-Ski Quelle: [Linecker u. Schulz 2002] Die ¨ osterreichische Firma Fischer (http://www.fischer-ski.com) ist 2004 der weltweit gr¨ oßte Produzent von Alpin- und Langlaufskiern sowie ein bedeutender Hersteller von Tennisschl¨ agern. Fischer stellt etwa 1,45 Mio. Paar Skier j¨ahrlich her, davon 900.000 im Bereich Alpinski und 550.000 Paar Langlaufskier. Die Skiproduktion l¨ auft im Wesentlichen in drei Stufen: In der ersten Stufe, der Vorfertigung, werden die einzelnen Bestandteile des Skis vorbereitet, d. h. es werden Lauffl¨ achen zugeschnitten, die Deckfolien mit dem entsprechenden Design bedruckt und die Keile hergestellt. Im anschließenden Pressenarbeitsgang werden die Lauffl¨ achen, Keile und Deckfolien in einer Presse verpresst. In der dritten Arbeitsphase wird der Rohski noch geschliffen und mit Anbauteilen versehen. Alle drei Produktionsschritte haben gewisse Beschr¨ankungen, so dass die Produktion entsprechende Randbedingungen und Restriktionen ber¨ ucksichtigen muss. Diese ergeben sich aus der Kapazit¨ at der Anlagen einzelner Produktionsstufen sowie Beschr¨ ankungen bei der Zulieferung von Anbauteilen. Die gesamte Produktion des Jahresbedarfs dauert ca. 12 Monate und ist zu Saisonbeginn Oktober/November bereits abgeschlossen. Weil die Entwicklung neuer Modelle ebenfalls 12 Monate dauert, wird mit einer neuen Kollektion bereits zwei Jahre vor dem Verkaufsbeginn begonnen. Problem dabei ist, dass der Absatz noch lange nicht bekannt ist und nur ungenau prognostiziert werden kann. Erst wenn 1/3 eines Jahresbedarfs produziert worden ist, sind die Absatzzahlen einzelner Regionen bekannt.
1.7 Praxisbeispiele
27
Neben den schrittweise aktualisierten Absatzprognosen m¨ ussen bei der Produktion viele Nebenbedingungen ber¨ ucksichtigt werden. Beispielsweise k¨onnen auf einigen zusammengeh¨ origen Pressen stets nur Skier einer einzigen Breite hergestellt werden. Der Wechsel zu einer anderen Breite hat entsprechend f¨ ur alle diese Pressen gleichzeitig zu erfolgen.
PG1_Ried_Alpin
Bedarf_AT Ausf_LL_Ried
PG2_Ried_LL
Bedarf_DE
Prod_Ried_LL Ausf_Alpin_Muka
PG6_Muka_Alpin
Prod_Muka_Alpin Bedarf_CH
PG7_Muka_Alpin Vorfertigung
Ausfert_Mat.
ZMB_Langlauf_Ri
ZMB_Muka_Alpin
Abb. 1.6. Ausschnitt des Produktionsprozesses bei Fischer
Fischer setzte sich vor einigen Jahren zum Ziel, ein Planungssystem zu implementieren, das alle Rahmenbedingungen ber¨ ucksichtigt und die Firma bei der Erarbeitung m¨ oglichst optimaler Produktionspl¨ane unterst¨ utzt. Die Basisdaten, wie Auftr¨ age und Produktionspl¨ane werden bei Fischer in einem ERP (Enterprise Resource Planning) -System gespeichert und verarbeitet. Um den mehrstufigen Prozess ad¨ aquat abbilden zu k¨onnen, ist jedoch ein SCM (Supply Chain Management) -System erforderlich. Zwischen beiden Systemen ist eine Schnittstelle zum Datenaustausch notwendig. F¨ ur diese Aufgabe wurde von Fischer das Produkt J.D. Edwards Strategic Network Optimization ausgew¨ ahlt, welches mit dem ERP-System ebenfalls der Firma J.D. Edwards gemeinsam eingef¨ uhrt wurde. (Nach diesem Projekt wurde J. D. Edwards von Peoplesoft aufgekauft.) Beim eingef¨ uhrten SCM-System handelt es sich um eine Modul aus der APS (Advanced Planning and Scheduling) -Suite. Dieses Modul benutzt gemischtganzzahlige Optimierung zur Bestimmung einer optimalen L¨osung. Dies geschieht mit dem Optimierer ILOG CPLEX, der in der Software integriert (dem Benutzer unsichtbar) ist. Die Eingabedaten werden dabei aus einer Unternehmensdatenbank automatisch u ¨bernommen; die Ausgabe erscheint unter einer benutzerfreundlichen grafischen Oberfl¨ ache. Abb. 1.6 stellt die Bestandteile des Optimierungsmodells in aggregierter Form dar. Neben dem CPLEX-Optimierer werden unterst¨ utzend eine Reihe von verschiedenen Heuristiken eingesetzt, die insbesondere Nichtlinearit¨aten f¨ ur eine Reihe von verschiedenen F¨ allen abfangen, wie sie z. B. f¨ ur die Modellierung von Mindestmengen in der Produktion auftreten. Weitere Anwendungsf¨alle
28
1 Optimierungssysteme als Bestandteil von OR/MS
f¨ ur Heuristiken sind z. B. Batchgr¨ oßen, Single Sourcing oder Capital Asset Management. 1.7.4 Zeitschriften-Allokation bei Time Inc. Quelle: [Koschat et al. 2003] Das sogenannte Newsboy- oder Newsvendor-Problem ist bereits lange als An¨ wendung und Ubungsaufgabe des Operations Research bekannt. Es geht darum, wie viele Zeitungen pro Tag ein Zeitungsverk¨aufer bestellen sollte, wenn die Absatzmenge stochastischen Schwankungen unterliegt. Wenn er zu wenig bestellt, geht Absatz verloren. Wenn er zu viel bestellt, muss er die nicht verkauften Zeitungen zur¨ uckgeben, was mit Kosten verbunden ist. Dieses Problem bildet die Basis f¨ ur die stochastische Lagerhaltungstheorie, die von ORForschern bereits lange untersucht wird. Der US-amerikanische Medienkonzern Time Inc. publiziert Zeitschriften wie People, Time, Money, Fortune, Parenting, Life, Sunset etc., die in den USA u ¨ber die existierenden ca. 200.000 Verkaufsstellen vertrieben werden. Die Anzahl der produzierten und verkauften Menge jeder Zeitschriftausgabe wird in einem dreistufigen Prozess wie folgt bestimmt: • Basierend auf Nachfragedaten aus der Vergangenheit werden die erwarteten Verkaufszahlen von Einzelh¨ andlern bestimmt, die von Großh¨andlern beliefert werden. • Danach wird die Verteilung zwischen Großh¨andlern festgelegt; und • zuletzt die gesamte Produktionsmenge pro Ausgabe. Die jeweiligen Zahlen werden in einem Verhandlungsprozess zwischen Time und den Großh¨ andlern sowie jedem Großh¨ andler mit seinen Einzelh¨andlern festgelegt. Das Problem ist nun, eine aus Sicht des Time-Konzerns m¨oglichst optimale Allokation jeder Zeitschriftenausgabe zu bestimmen, so dass der erzielte Gesamtertrag maximiert wird. In der Zeitschriftenbranche ist es u ¨blich, dass unverkaufte Hefte kostenlos zur¨ uckgenommen werden, so dass einem Zeitungsh¨andler nur Lager- und Handlingkosten entstehen. Der Medienkonzern hat f¨ ur unverkaufte Zeitschriften die Produktions- und Transportkosten zu tragen. Die Bestimmung der jeweiligen Produktions- und Distributionsmengen ist ein schwieriger Prozess, weil die w¨ ochentlichen Verkaufsmengen nicht exakt bekannt sind und Schwankungen unterliegen. Im Jahr 1998 startete Time Inc. ein Projekt zur Verbesserung der Allokation von Zeitschriften in Produktion sowie zwischen Groß- und Einzelh¨andlern. Zielsetzung war es, durch Nutzung von mathematisch-formalen Methoden eine Verbesserung des erwarteten Gesamtertrags zu erreichen. F¨ ur jede der drei Entscheidungsstufen (s. oben) wurden mathematische, insbesondere stochastische Methoden entwickelt und mit Hilfe von leistungsf¨ahigen Computern umgesetzt. Die Firmenleitung stellte das System allen Großh¨andlern zur
1.7 Praxisbeispiele
29
Verf¨ ugung und u ¨berzeugte sie von der dadurch m¨oglichen Ertragsverbesserung. Die Allokation zwischen Einzelh¨ andlern basiert auf der kumulativen Wahrscheinlichkeitsfunktion, d. h. f¨ ur jede m¨ ogliche gelieferte Anzahl wird die Wahrscheinlichkeit daf¨ ur ermittelt, dass genau diese Anzahl Zeitungen verkauft (besser: nachgefragt) wird. Ist der kumulative Wert z. B. 0,8 f¨ ur 200 St¨ uck einer Zeitschriftenausgabe, ist die Wahrscheinlichkeit 0,8, dass die verkaufte Anzahl dieser Ausgabe kleiner oder gleich 200 ist. Diese Verteilung konnte mit Hilfe von existierenden Verkaufsdatenreihen aus der Vergangenheit sehr genau bestimmt werden. Durch eine statistische Analyse wurde festgestellt, dass die Wahrscheinlichkeitsverteilung der Verkaufsmenge eines Einzelh¨andlers nahezu normalverteilt ist sowie die optimale Zeitschriftenanzahl vom Median der Nachfrage abh¨angt. Durch diese Funktion kann jeder Großh¨ andler die optimale Allokation zwischen Einzelh¨ andlern bestimmen. (Die Großh¨ andler mussten aber zuerst von ¨ der Uberlegenheit dieser Methode gegen¨ uber Daumenregeln“ u ¨berzeugt wer” den.) Die Allokation zwischen Time Inc. und den Großh¨ andlern basiert ebenfalls auf einer statistischen Analyse, wobei die marginale Effizienz (Wahrscheinlichkeit in Abh¨ angigkeit von der gelieferten Menge, dass das letzte gelieferte Exemplar verkauft wird) eine zentrale Rolle spielt. Dieser Prozess kann nicht vollst¨ andig formalisiert werden, da erstens die marginale Effizienz nicht exakt ermittelbar ist, und zweitens Erfahrungswissen der Manager, z. B. u ¨ber saisonale Schwankungen, den Inhalt einer speziellen Ausgabe, die Platzierung der Hefte im Zeitungsladen etc. ber¨ ucksichtigt werden muss. Letztlich muss die insgesamt produzierte Menge jeder Zeitungsausgabe bestimmt werden. Auch dies basiert auf der marginalen Effizienz, die dabei f¨ ur die gesamte Produktionsmenge betrachtet wird. In einem mehrstufigen Prozess wurden f¨ ur jede der drei Stufen die entwickelten quantitativen Methoden implementiert und die erforderlichen Parameter in langen Berechnungen festgelegt. Das Ergebnis war eine deutliche Verbesserung der Zeitschriftenallokation gegen¨ uber der vorherigen auf Sch¨atzungen und Erfahrungswissen basierenden Allokation. Frau Diana DeFrate, Vice President of Finance and Strategic Planning, best¨ atigt, dass der Time-Konzern durch dieses Projekt $3,5 Mio. j¨ahrlich einspart. 1.7.5 Weitere Praxisbeispiele Weitere Praxisbeispiele und Fallstudien befinden sich im Internet. http://www.vorms.org.
30
1 Optimierungssysteme als Bestandteil von OR/MS
1.8 Was sollte ich gelernt haben? Modell Was ist ein Modell in Operations Research? Wie unterscheiden sich prim¨ar modellbasierte und prim¨ ar datenbasierte Methoden der Entscheidungsunterst¨ utzung? Lineare Optimierung Welche Charakteristika haben Modelle der linearen Optimierung? Exakte Optimierungsmethoden vs. Heuristiken und Metaheuristiken Wie unterscheiden sich exakte Optimierungsmethoden von Heuristiken? Welchen grunds¨ atzlichen Unterschied gibt es zwischen Heuristiken und Metaheuristiken? Simulation Wie definiert man Simulation in Operations Research? Welche Arten unterscheidet man? Wann sollte man Simulation, wann mathematische Optimierung zur Entscheidungsunterst¨ utzung einsetzen? Datenbasierte Verfahren zur Entscheidungsunterst¨ utzung Welche Verfahren, die prim¨ ar auf einer (großen) Menge an verf¨ ugbaren Daten basieren, werden in der Entscheidungsunterst¨ utzung genutzt? Welche quantitativen Prognoseverfahren k¨ onnen f¨ ur die Prognose eingesetzt werden? Optimierungssysteme Was ist ein Optimierungssystem in Wirtschaftsinformatik/Operations Research? Mathematische Programmierung Was versteht man unter der mathematischen Programmierung? Welche Arten unterscheidet man?
2 Lineare Optimierungsmodelle
Lernziele: • • • • •
Kenntnisse u ¨ber den Aufbau von linearen Optimierungsmodellen Verst¨ andnis dar¨ uber, warum lineare Modelle g¨ unstig sind L¨ osungsmethoden f¨ ur lineare Modelle, insbesondere die Simplex-Methode Verst¨ andnis u ¨ber die betriebswirtschaftliche Interpretation Grenzen der Sensitivit¨ atsanalyse
Online-Lernmodule: • Grafische L¨ osung eines LP • Der Simplex-Algorithmus ¨ • Okonomische Interpretation http://www.vorms.org
2.1 Aufbau von linearen Modellen Die lineare Optimierung (lineare Programmierung, LP) betrachtet Optimierungsmodelle, bei denen sowohl die Zielfunktion als auch alle Restriktionen Linearkombinationen der Variablen darstellen, also keine nichtlinearen Terme wie z. B. x21 oder ex1 oder x1 · x2 beinhalten. Lineare Modelle sind vor allem deswegen sehr wichtig, weil es f¨ ur sie gute L¨ osungsmethoden und hochentwickelte Standardsoftware gibt. Bis auf wenige Ausnahmen k¨ onnen mit heutigen Optimierungstechnologien alle praxisrelevanten linearen Optimierungsmodelle in vertretbarer Zeit optimal gel¨ost werden. Dies stimmt hingegen keineswegs f¨ ur ganzzahlige, gemischt-ganzzahlige oder nichtlineare Modelle.
32
2 Lineare Optimierungsmodelle
Ein Optimierungsproblem der linearen Optimierung besteht somit aus den folgenden Komponenten: • Entscheidungsvariablen, die kontinuierliche Werte zwischen gegebenen Schranken annehmen k¨ onnen • einer zu maximierenden oder zu minimierenden linearen Zielfunktion • linearen Restriktionen, die vom Typ ≤, ≥ oder = sind Bevor ein Optimierungsmodell aufgestellt werden kann, m¨ ussen diese drei Komponenten genau festgelegt werden. Entscheidungsvariablen Die Entscheidungsvariablen entsprechen dem L¨osungsraum, sprich Entscheidungsfreiraum in der gegebenen Entscheidungssituation. Aus den im letzten Kapitel geschilderten Beispielen ist ersichtlich, dass Entscheidungsvariablen beispielsweise Produktionsmengen einzelner Produkte oder Varianten, Mengen an Zutaten in Mischungen oder Fl¨ achen in der landwirtschaftlichen Produktion darstellen k¨ onnen. Es k¨ onnen auch viele andere Gr¨oßen sein, die der Entscheidungstr¨ ager in eindeutig gegebenen Grenzen frei bestimmen kann. Die Entscheidung sollte aber so getroffen werden, dass sie im Sinne der gegebenen Zielfunktion m¨ oglichst optimal ist. Im Allgemeinen werden diese Variablen durch ur alle j ∈ 1,...,n bezeichnet. xj , so dass lj ≤ xj ≤ ui f¨ Das heißt, es gibt n Variablen, die jeweils eine (reelle) Untergrenze lj und onnen auch nach unten oder nach oben Obergrenze uj haben. Die Variablen k¨ unbeschr¨ ankt sein. In dem Fall ist die Unter- bzw. Obergrenze gleich −∞ oder +∞. Zielfunktion Die optimale Entscheidung ist nat¨ urlich von der Zielfunktion abh¨angig und optimal nur im Hinblick auf die gegebene Zielfunktion. Bei der linearen Optimierung ist die Zielfunktion eine Linearkombination der Variablen und soll entweder minimiert oder maximiert werden. Typische Zielfunktionen sind z. B. Ertrags-, Deckungsbeitrags- oder Gewinnmaximierung, Kostenminimierung, Maximierung des ROI oder des NPV etc. Oft m¨ ochte man in der Praxis mehrere Ziele ber¨ ucksichtigen, aber die lineare Optimierung erlaubt nur eine Zielfunktion. Dann kann f¨ ur eine der gew¨ unschten Funktionen die h¨ ochste Priorit¨ at gesetzt werden, nach der dann optimiert wird, oder es wird eine (Linear-) Kombination mehrerer Zielfunktionen gew¨ ahlt. Meistens k¨ onnen nicht alle Aspekte in einem formalen Modell dargestellt werden. Somit bietet die optimale L¨osung einen Vorschlag, der unter Ber¨ ucksichtigung weiterer praktischer Aspekte modifiziert werden kann.
2.2 Grafische L¨ osung eines 2-dimensionalen LP-Modells
33
Die Zielfunktion wird im Allgemeinen als Minimiere bzw. maximiere z =
n
cj xj
j=1
dargestellt. Restriktionen Restriktionen k¨ onnen in der linearen Optimierung als Ungleichungen oder Gleichungen dargestellt werden, wobei die linke Seite eine Linearkombination der Entscheidungsvariablen und die rechte Seite eine reelle Konstante ist. Typische Restriktionen sind z. B. Kapazit¨atsgrenzen in der Produktion, Verf¨ ugbarkeit der Rohmaterialien und prognostizierte Absatzmengen. Weiterhin m¨ ussen oft logische oder physikalische Gegebenheiten als Restriktionen definiert werden, damit das Modell korrekt arbeitet. Oft sind f¨ ur einzelne Variablen Ober- und/oder Untergrenzen gesetzt. Auch diese stellen Restriktionen dar, die den L¨ osungsraum einschr¨anken. In der Software zur L¨ osung von LP-Modellen m¨ ussen Grenzen f¨ ur Variablen nicht explizit als Restriktionen definiert werden, sondern sie k¨onnen bei der Definition der Variablen festgelegt werden. Die Restriktionen k¨ onnen folgendermaßen dargestellt werden, wenn wir deren Anzahl mit m bezeichnen: n aij xij ≤≥= bi f¨ ur alle i ∈ {1, . . . , m} j=1
Somit handelt es sich f¨ ur jedes i entweder um eine ≤-, ≥-, oder =-Restriktion. In der Matrixnotation kann das allgemeine LP-Modell elegant als min oder max z = cT x, so dass Ax ≤≥= b und l ≤ x ≤ u, dargestellt werden, wobei c, l, u und x n-stellige Spaltenvektoren und b ein m-stelliger Spaltenvektor von reellen Zahlen und cT die Transpose von c ist. A ist eine m×n-Matrix der Koeffizienten.
2.2 Grafische L¨ osung eines 2-dimensionalen LP-Modells Wenn das lineare Optimierungsmodell nur zwei Variablen beinhaltet, entsprechen die Restriktionen Geraden in der Ebene und definieren somit als zul¨ assigen Bereich einen zweidimensionalen Polyeder (angenommen, der Bereich ist beschr¨ ankt). Wenn wir die Variablen auf beide Achsen projizieren, k¨onnen wir ein zweidimensionales Modell grafisch mit Hilfe einer Zeichnung l¨ osen. Das folgende Beispiel verdeutlicht die grafische L¨osung, die mit einer h¨oheren Variablenzahl nat¨ urlich nicht m¨ oglich ist.
34
2 Lineare Optimierungsmodelle
Beispiel: G¨ urtelproduktion Ein Unternehmen stellt zwei G¨ urteltypen A und B mit einem Deckungsbeitrag von 2,00 e bzw. 1,50 e je St¨ uck her. Ein A-G¨ urtel ben¨ otigt doppelt soviel Zeit bei seiner Herstellung wie ein B-G¨ urtel. Falls nur B-G¨ urtel produziert w¨ urden, k¨ onnte das Unternehmen 1000 St¨ uck pro Tag anfertigen. Die Lederbelieferung erlaubt nur die Produktion von 800 G¨ urtel pro Tag (Typ A und Typ B zusammen). F¨ ur A- und B-G¨ urtel werden verschiedene G¨ urtelschnallen verwendet. Es stehen t¨ aglich 400 G¨ urtelschnallen vom Typ A und 700 G¨ urtelschnallen vom Typ B zur Verf¨ ugung. Wie viele G¨ urtel vom Typ A und vom Typ B m¨ ussen produziert werden, um den maximalen gesamten Deckungsbeitrag zu erzielen? Modellierung als LP-Modell Entscheidungsvariablen: x1 : Anzahl der zu produzierenden G¨ urtel vom Typ A urtel vom Typ B x2 : Anzahl der zu produzierenden G¨ Ziel: Maximierung des gesamten Deckungsbeitrags in e, also maximiere 2x1 + 1, 5x2 Nebenbedingungen (Restriktionen): Lederbelieferung: x1 + x2 ≤ 800 G¨ urtelschnallen: x1 ≤ 400, x2 ≤ 700 Zeitrestriktion: Ein G¨ urtel Typ A ben¨ otigt 2t Zeiteinheiten pro St¨ uck; ein G¨ urtel Typ B nur 1t Zeiteinheiten pro St¨ uck, und es stehen nur 1.000t pro Tag zur Verf¨ ugung, also x1 (2t) + x2 (1t) ≤ 1000t und durch t dividiert (t > 0): 2x1 + x2 ≤ 1000 Nichtnegativit¨ at: x1 , x2 ≥ 0 (negative Produktionsmengen ergeben keinen Sinn) Insgesamt erhalten wir das folgende LP-Modell: max z = 2x1 + 1, 5x2 subject to 2x1 + x2 + x2 x1 x1 x2 x2 x1 ,
≤ 1000 ≤ 800 ≤ 400 ≤ 700 ≥0
(a) (b) (c) (d) (e)
Grafische L¨ osung: Ein LP mit 2 Strukturvariablen kann graphisch gel¨ost werden, wie in den folgenden drei Schritten erl¨ autert wird:
2.2 Grafische L¨ osung eines 2-dimensionalen LP-Modells
Schritt 1 - Bestimmung des zul¨ assigen Bereichs: Zeichne die Restriktionsgeraden (= statt ≤ oder ≥) des LP-Problems (Koordinaten zweier Punkte auf einer Gerade bestimmen, dann Gerade zeichnen). Diese sind die Randgeraden der durch die Restriktionen dargestellten Halbebenen. Durch Einsetzen der Koordinaten eines nicht auf der Gerade liegenden Punktes in die Restriktionsungleichung wird die Halbebene immer richtig bestimmt. Der Durchschnitt der Halbebenen ist der zul¨ assige Bereich. F¨ ur das Beispiel (vgl. Abb. 2.1): Die Gerade verl¨auft durch die Punkte (0,1000) und (500,0). Da Punkt (0,0) die Ungleichung (a) erf¨ ullt, wird diese durch die Halbebene unterhalb der Gerade dargestellt.
x2
1000
900
Optimale Lösung
x1
800 700
z
D
200, x2
600
2 200 1,5 600 1300
E (d) (b)
600
C
zulässiger Bereich
500 400
Isogewinngerade z0 : 1300
(a)
2 x1 1,5 x2 1300
300 B
200 (c)
100
Isogewinngerade z 0 : 600 2 x1 1,5 x2
600
(e)
O
A
x1
100 200 300 400 500 600 700 800 900 1000 Abb. 2.1. Grafische L¨ osung von 2-dimensionalen LP-Modellen
Schritt 2: Richtung der Zielfunktion bestimmen L¨ osungen gleichen Wertes liegen auf sogenannten Isogewinn-Hyperebenen (im 2-dimensionalen Fall auf Isogewinngeraden). Setze den Zielfunktionswert auf eine Konstante z = z0 und zeichne die so definierte Isogewinngerade. F¨ ur das Beispiel kann man z. B. z0 = 600 w¨ ahlen und die Isogewinngerade 2x1 + x2 = 600 zeichnen.
35
36
2 Lineare Optimierungsmodelle
Schritt 3: Optimum bestimmen Verschiebe die Isogewinngerade parallel bis zu einer optimalen Ecke (falls existent). F¨ ur das Beispiel wird die Isogewinngerade parallel nach oben bewegt, bis die optimale Ecke C mit x1 = 200; x2 = 600 erreicht ist. Der optimale Zielfunktionswert lautet dann: z = 2 ∗ 200 + 1, 5 ∗ 600 = 1300.
2.3 Eigenschaften des zul¨ assigen Bereichs Ein Bereich S ⊆ Rn heißt konvex, falls f¨ ur jede zwei Punkte X, Y ∈ S alle Punkte auf der geradlinigen Verbindung zwischen X und Y auch in S liegen (vgl. Abb. 2.2). Im Allgemeinen ist der zul¨ assige Bereich eines LP-Problems mit n Variablen konvex (nicht vom Typ 6 oder 7) und linear bzw. geradlinig abgegrenzt“ ” (auch nicht vom Typ 4 oder 5). Falls der zul¨ assige Bereich beschr¨ ankt (von allen Richtungen eingegrenzt) ist (Typ 1, nicht Typ 2 oder 3), heißt er konvexer Polyeder, der durch die Ecken des zul¨ assigen Bereichs aufgespannt wird. Im Beispiel (Abb. 2.1) wird der zul¨ assige Bereich durch die Verbindungsstrecken OA, AB, BC, CD, DE und EO eingegrenzt und ist somit der durch O, A, B, C, D und E aufgespannte konvexe Polyeder.
Konvexe Bereiche (1)
(2)
(3)
(4)
(5)
Nichtkonvexe Bereiche (6)
(7)
Abb. 2.2. Konvexe und nichtkonvexe Bereiche
Es ist nicht immer der Fall, dass ein LP-Modell eine eindeutige optimale L¨ osung besitzt. Im Folgenden werden einige andere F¨alle kurz beschrieben. Diese F¨ alle kommen keineswegs selten vor; viele in der Praxis aufgestellten Modelle geh¨ oren zu den folgenden Kategorien.
2.3 Eigenschaften des zul¨ assigen Bereichs
37
Modelle ohne zul¨ assige L¨ osungen Falls die Schnittmenge der durch die Restriktionen dargestellten Halbebenen leer ist, ist der zul¨ assige Bereich leer und das LP-Problem besitzt keine zul¨ assige (und insbesondere keine optimale) L¨osung. Zu betrachten ist beispielsweise das folgende Modell: max x1 s.t. x1 x1 2x1 x1 ,
+ 2x2 + x2 + 2x2 + x2 x2
≤8 ≤ 12 ≥ 18 ≥0
Unbeschr¨ ankte Modelle Wenn bei der grafischen L¨ osung die Isogewinngerade unendlich weit verschoben werden kann, so dass die L¨ osung sich dabei grenzenlos verbessert, dann ist das LP-Modell unbeschr¨ ankt (d. h. es gibt keine endliche Optimall¨osung des LP-Modells). Z. B. kann die Isogewinngerade bei einer entsprechenden Zielfunktion und einem zul¨ assigen Bereich der Form (2) von Abb. 2.2 unendlich nach oben verschoben werden. Bei einem unbeschr¨ ankten zul¨ assigen Bereich kann das LP-Modell trotzdem beschr¨ ankt sein. Z. B. kann die Isogewinngerade bei einer entsprechenden Zielfunktion und einem unbeschr¨ ankten zul¨ assigen Bereich der Form (3), Abb. 2.2, endlich nach oben zu einer der obigen zwei Ecken optimal verschoben werden. Welcher Art ist das folgende Modell? max x1 s.t. -x1 -2x1 x1 x1 ,
+ 2x2 + x2 + x2 - 2x2 x2
≤ ≤ ≤ ≥
4 2 4 0
Mehrdeutige Optimall¨ osungen Falls bei der grafischen L¨ osung die Isogewinngerade am Ende des VerschiebeVorgangs auf einer Verbindungsstrecke zwischen zwei Ecken liegt, so besitzt das LP-Modell unendlich viele gleichwertige optimale L¨osungen (mehrdeutige Optimall¨ osung). Die Isogewinngerade l¨ auft somit parallel zu einer Restriktion. Degenerierte Optimall¨ osungen Man kann beweisen, dass eine optimale L¨ osung eines LP-Modells (falls es eine gibt) immer in einer Ecke des zul¨ assigen Bereichs liegt. In Abb. 2.1 liegt das
38
2 Lineare Optimierungsmodelle
Optimum in der Ecke C, die durch die Zeit- und Leder-Restriktionen definiert wird. Im zweidimensionalen Raum braucht man zwei sich kreuzende Geraden, um einen Punkt eindeutig zu definieren. Wenn die Ecke C aber (zuf¨allig) noch durch eine weitere Gerade gekreuzt wird, hat man redundante Informationen zur Bestimmung der optimalen L¨ osung. Man kann beliebige zwei Geraden zur Bestimmung des Optimums ausw¨ahlen. In einem solchen Fall ist die L¨ osung degeneriert (entartet). Analog gilt die Charakterisierung f¨ ur degenerierte L¨ osungen mit Ebenen im dreidimensionalen Raum und Hyperebenen im n-dimensionalen Raum (n ≥ 4). Anmerkung: Minimierung oder Maximierung? Durch Multiplizieren der Zielfunktion mit (-1) kann ein Maximierungsproblem zu einem Minimierungsproblem umgewandelt werden und umgekehrt. Das Multiplizieren einer ≤-Restriktion (beide Seiten) mit (-1) ergibt eine dazu ¨aquivalente ≥-Restriktion und umgekehrt. Anmerkung: Freie Variablen Bei LP-Modellen werden Variablen im Allgemeinen als nichtnegativ vorausgesetzt. Daher muss die Nichtnegativit¨ atsbedingung bei den meisten Softwarepaketen zur L¨ osung von LPs nicht explizit eingegeben werden. Wenn eine Variable aber alle reellen Werte annehmen kann (auch negative), dann muss sie gesondert als freie Variable vereinbart werden. Falls es eine solche Deklarationsm¨ oglichkeit nicht gibt, behilft man sich mit der Ersetzung einer solchen Variable x durch (x+ − x− ) im gesamten LP, wobei die neuen Variablen x+ , x− ≥ 0 sind. L¨ osen Sie das folgende LP-Problem grafisch. Dann transformieren Sie dieses LP zu einem LP mit nur nichtnegativen Variablen (x2 sei eine freie Variable.) max 3x1 − x2 s.t. x1 − 2x2 2x1 + x2 x1 − x2 x1
≤2 ≤1 ≥0 ≥0
2.4 LP-Modelle mit spezieller Struktur Minimierungsmodelle Gegenstand des obigen G¨ urtelbeispiels war die optimale Produktionsplanung in einer gegebenen Periode, wenn der Ressourcenbedarf und die Deckungsbeitr¨ age einzelner Produkte gegeben sind. Es handelt sich somit um ein typisches
2.4 LP-Modelle mit spezieller Struktur
39
LP-Modell, wobei die Zielfunktion unter Ber¨ ucksichtigung von Ressourcenrestriktionen maximiert werden soll. Alternativ lassen sich viele Aufgabenstellungen naturgem¨aß als Minimierungsmodelle darstellen. Beispielsweise sollen oft in Mischungsproblemen mindestens gegebene Mengen von Mischungen hergestellt werden, die bestimmte Mindestanforderungen erf¨ ullen. Das folgende Beispiel stellt ein typisches kleines Mischungsproblem dar. Beispiel: Mischungsproblem Ein Biobauer braucht t¨ aglich mindestens 800 kg Spezialfutter f¨ ur Tiere. Dabei handelt es sich um eine Mischung von Mais und Sojamehl mit den folgenden Eigenschaften: Mais: 0,09 kg Protein und 0,02 kg Ballaststoffe per kg Futter Sojamehl: 0,60 kg Protein und 0,06 kg Ballaststoffe per kg Futter. Laut Bestimmungen muss die Mischung mindestens 30% Protein und h¨ ochstens 5% Ballaststoffe beinhalten. Unter Beibehaltung der Bestimmungen sollen die t¨ aglichen Futterkosten minimiert werden. Ein Kilo Mais kostet 0,30 e und ein Kilo Sojamehl 0,90 e. Diese Situation wird als eine Optimierungsaufgabe betrachtet. Zuerst m¨ ussen die Entscheidungsvariablen definiert werden. Offensichtlich kann der Biobauer die Anteile von Mais und Soja im Tierfutter bestimmen; also sind diese seine Entscheidungsvariablen: ur die Menge von Mais im Futter (in kg), und xM f¨ ur die Menge von Soja im Futter (in kg). xS f¨ Als Parameter des Problems sind die Protein- und Ballaststoffanteile der Zutaten sowie die gew¨ unschten Anteile in der Mischung, die Einkaufspreise und die geforderte Menge an Futter gegeben. Die Gesamtkosten sollen unter Ber¨ ucksichtigung aller Restriktionen minimiert werden. Somit lautet die Zielfunktion: Minimiere z = 0,3 xM + 0,9 xS , und die Restriktionen: Futtermengen xM + xS ≥ 800 Proteinmengen 0,09 xM + 0,60 xS ≥ 0,30(xM + xS ) Ballaststoffmengen 0,02 xM + 0,06 xS ≤ 0,05(xM + xS ) Nichtnegativit¨ at xM , xS ≥ 0 Nach einer Umformung bekommt man die folgende Formulierung als LP: Min z = 0,3 xM + 0,9 xS , subject to xM + xS ≥ 800 -0,21 xM + 0,30 xS ≥ 0 -0,03 xM + 0,01 xS ≤ 0 xM , xS ≥ 0
40
2 Lineare Optimierungsmodelle
fs (c)
zulässiger Bereich 1000
(b) (a)
Isogewinngerade - opt. Lösung fm = ~ 470; fe = ~ 330 z = 470 * 0,3 + 330 * 0,9 = 438
1000
2000
fm
Abb. 2.3. L¨ osung zum Beispiel Tierfutter
Abb. 2.3 zeigt eine grafische L¨ osung des Modells: Es ist empfehlenswert, ca. 470 kg Mais und 330 kg Soja zu Spezialfutter zu mischen, was zu minimalen Kosten von ca. 440e f¨ ur den Biobauer f¨ uhrt. Durch die L¨ osung mit dem Softwarepaket ClipMOPS (s. Kapitel 3) bekommt man die exakten Werte: Es sollten 470,59 kg Mais und 329,41 kg Soja zu Spezialfutter gemischt werden. Dies f¨ uhrt zu minimalen Kosten von 437,65e f¨ ur den Biobauer. Produktionsplanungsmodelle In den bisherigen Modellen ist keine spezielle interne Struktur innerhalb der Koeffizientenmatrix zu erkennen. In der Praxis werden LP-Modelle dagegen fast immer f¨ ur bestimmte strukturierte Aufgaben gestellt. Beispielsweise geht es um mehrere Produkte oder Produktgruppen, mehrere Zeitperioden, mehrere Produktionsst¨ atten, Zulieferer, Warengruppen etc. Es passiert oft, dass sich bestimmte Teile eines Modells in der Struktur wiederholen, aber durch einige Restriktionen oder Variablen zusammengebunden sind. Wenn es keine verbindende Restriktionen oder Variablen gibt, k¨onnen die einzelnen Teilmodelle nat¨ urlich auch unabh¨ angig voneinander gel¨ost werden. Mehrere Produktionsst¨ atten Es wird angenommen, dass die G¨ urtelproduktion nicht nur an einer Produktlinie, sondern an mehreren Linien stattfindet, die unterschiedliche Parameter bez¨ uglich des Ressourceneinsatzes besitzen k¨ onnen. Im Optimierungsmodell
2.4 LP-Modelle mit spezieller Struktur
41
geht es um die optimale Allokation von Ressourcen und Produktionsmengen zwischen gegebenen Produktionsst¨ atten. Nat¨ urlicherweise besitzt ein Modell mit mehreren Produktionsst¨ atten oder -linien eine Blockstruktur (s. Abb. 2.4). Die AbA A A A bildung illustriert die Struktur der Koeffizientenmatrix durch die Teilmatrizen A0 b B bis Bn und die rechte Seite durch die b Teilvektoren b0 bis bn . Jede B-Teilmatrix B entspricht einer Produktionsst¨ atte. Die ATeilmatrizen beinhalten die Restriktionen, die alle Produktionsst¨ atten betreffen. Die B b leeren Teile der Koeffizientenmatrix bestehen aus Nullen. Es ist typisch f¨ ur Praxisprobleme der linearen Optimierung, dass Abb. 2.4. Struktur eines Optimiedie Koeffizientenmatrix sehr viele Nullen rungsmodells mit mehreren Probesitzt. Diese Eigenschaft kann man bei duktionsst¨atten [Williams 1999] den L¨ osungsalgorithmen nutzen, um Rechenaufwand und Speicherplatz zu sparen - die Nullen werden gar nicht mitgespeichert. 0
1
2
n
1
1
2
2
n
n
Mehrere Perioden Das urspr¨ ungliche G¨ urtelmodell betrachtete die Produktion in einer vorher festgelegten Zeitperiode. In der Praxis wird der Zielfunktion Produktionsbetrieb (und viele andere AkB A tivit¨ aten) normalerweise f¨ ur ein l¨angeres b Zeitintervall in vielen kurzen Perioden geB b plant. Z. B. kann es eine Jahres- Monatsund Wochenplanung geben. Analog werden Optimierungsmodelle mit unterschiedlichen Zeithorizonten und Genauigkeiten B b gel¨ ost: F¨ ur mehrere Jahre wird auf Monatsebene eine Grobplanung durchgef¨ uhrt, Abb. 2.5. Struktur eines mehr- die durch Wochen- und Tagesmodelle verperiodischen Optimierungsmodells feinert wird. Die in der nahen Zukunft lie[Williams 1999] genden Zeitintervalle werden in der Regel genau geplant; f¨ ur weitere Intervalle wird zun¨ achst ein grobes Planungsmodell genutzt (im Sinne einer rollierenden Planung). Ein mehrperiodisches lineares Optimierungsmodell besitzt nat¨ urlicherweise eine treppenartige Struktur (vgl. Abb. 2.5): Die Teilmatrizen Ai und Bi in der Abbildung ber¨ ucksichtigen jeweils eine gegebene Periode. Zwei hintereinanderfolgende Perioden sind jedoch u ¨ber gemeinsame Variablen verbunden, 1
1
1
2
2
n
n
42
2 Lineare Optimierungsmodelle
¨ die den Ubergang von einer Periode in die n¨ achste beinhalten und eine Art Lagerhaltung darstellen. Wenn es keine Lagerhaltung (also Verbindung zwischen hintereinander liegenden Perioden) g¨ abe, k¨onnte f¨ ur jede Periode ein eigenst¨ andiges Optimierungsmodell getrennt gel¨ost werden.
2.5 L¨ osungsverfahren fu ¨ r lineare Optimierungsmodelle Nachdem ein lineares Optimierungsmodell korrekt aufgestellt worden ist, sind wir vor allem an dessen L¨ osung interessiert. Erst wenn eine optimale L¨osung bekannt ist, k¨ onnen die Ergebnisse als Hilfestellung zur Entscheidungsunterst¨ utzung genutzt werden. In einem LP-Modell handelt es sich um ein System von Gleichungen und Ungleichungen, das mehrere g¨ ultige L¨ osungen besitzt. Eine zul¨assige L¨osung dieses Systems ist eine Wertekombination der Entscheidungsvariablen, die alle gegebenen Restriktionen erf¨ ullt. Das besondere bei LP-Modellen ist, dass sie fast immer unendlich viele zul¨ assige L¨ osungen besitzen. Die Restriktionen lassen somit Freir¨ aume zur Auswahl einer gew¨ unschten L¨osung. Es gilt nun, nach einer L¨ osung zu suchen, die im Sinne der gegebenen Zielfunktion optimal ist. Dem Leser wird empfohlen, sich zuerst Gedanken dar¨ uber zu machen, wie man zu einer optimalen L¨ osung kommen k¨ onnte, wenn es mehr als zwei Varia¨ blen gibt. Oft lautet die erste Uberlegung, zuerst diejenige Variable m¨oglichst weit zu erh¨ ohen, die den h¨ ochsten Zielfunktionswert (bei Maximierungsproblemen) hat, dann die n¨ achste und so weiter. Beispielsweise hat x1 in unserem G¨ urtelbeispiel den h¨ ochsten Zielfunktionswert, n¨amlich 2. Jedoch zeigt schon das kleine Beispiel, dass wir in dieser sequentiellen Weise nicht die optimale L¨ osung finden (bitte probieren!). In der linearen Optimierung m¨ ussen die Werte von Entscheidungsvariablen einer optimalen L¨ osung simultan, nicht sequentiell bestimmt werden. Lineare Optimierungsmodelle wurden erstmalig kurz vor dem zweiten Weltkrieg und w¨ahrend diesem aufgestellt. Die ersten Ergebnisse von L. V. Kantorovic in der Sowjetunion im Jahr 1939 fanden jedoch im Westen kaum Beachtung, bevor eine durchg¨ angige Theorie inklusive L¨ osungsmethoden ein bis zwei Jahrzehnte sp¨ ater entwickelt wurde. Im Jahr 1947 zeigte T. C. Koopmans, wie klassische ¨okonomische Theorien als LP-Modelle dargestellt werden k¨onnen. Im Jahr 1975 bekamen Kantorovic und Koopmans den Nobel-Preis f¨ ur Wirtschaftswissenschaften f¨ ur ihre Beitr¨ age zur Theorie der optimalen Ressourcenallokation. Die Simplex-Methode Das ¨ alteste und bekannteste L¨ osungsverfahren f¨ ur LP ist die Simplex-Methode, die von George B. Dantzig im Jahr 1947 zur L¨ osung von Planungsproblemen bei der U. S. Air Force vorgestellt wurde. Es wurde schnell klar, dass mit
2.5 L¨ osungsverfahren f¨ ur lineare Optimierungsmodelle
43
dieser Methode eine erstaunlich große Breite an Modellen von scheinbar weit auseinander liegenden Anwendungsgebieten gel¨ost werden konnten. Die Simplex-Methode besteht grunds¨ atzlich aus zwei Phasen: In Phase I wird zun¨ achst nach einer zul¨ assigen L¨ osung gesucht. Auch dies kann ein schwieriges Problem werden, wenn keine unmittelbar klare zul¨assige L¨osung gegeben ist. In Phase II wird dann, ausgehend von einer zul¨assigen L¨osung, durch iterative Verbesserungen nach einer optimalen L¨ osung gesucht. Die Suche besteht aus mehreren m¨ oglichen L¨ osungen, so dass eine betrachtete L¨osung immer besser (oder zumindest nicht schlechter) als ihr Vorg¨anger ist. Man kann beweisen, dass die Simplex-Methode unter relativ allgemeinen Bedingungen gegen eine optimale L¨ osung konvergiert. Der grunds¨ atzliche Ablauf der Methode wird im n¨ achsten Abschnitt vorgestellt. Die Anwendbarkeit der Simplex-Methode ist in den ca. letzten 50 Jahren parallel mit der Entwicklung der Computertechnologie gestiegen. In den 70er Jahren konnten Modelle mit bis zu einigen tausend Variablen und Restriktionen durch geschickte Nutzung der damaligen limitierten Rechenressourcen gel¨ ost werden. Beispielsweise konnten nicht alle Daten und Zwischenergebnisse im Hauptspeicher eines Computers gehalten werden, sondern mussten durch aufw¨ andige Auslagerungsmechanismen auf der Festplatte zwischengelagert werden. In den 70er Jahren waren 32 kB auf Workstations eine g¨angige Hauptspeichergr¨oße, w¨ ahrend wir heute selbst auf Notebook-Rechnern oft 1 GB oder mehr vorfinden. Nachdem mehr Speicher und leistungsf¨ahigere Prozessoren verf¨ ugbar wurden, konnten immer schnellere und stabilere Simplexbasierte LP-Solver (Softwarepakete f¨ ur lineare Optimierung) entwickelt werden. Innere-Punkte-Verfahren In vielen Experimenten und Praxisprojekten stellte sich heraus, dass das Laufzeitverhalten der Simplex-Methode f¨ ur viele Praxismodelle relativ gut ist, aber aus der theoretischen Sicht im schlechtesten Fall sehr schlecht (exponentiell im Hinblick auf die Problemgr¨ oße) sein kann. Ein großer Fortschritt bei der theoretischen L¨osung von linearen Optimierungsmodellen war die Erfindung der Ellipsoidmethode vom russischen Mathematiker L. G. Khachian 1979. Die Laufzeit dieser Methode w¨achst nur polynomiell in Relation zur Problemgr¨ oße; somit handelt es sich grunds¨atzlich um ein effizientes L¨ osungsverfahren. Allerdings ist die Laufzeit der Ellipsoidmethode f¨ ur praktische Modelle extrem lang, so dass die polynomiellen, sogenannten Innere-Punkte-Verfahren jahrelang dem Status der Simplex-Methode als den am meisten verbreiteten L¨ osungsansatz nicht in Frage stellen konnten. Diese Methodenklasse hat ihren Namen bekommen, weil sie sich im Gegensatz zum Simplex nicht auf der Oberfl¨ ache des zul¨assigen Bereiches bewegen, sondern innere Punkte ber¨ ucksichtigen.
44
2 Lineare Optimierungsmodelle
Im Jahr 1984 ver¨ offentlichte N. Karmarkar (Forscher bei Bell Labs in den USA) ein effizienteres polynomielles Innere-Punkte-Verfahren, das die Grundlage f¨ ur weitere Entwicklungen bildete. Heute k¨onnen Innere-Punkte-Verfahren in den meisten F¨allen LP schneller l¨ osen als die Simplex-Methode. Es gibt allerdings nicht die eine beste Methode; f¨ ur viele Modelle sind Varianten der Simplex-Methode am schnellsten. Es gibt viele Gr¨ unde, warum ein effizienter LP-Solver beide Methodenklassen beinhalten muss.
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen 2.6.1 Grundidee und Standardformat Man kann beweisen, dass, falls ein LP-Modell genau eine optimale L¨ osung besitzt, sich diese in einer Ecke des zul¨assigen Polyeders befindet. Beispielsweise befindet sich die optimale L¨osung des G¨ urtelmodells in der Ecke C (s. Abb. 2.1). Wenn es hingegen mehrere optimale L¨osungen gibt, befindet sich mindestens eine von diesen in einer Ecke. Was eine Ecke eines mehr-dimensionalen Polyeders ist, versuchen wir uns an dieser Stelle intuitiv vorzustellen. Eine Definition erfolgt sp¨ater. Die Idee der Simplex-Methode ist Abb. 2.6. Carl Friedrich Gauss 1777-1855 es, benachbarte Ecken hintereinander zu untersuchen, so dass die L¨ osung, also der jeweilige Zielfunktionswert, sich bei jeder Bewegung in eine benachbarte Ecke verbessert – oder zumindest nicht verschlechtert – bis ein Optimum gefunden wird. Eine wichtige Technik bei der Bewegung von einer Ecke zu einer benachbarten ist die Manipulation linearer Gleichungssysteme durch die Gauss’sche Elimination (Gauss: s. Abb. 2.6). Daher wird das zu l¨osende LP-Modell zun¨achst in eine Form gebracht, die nur lineare Gleichungen (also keine Ungleichungen) besitzt. Die Formeln (LGS) zeigen die Struktur eines linearen Gleichungssystems, das auf der linken Seite k Variablen und m Restriktionen besitzt. a11 x11 a21 x21 ... am1 xm1
+ a12 x12 + a13 x13 + . . . + a1k x1k = b1 + a22 x22 + a23 x23 + . . . + a2k x2k = b2 ... ... (LGS) + am2 xm2 + am3 xm3 + + amk xmk = bm
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen
45
Wenn k > m gilt, hat das Gleichungssystem mehr Spalten auf der linken Seite als Zeilen. Somit ist das System unterdeterminiert, d. h. es hat i.d.R. mehr als eine m¨ ogliche L¨ osung (also Wertekombination der x-Variablen). Wenn k = m gilt und die Spaltenvektoren linear unabh¨ angig sind, hat das Gleichungssystem dagegen genau eine eindeutige L¨ osung. In Vorbereitung auf die Nutzung der Simplex-Methode wird die Koeffizientenmatrix A in das sogenannte Standardformat transformiert, wobei nur Gleichungen zugelassen sind (s. oben) und mehr Spalten als Zeilen vorhanden sind. Prinzip der Simplex-Methode ist es nun, aus dieser Koeffizientenmatrix m Spaltenvektoren auszuw¨ahlen, mit deren Hilfe die verbleibenden k − m Spaltenvektoren ausgedr¨ uckt werden k¨ onnen. Die Bewegung von einer Ecke in eine benachbarte Ecke entspricht nun einem Tausch, wobei genau ein Spaltenvektor aus den gew¨ahlten m gegen einen anderen ausgetauscht wird. Im Folgenden wird der Ablauf dieser Methode zuerst algebraisch anhand unseres Beispiels vorgestellt. Im darauffolgenden Abschnitt 2.7 erfolgt die grafische Veranschaulichung. Transformation eines beliebigen LP in das LP-Standardformat Als Vorbereitung zum Simplex-Verfahren werden einige Transformationen eines gegebenen LP-Modells gezeigt, um ein einheitliches Format f¨ ur LPModelle, das sogenannte Standardformat, zu erhalten. Im Standardformat handelt es sich immer (in unserer Definition) um ein Maximierungsproblem. Es gibt keine Ungleichungen mehr, sondern nur Gleichungen. Man kann sich leicht davon u ¨berzeugen, dass sich jedes LP-Modell mit relativ wenig Aufwand in diese Form bringen l¨asst. Gleichung 2x1 + x2 = 7
→ 2 Ungleichungen → 2x1 + x2 ≤ 7 und 2x1 + x2 ≥ 7
≥-Ungleichung 2x1 + x2 ≥ 7
→ ≤-Ungleichung (optional) → −2x1 − x2 ≤ −7
Min-Zielfunktion → Max-Zielfunktion min 3x1 − 4x2
→ max −3x1 + 4x2
Ungleichung 2x1 + x2 ≤ 7 2x1 + x2 ≥ 7 2x1 + x2 ≥ 7
→ → → →
Gleichung mit Schlupfvariable 2x1 + x2 + x3 = 7 mit x3 ≥ 0 −2x1 − 7 → −2x1 − x2 + x4 = −7 oder 2x1 + x2 − x4 = 7 mit x4 ≥ 0 Schupfvariable
Eine nichtnegative Schlupfvariable (englisch: slack variable), die f¨ ur eine Ungleichung eingef¨ uhrt wird, stellt die absolute Differenz zwischen der linken und der rechten Seite dieser Ungleichung dar. Wendet man diese Transformationen auf das Beispiel in 2.1 an, kann es in das Standardformat u uhrt ¨berf¨ werden:
46
2 Lineare Optimierungsmodelle
max z = 2x1 + 1, 5x2 s.t. 2x1 + x2 + x3 x2 + x4 x1 + + x5 x1 + x6 x2 x2 , x3 , x4 , x5 , x6 x1 ,
= 1000 = 800 = 400 = 700 ≥ 0
Schlupfvariablen sind hier x3 , x4 , x5 und x6 ! Jedes LP-Modell l¨ asst sich in diesem Standardformat ausdr¨ ucken. F¨ ur ein Problem mit n Variablen und m Restriktionen werden dabei m Schlupfvariablen eingef¨ uhrt, so dass das Gesamtmodell n + m Variablen beinhaltet. Allgemein lautet das Modell dann:
max
n
Oder in Matrix-Schreibweise: max cT x
cj xj
j=1
s.t. m+n
s.t. aij xj = bi f¨ ur alle i = 1, . . . , m) Ax = b
j=1
xj ≥ 0 f¨ ur alle j = 1,..., m + n
x≥0
Die Vektoren c bzw. x sind (n + m)-(Spalten)-Vektoren, wobei c m Nullen f¨ ur die m Schlupfvariablen xn+1 , .., xn+m beinhaltet und transponiert (cT ) ist, also als Zeilenvektor betrachtet wird. b ist ein m-Vektor. A ist eine m×(n+m)Matrix, die durch Anh¨ angen einer m × m-Matrix an die urspr¨ ungliche m × nMatrix entsteht. Die m × m-Matrix f¨ ur die Schlupfvariablen hat nur -1 und 1 auf der Diagonalen, alle anderen Eintr¨ age sind Null. Es wurde (eigentlich willk¨ urlich) ein Maximierungsproblem definiert. Die Zielfunktion kann mit (-1) multipliziert in ein Minimierungsproblem transformiert werden. Basis eines LP-Modells Jede nichtsingul¨ are m × m-Teilmatrix B von A heißt Basis des Standardmodells. Nichtsingularit¨ at von B bedeutet, dass die m-dimensionalen Spaltenvektoren von B linear unabh¨ angig sind, sich also kein Spaltenvektor als Linearkombination der anderen ausdr¨ ucken l¨ asst. Aus dem obigen Beispiel im Standardformat ergibt sich folgendes Beispiel f¨ ur B (siehe Abb. 2.7). In diesem Fall ist die Teilmatrix B gleich der m × m-dimensionalen Einheitsmatrix. Wir k¨ onnen das Gleichungssystem nach den in B enthaltenen Spaltenvariablen in einfacher Weise wie folgt aufl¨ osen: x3 (S1) x4 x5 x6
= 1000 - 2x1 - x2 = 800 - x1 - x2 = 400 - x1 = 700 - x2
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen
47
B
A 2 x1 + x2 + x3 x1 + x2 + x4 x1 x2
+ x5 + x6
= = = =
1000 800 400 700
Abb. 2.7. Basis f¨ ur das Beispiel
Die Gleichungen des Standard-Formats eines LP k¨onnen also so umgeformt werden, dass sich alle Schlupfvariablen auf der linken Seite befinden. Eine L¨osung des Gleichungssystems l¨ asst sich dabei direkt ermitteln, n¨amlich x1 = x2 = 0, x3 = 1000, x4 = 800, x5 = 400 und x6 = 700. Diese L¨osung wird eindeutig, nachdem alle nicht in B enthaltenden Spaltenvariablen auf 0 gesetzt werden (hier x1 = x2 = 0). Diese Vorgehensweise ist f¨ ur jede nichtsingul¨ are m × m-Teilmatrix B anwendbar, denn nachdem man die nicht in B enthaltenen Spaltenvariablen auf 0 gesetzt hat, verbleibt ein m × m-Gleichungssystem, das f¨ ur eine nichtsingul¨are Matrix (B) eindeutig gel¨ ost werden kann (unter Benutzung der Inversen von B - die Determinante der Matrix B ist ja ungleich Null, da die Spaltenvektoren von B linear unabh¨ angig sind). Basisvariablen und Nichtbasisvariablen Die durch die Spalten der Matrix B (Basis) definierten Variablen m aus (n+m) heißen Basisvariablen (BV), die restlichen n Variablen Nichtbasisvariablen (NBV). Basisl¨ osung Die durch Setzen der Nichtbasisvariablen auf 0 erhaltene eindeutige L¨osung f¨ ur eine Basis B (siehe oben) heißt Basisl¨ osung. Eine Basisl¨osung ist • zul¨ assig, falls alle Basisvariablen bei der Basisl¨osung nichtnegative Werte annehmen, sonst unzul¨ assig, und • degeneriert, falls mindestens eine der Basisvariablen in der Basisl¨osung gleich Null ist. Beim Simplex-Verfahren startet man mit der Basis B, bei der die Schlupfvariablen als Basisvariablen gew¨ ahlt werden (wie im Beispiel oben). Diese Basis nennt man Ausgangsbasis und die wie oben erhaltene Basisl¨osung (alle Strukturvariablen auf Null) Ausgangsbasisl¨ osung. Falls diese Ausgangsbasisl¨osung zul¨ assig ist, geht man gleich zur Phase II von Simplex u ¨ber, ansonsten zur Phase I, um eine zul¨ assige Basisl¨ osung, falls vorhanden, zu berechnen.
48
2 Lineare Optimierungsmodelle
Bemerkung: Als Basis“ wird in der linearen Algebra eine Zusammenstel” lung von linear unabh¨ angigen Vektoren im euklidischen Raum bezeichnet, deren Anzahl gleich der Dimension des Vektorraumes ist. Also ist die obige Bezeichnung Basis“ f¨ ur B bez¨ uglich des durch die Basisvariablen definierten ” m-dimensionalen Vektorraums zu verstehen, nicht etwa bez¨ uglich des durch die Strukturvariablen definierten n-dimensionalen Raums. 2.6.2 Schritte des Simplex-Verfahrens In diesem Abschnitt werden die Schritte des Simplex-Verfahrens mit Hilfe des in 2.2 eingef¨ uhrten Beispiels eingehend erl¨ autert. Es handelt sich um eine (einfache) Basisform des Simplex-Algorithmus f¨ ur den Fall, dass die Untergrenzen aller Variablen gleich 0 und die Obergrenzen gleich +∞ sind. Im allgemeinen Fall k¨ onnen explizite Ober- und Untergrenzen direkt im Algorithmus ber¨ ucksichtigt werden. Computerimplementationen des Verfahrens beinhalten dar¨ uber hinaus sehr viele Verfeinerungen, welche die L¨osung großer, numerisch schwieriger Modelle mit heutigen Rechnern m¨oglich machen. Dazu mehr im nachfolgenden Kapitel. Initialisierung: Man bildet zun¨ achst das Standardformat eines LP-Modells wie in 2.6 und formt es dann in (S1) wie in 2.6.1 um, indem die Schlupfvariablen (aktuelle Basisvariablen) links stehen. Dabei wird als Ausgangsbasis die sogenannte all-logical basis gew¨ ahlt, wobei zun¨ achst die Schlupfvariablen in die Basis gew¨ ahlt werden. Im Allgemeinen wird auch f¨ ur eine =-Restriktion eine sogenannte k¨ unstliche Variable eingef¨ uhrt. Schlupfvariablen und k¨ unstliche Variablen werden gemeinsam auch logische Variablen genannt. Daher die Bezeichnung all-logical basis“. F¨ ur das Beispiel sieht sie wie folgt aus: ” Ausgangsbasis: Nichtbasisvariablen x1 , x2 ⇒ Basisvariablen x3 , x4 , x5 , x6 (Ausgangs-)Basisl¨ osung: 0 0 1000 800 400 700 Wenn alle konstanten Werte der rechten Seite von (S1) nichtnegativ sind (wie im Beispiel), ist dies eine zul¨ assige L¨ osung, ansonsten muss erst mit der Suche nach einer zul¨ assigen L¨ osung begonnen werden (Phase I des SimplexVerfahrens, vgl. 2.6.3). Grafisch: Man beginnt mit der (trivialen) Ecke O = (0,0) des zul¨assigen Bereichs. O ist der Durchschnitt der x1 - und x2 -Geraden, also hat die zugeh¨orige Basis x1 und x2 als NBV (vgl. Abb. 2.1). Iteration 1 Basisvariablen mit Hilfe der Nichtbasisvariablen darstellen: Weil die Nichtbasisvariablen immer gleich 0 sind, k¨ onnen die Werte der Basisvariablen direkt
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen
49
abgelesen werden. Die Zielfunktion z wird dabei in einer eigenen Zeile stets wie eine Basisvariable behandelt. (max z s.t.)
(S1)
Pivot-Spalte („2. Aufnahmeregel“) z =0
+ 2 x1
x3 = 1000
– 2 x1
–
x2
x1 n 500
x4 = 800
–
x1
–
x2
x1 n 800
x5 = 400
–
x1 –
x2
x1 n f
x6 = 700
+ 1,5 x2
Zielfunktionszeile
x1 n 400
min !
Pivot-Zeile („3. Eliminationsregel“)
Abb. 2.8. Iteration 1
Aufnahmeregel: Nichtbasisvariablen werden gesucht, die den Zielfunktionswert verbessern. Eine solche Variable, Pivotvariable genannt, wird ausgew¨ahlt und in die Basis aufgenommen. Indikator f¨ ur m¨ ogliche Pivotvariablen ist ein positiver Koeffizient in der (modifizierten) Zielfunktion. Alle solche Variablen erh¨ ohen i.d.R. den Zielfunktionswert. Eine m¨ ogliche Auswahlstrategie ist, als Pivotvariable diejenige zu w¨ ahlen, die den h¨ ochsten positiven Koeffizienten ur hat. In unserem Fall ist dies x1 (da 2 > 1,5). Damit ist die Pivot-Spalte f¨ Iteration 1 bestimmt (im angegebenen Gleichungssystem (S1)(siehe Abb. 2.8) umrahmt). Eliminationsregel: Wenn der Wert der Pivotvariablen erh¨oht wird, ¨andern sich die Werte der anderen Variablen. Eine bereits zul¨assige Variable darf dabei nicht unzul¨ assig werden. Der Wert der neuen Basisvariable (Pivotvariable) wird also nur soviel ge¨ andert, bis die erste Basisvariable den Wert 0 (untere Grenze) erreicht. Diese Basisvariable wird aus der Basis eliminiert. Falls keine Basisvariable eine Grenze erreicht, ist das Modell unbeschr¨ankt (unbounded). F¨ ur jede Gleichungszeile von (S1)(siehe Abb. 2.8) (außer der Zielfunktionszeile) wird untersucht, um wieviel die Pivotvariable erh¨oht werden kann, ohne dass die Basisvariable (auf der linken Seite der Gleichung) negativ wird. Im Beispiel (S1) schreibt man z. B. f¨ ur die x3 -Gleichung: x1 500. D. h. die oht werden, ohne dass BV x3 negativ Nichtbasisvariable x1 darf bis zu 500 erh¨ wird. Da keine der Basisvariablen negativ werden darf, wird das Minimum aus diesen Zahlen bestimmt. Im Beispiel min(500, 800, 400, ∞) = 400. Da die Erh¨ ohung von x1 400 die Variable x5 auf 0 (untere Schranke) setzt, wird x5 Nichtbasisvariable. Damit stellt die x5 -Gleichung die Pivot-Zeile des Basistausches (in (S1)(siehe Abb. 2.8) ebenfalls umrahmt). Somit wurde ein Basistausch vorgenommen: x1 kommt hinein und x5 verl¨asst die Basis: neue Basis ist {x1 , x3 , x4 , x6 }. Grafisch: In Abb. 2.1 wird von der Ecke O an der Achse OA zur Ecke A gewandert“. Man entfernt sich von der x1 -Geraden (x1 wird = 0 und somit ”
50
2 Lineare Optimierungsmodelle
zur BV), bis man die x5 -Gerade erreicht hat (dort gilt: x5 = 0 : x5 wird NBV). Am Punkt A ist der Schnittpunkt der x2 - und x5 -Geraden: Die zugeh¨orige Basis hat x2 und x5 als NBV! Iteration 2 Neue NBV sind x2 und x5 , d. h. die BV sind x1 , x3 , x4 und x6 Im Gleichungssystem wird die Pivot-Zeile (x5 -Gleichung) umgeformt in x1 = 400 − x5 In die anderen Gleichungen von (S1)(siehe Abb. 2.8) wird x1 gem¨aß dieser Gleichung eingesetzt. Man erh¨ alt z. B. f¨ ur die x3 -Gleichung: x3 = 1000 − 2x1 − x2 = 1000 − 2(400 − x5 ) − x2 = 200 − x2 + 2x5 . Es ergibt sich das umgewandelte Gleichungssystem (S2)(siehe Abb. 2.9):
z = 800
+1,5 x2
x1 = 400 (S2)
– 2 x5 –
x5
x2 n f
x3 = 200
–
x2
+ 2 x5
x2 n 200
x4 = 400
–
x2
+
x5
x2 n 400
x6 = 700
–
x2
min !
x2 n 700
Abb. 2.9. Iteration 2
Nach der Umsetzung des Basistausches durch die Angabe des neuen modifizierten Gleichungssystems werden die Schritte 2. und 3. (Auswahl der PivotSpalte /-Zeile bzw. Aufnahme- und Eliminationsregel) direkt im modifizierten Gleichungssystem durchgef¨ uhrt: Umrahmen der Pivot-Spalte nach Aufnahmeregel, Bestimmung der Erh¨ ohungen der gew¨ahlten Pivotvariablen und Umrahmen der Pivot-Zeile (Zeile, in der die minimale Erh¨ohung steht). Basistausch: x2 hinein und x3 heraus: neue Basis ist {x1 , x2 , x4 , x6 }. Grafisch: In Abb. 2.1 wird nun von Ecke A an der Achse AB entlang zur Ecke B gewechselt. In Abb. 2.4 entfernt man sich von der x2 -Geraden (x2 = 0), bis man die x3 -Gerade (x3 = 0) erreicht hat. B ist der Schnittpunkt der x5 - und orige Basis x3 und x5 als NBV. x3 -Geraden. Also hat die zugeh¨ Bemerkung: Die neu berechneten Koeffizienten der Variablen x2 und x5 in der z-Gleichung (1,5 und -2) sind die Grenzertr¨age bei Wert¨anderungen dieser Nichtbasisvariablen ab diesem Punkt (im Beispiel Punkt A). Die Grenzertr¨age der Basisvariablen x1 , x3 , x4 und x6 sind 0. Die neu berechneten Koeffizienten werden aus historischen Gr¨ unden – sowohl f¨ ur Minimierungs- als auch f¨ ur Maximierungsprobleme – auch reduzierte Kosten genannt.
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen
51
Iteration 3 Neue NBV sind x3 und x5 , also sind x1 , x2 , x4 und x6 BV. Im Gleichungssystem wird die Pivot-Zeile (x3 -Gleichung) umgeformt in x2 = 200 − x3 + 2x5 In die anderen Gleichungen von (S2) wird x2 gem¨aß dieser Gleichung eingesetzt. Man erh¨ alt das umgewandelte Gleichungssystem (S3)(siehe Abb. 2.10):
z = 1100
– 1,5 x3
x1 = 400 (S3)
+
x5
–
x5
x5 n 400
x2 = 200
–
x3
+ 2 x5
x5 n f
x4 = 200
+
x3
– x5
x5 n 200
x6 = 500
+
x3
– 2 x5
x5 n 250
min !
Abb. 2.10. Iteration 3
Basistausch: x5 hinein und x4 heraus: neue Basis ist {x1 , x2 , x5 , x6 }. Grafisch: In Abb. 2.1 wechselt man von Ecke B an Achse BC entlang zur Ecke C. Iteration 4 Neue NBV sind x3 und x4 , also sind x1 , x2 , x5 und x6 BV. Im Gleichungssystem wird die Pivot-Zeile (x4 -Gleichung) umgeformt zu x5 = 200 + x3 − x4 In die anderen Gleichungen von (S2)(siehe Abb. 2.9) wird x5 gem¨aß dieser Gleichung eingesetzt. z = 1100 − 1, 5x3 + x5 = 1100 − 1, 5x3 + (200 + x3 − x4 ) = 1300 − 0, 5x3 − x4 . Schon hier wird erkennbar, dass die neue Basis optimal ist, da die Zielfunktion ohne zus¨ atzliche Beschr¨ ankung durch die Variablen x3 und x4 dargestellt wurde und durch Erh¨ ohen der Werte dieser Nichtbasisvariablen x3 und x4 (die auf Null gesetzt sind, also nicht erniedrigt werden k¨onnen) keine weitere Erh¨ ohung des Zielfunktionswertes mehr erreicht werden kann. Um die Werte der Basisvariablen (und weitere Erkenntnisse u ¨ber die optimale L¨osung) zu gewinnen, betrachten wir das umgewandelte System (S4)(siehe Abb. 2.11): Grafisch: In Abb. 2.1 stellt die Ecke C=(200,600) eine optimale LP-L¨osung dar.
52
2 Lineare Optimierungsmodelle
(S4)
z = 1300 x1 = 200 x2 = 600 x5 = 200 x6 = 100
– 0,5 x3 – x3 + x3 + x3 – x3
– x4 + x4 – 2 x4 – x4 + 2 x4
Abb. 2.11. Iteration 4
Die Schlupfvariablen x3 , x4 , x5 und x6 haben bei dieser optimalen L¨osung die Werte 0, 0, 200 und 100. Das heißt insbesondere, dass bei den ersten zwei Ungleichungen des linearen Programms jeweils die rechte Seite gleich der linken Seite ist. Dies bedeutet, dass sowohl Zeit- als auch LederbelieferungsKapazit¨ aten bei der optimalen L¨ osung vollst¨andig ausgesch¨opft sind. Die (endg¨ ultigen) reduzierten Kosten sind nun die Koeffizienten der modifizierten Zielfunktion der optimalen L¨ osung, n¨ amlich 0, 0, -0,5, -1, 0 und 0 f¨ ur x1 , x2 , x3 , x4 , x5 bzw. x6 . Insbesondere heißen die reduzierten Kosten der Schlupfvariablen auch Schattenpreise der jeweiligen Restriktionen. Im nachfolgenden Abschnitt wird die ¨ okonomische Bedeutung reduzierter Kosten und Schattenpreise ausf¨ uhrlich behandelt. Der Leser mag sich schon jetzt u ohung der Zeit- oder Lederbelieferungs-Kapazit¨at um ¨berlegen, was eine Erh¨ eine oder wenige Einheiten bei der optimalen L¨osung ausmacht! 2.6.3 Bestimmung einer zul¨ assigen Anfangsl¨ osung Im obigen Beispiel war der Koordinatenursprung (0,0) eine zul¨assige L¨osung und konnte somit als Ausgangs-Basisl¨ osung gew¨ahlt werden. Wenn dies nicht der Fall ist, wird zuerst ein modifiziertes LP-Modell gel¨ost. Man nennt dies die Phase I des Simplex-Verfahrens, wobei als Zielsetzung nach einer zul¨assigen L¨osung gesucht wird. Erst danach wird in Phase II des Verfahrens, ausgehend von dieser zul¨ assigen L¨ osung, eine optimale L¨ osung des eigentlichen Problems gesucht. Die Phase I wird nun anhand des folgenden Beispiels erl¨autert. Anschließend werden die Schritte der Phase I und Phase II von Simplex f¨ ur dieses Beispiel grafisch veranschaulicht (vgl. Abb. 2.16). Es bleibt dem Leser u ¨berlassen, die Schritte grafisch zu verfolgen und zu interpretieren. Die Ausgangsbasis: NBV: x1 , x2 BV: (z, ) x3 , x4 , x5 , x6 Basisl¨osung: 0 0 0 4 5 -2 -3 Das modifizierte Gleichungssystem lautet: z= x3 = x4 = x5 = x6 =
0 + 3x1 4 - x1 5 - 2x1 -2 - x1 -3 + x1
+ + +
2x2 x2 x2 4x2 2x2
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen Beispiel Max s.t. x1 2 x1 x1 x1
53
... im Standardformat
z = 3x1 + 2x2 d d t t t 0
+ x2 + x2 + 4x2 + 2x2 x1 , x2
Max s.t. 4 5 2 3
z z – 3x1 2x2 x1 + x2 + x3 2 x1 + x2 + x4 x5 x1 + 4x2 x6 x1 + 2x2 x1 , x2 , x3 , x4 , x5 , x6
= = = = = t
0 4 5 2 3 0
Leider ist die Anfangsl¨ osung unzul¨ assig, da x5 und x6 negative Werte haben! Um zun¨ achst eine zul¨ assige Anfangsl¨ osung zu finden, wird eine Phase I ” Zielfunktion“ gebildet, welche die Summe der Unzul¨ assigkeiten minimiert. Dies wird dadurch erreicht, dass die Summe der Variablen, die negative – also unzul¨ assige – Werte annehmen, maximiert wird. Ziel ist es, durch SimplexSchritte die Variablen mit unzul¨ assigen Werten zun¨achst auf ihre untere Grenze (hier Null) zu bekommen. Daf¨ ur werden hier Variablen mit unzul¨assigen Werten leicht anders behandelt. Man nennt diese Variation des Simplex erweiterter Simplex. Phase I - Zielfunktion: max s wobei s = x5 + x6 = (-2 - x1 + 4x2 ) + (-3 + x1 + 2x2 ) = -5 + 6 x2 Ausgangsbasis: NBV: x1 , x2 BV: (s, z,) x3 , x4 , x5 , x6 Basisl¨ osung: 0 0 -5 0 4 5 -2 -3 Mit dieser ver¨ anderten Zielfunktion wird nun der Simplex-Algorithmus durchgef¨ uhrt: Phase I, Iteration 1: (*) Eine Variable mit negativem Wert unterschreitet die untere Grenze und soll beim erweiterten Simplex-Algorithmus zun¨achst auf ihre untere Grenze u uhrt werden. ¨berf¨ Basistausch: x2 hinein, x5 heraus !! Phase I, Iteration 2: Setze x2 =
1 2
+ 14 x1 + 14 x5 ein! s = –5 + 6( 12 + 14 x1 + 14 x5 ) = –2 + x1 + x5 Neue Basis: NBV: x1 , x5 BV: (s, z,) x2 , x3 , x4 , x6 Basisl¨ osung: 0 0 -2 1 12 27 29 -2
Basistausch: x1 hinein, x6 heraus!
54
2 Lineare Optimierungsmodelle
Abb. 2.12. Phase I, Iteration 1
Umgewandeltes System:
s = –2 z = 1
1 2 7 x3 = 2 9 x4 = 2 x2 =
x6 = –2
3 x1 2 7 + x1 2 1 + x1 4 5 – x1 4 9 – x1 4 3 + x1 2 +
3 + x5 2 1 + x5 2 1 + x5 4 1 – x5 4 1 – x5 4 1 + x5 2
x1 n f x1 n
14 5
x1 n 2 x1 n
4 (s.o.) min! 3
Abb. 2.13. Phase 1, Iteration 2
Phase I, Beginn von Iteration 3: Setze x1 = x5 + x6 ein s = -2 + 32 ( 43 - 13 x5 + 23 x6 )+ 32 x5 = 0 + x5 + x6 Neue Basis: NBV: x5 , x6 ; BV: (s, z,) x1 , x2 , x3 , x4 (Basisl¨osung und modifiziertes System s.u.) Ende Phase I: Die Unzul¨ assigkeiten sind abgebaut (s = 0 und x5 , x6 = 0, da NBV)! Beginn Phase II: Der Simplex-Algorithmus wird nun mit z als Zielfunktion weitergef¨ uhrt. Ausgangspunkt ist die letzte Basis (Phase I) und das entsprechend umgewandelte System. Setze x1 = − 43 − 13 x5 + x6 ein (eigentlich letzter Schritt aus Phase I)
2.6 Das Simplex-Verfahren zur L¨ osung von LP-Modellen
z=1+
7 2
55
2 7 ( 43 - 13 x5 + 23 x6 ) + 12 x5 = - 17 3 - 3 x5 + 3 x6
Ausgangsbasis: NBV: x5 , x6 , BV: (z,) x1 , x2 , x3 , x4 5 11 3 17 4 Basisl¨ osung: 0 0 3 3 6 6 2 Ausgangssystem f¨ ur Phase II ist das modifizierte System aus der letzten Iteration in Phase I:
z = x1 = x2 = x3 = x4 =
17 3 4 3 5 6 11 6 3 2
– – + + +
2 x5 3 1 x5 3 1 x5 6 1 x5 6 1 x5 2
+ + + – –
7 x6 3 2 x6 3 1 x6 6 5 x6 6 3 x6 2
x6 n f x6 n f x6 n
11 5
x6 n 1
min!
Abb. 2.14. Phase 2
Basistausch: x6 hinein, x4 heraus! Phase II, Iteration 1: Setze x6 = 1 - 23 x4 + 13 x5 ein z=
17 3
- 23 x5 + 73 (1 - 23 x4 + 13 x5 ) = 8 -
14 9 x4
+ 19 x5
Neue Basis: NBV: x4 , x5 BV: (z,) x1 , x2 , x3 , x6 Basisl¨ osung: 0 0 8 2 1 1 1 Phase II, Iteration 2: Setze x5 = 9 – 9 x3 + 5x4 ein 1 z = 8 - 14 9 x4 + 9 (9 - 9x3 + 5x4 ) = 9 - x3 - x4 x1 = . . . = 1 +/- . . . x2 = . . . = 3 +/- . . . ... Neue Basis: NBV: x3 , x4 BV: (z,) x1 , x2 , x5 , x6 Basisl¨ osung: 0 0 9 1 3 ... ... Diese L¨ osung ist optimal; Erh¨ ohen der NBV x3 und x4 verbessert den Zielfunktionswert nicht.
56
2 Lineare Optimierungsmodelle
Modifiziertes System:
z = 8
–
x1 = 2
–
x2 = 1
–
x3 = 1
+
x6 = 1
–
14 x4 9 4 x4 9 1 x4 9 5 x4 9 2 x4 3
+ – + – +
1 x5 9 1 x5 9 2 x5 9 1 x5 9 1 x5 3
x5 n 18 x5 n f x5 n 9
min!
x5 n f
Basistausch: x5 hinein, x3 heraus!
Abb. 2.15. Phase 2, Iteration 1
Abb. 2.16 zeigt eine grafische Veranschaulichung der Simplex-Schritte der ur das obige Phasen I und II im Raum der Strukturvariablen x1 und x2 f¨ Beispiel. Beachte, dass die Punkte O, A, B, C und D nach den Definitionen in 2.2.3 alle Ecken heißen, die auch zu Basisl¨osungen entsprechen. Die Ecken O und A sind unzul¨ assige Ecken und die zugeh¨origen Basisl¨osungen sind unzul¨ assig. Eine formale Beschreibung der Simplex-Methode mit oberen und unteren Grenzen f¨ ur Variablen und Restriktionen befindet sich in den Online-Lernmaterialien.
2.7 Grafische Veranschaulichung – Vertiefung Dieser Abschnitt beinhaltet vertiefendes Material f¨ ur besonders interessierte, insbesondere geometrisch und visuell orientierte Leserinnen und Leser. 2.7.1 Grafische Veranschaulichung der Grundidee des Simplex-Verfahrens Betrachten wir noch einmal die grafische L¨ osung des LP-Beispielprogramms in Abb. 2.1. Das Simplex-Verfahren w¨ urde im Ursprung O als trivialer Basisl¨ osung anfangen. Die Isogewinngerade durch diesen Punkt liefert einen Zielfunktionswert von z = 2 · 0 + 1, 5 · 0 = 0. Durch Erh¨ohen des Wertes von x1 von 0 auf 400 bewegt man sich von der Ecke O zur Ecke A = (400, 0). Die Isogewinngerade wird also nach oben parallel verschoben. Nun ist z = 2 · 400 + 1, 5 · 0 = 800 geworden. Durch Erh¨ ohen des Wertes von x2 von 0 auf 200 bewegt man sich von der Ecke A zur Ecke B = (400, 200) auf einer Kante des zul¨assigen Bereichs. Die Isogewinngerade verschiebt sich parallel nach oben: z erh¨oht sich weiter auf 2 · 400 + 1, 5 · 200 = 1100. Als letztes bewegt man sich auf einer Kante des zul¨ assigen Bereichs zur Ecke C = (200, 600), die dann eine optimale L¨osung mit z = 1300 darstellt.
2.7 Grafische Veranschaulichung – Vertiefung
x2
5
57
Isogewinngerade z0 6 3x1 2 x2
6
4
Optimale Lösung x1 1, x2 1 z
3 1 2 3 9
D
3
Isogewinngerade z0 9
Phase II
2
3x1 2 x2
9
erste zul. Basis:
z0
17 6 3 5 6
Phase I O -1
4 1 3
x1
2
3
4
Abb. 2.16. Grafische Veranschaulichung der Simplexschritte (Phase I und Phase II)
Nur im letzten Schritt wird keiner der Werte der urspr¨ unglichen Modellvariablen, der sog. Strukturvariablen, von 0 auf einen positiven Wert erh¨oht. Eigentlich wird auch hier eine Variable von 0 auf einen positiven Wert erh¨oht (wie bei den ersten zwei Schritten). Diese Variable ist keine Strukturvariable, sondern eine Schlupfvariable (vgl. Abschnitt 2.6.1). Grafische Deutung von Schlupfvariablen ur die Restriktion der Betrachten wir die Ungleichung (b) x1 + x2 ≤ 800 f¨ ur einen beLederbelieferung. Der Wert der zugeh¨ origen Schlupfvariable x4 f¨ stimmten Punkt in der Ebene modelliert in gewissem Sinne der Abstand dieses Punktes zu der Restriktionsgeraden x1 +x2 = 800 in Richtung des zul¨assigen ” Bereiches“. Falls x4 = 0, dann gilt x1 + x2 = 800. Der Punkt liegt auf der Restriktionsgeraden.
58
2 Lineare Optimierungsmodelle
Falls x4 < 0, dann gilt x1 + x2 > 800, und der Punkt ist oberhalb der Restriktionsgeraden im unzul¨assigen Bereich. x4 0 Falls x4 > 0, dann gilt x1 + x2 < 800. Der Punkt ist im zul¨assigen Bereich oder im unzul¨ assigen Bereich, dann aber bex4 ! 0 dingt durch eine andere Restriktion, deren x4 0 Schlupfvariable < 0 ist (siehe Abb. 2.17). Also stellt die Ungleichung x4 ≥ 0 die unAbb. 2.17. Schlupfvariable 1 tere Halbebene dar, die alle die Restriktiullenden Punkon (b) x1 + x2 ≤ 800 erf¨ te der Ebene beinhaltet. Diese Halbebene nennen wir die x4 -Halbebene und die Gerade x1 + x2 = 800 (⇔ x4 = 0) die x4 Gerade. Nicht nur jede Schlupfvariable definiert so eine Halbebene – oder allgemeiner einen Halbraum im Rn , sondern auch jede Strukx2 turvariable: Die im Bild gezeichnete x2 Halbebene beinhaltet alle Punkte, welche x2 t 0 ullen die (implizite) Restriktion x2 ≥ 0 erf¨ x2 0 oren (Die Punkte auf der x2 -Geraden geh¨ zur entsprechenden Halbebene)(siehe Abb. 2.18). Abb. 2.18. Schlupfvariable 2 Wie eine Halbebene von einer Geraden abgegrenzt ist, wird im drei- bzw. ndimensionalen Raum ein Halbraum von einer Ebene bzw. ((n − 1)dimensionalen) Hyperebene abgegrenzt. Z. B. stimmt die x2 -Gerade (x2 = 0) auf der Ebene mit der x1 -Achse u ¨berein, aber im dreidimensionalen bzw. n-dimensionalen Raum stellt x2 = 0 die durch die x1 - und x3 -Achsen aufgespannte Ebene (x2 -Ebene) bzw. die durch die x1 -, x3 -, x4 -, ..., xn -Achsen aufgespannte Hyperebene (im Rn ) dar (x2 -Hyperebene). Der durch x2 ≥ 0 definierte Halbraum wird durch die x2 -Hyperebene abgegrenzt und wird x2 Halbraum genannt. Im Allgemeinen nennt man f¨ ur jede Variable des LP-Standardmodells (Strukturoder Schlupfvariable), d. h., f¨ ur xj (j = 1, 2,..., n, n + 1,..., n + m): • die Hyperebene im Rn , die durch xj = 0 definiert ist, die xj -Hyperebene und • den Halbraum im Rn , der durch xj ≥ 0 definiert ist, xj -Halbraum. ¨ In Abb. 2.19 (s.u.) ist der Ubersichtlichkeit halber xj direkt neben der xj Gerade (xj = 0) auf der Seite der xj -Halbebene (xj ≥ 0) eingesetzt.
2.7 Grafische Veranschaulichung – Vertiefung
59
Grafische Charakterisierung des zul¨ assigen Bereichs eines LP-Modells Mit Hilfe der obigen Ausf¨ uhrungen stellen wir fest, dass der zul¨assige Bereich eines LP-Modells der Durchschnitt von n + m Halbr¨aumen des ndimensionalen Punkteraumes Rn ist. Diese Halbr¨aume sind nach obiger Notation genau die x1 -, x2 -, ...., xn -, xn+1 -, ..., xn+m -Halbr¨aume. In Abb. 2.19 ist der zul¨ assige Bereich der Durchschnitt der x1 -, x2 -, x3 -,. x4 -, x5 - und x6 Halbebenen. Man kann zeigen, dass der Durchschnitt von Halbr¨aumen konvex und li” near bzw. geradlinig abgegrenzt“ ist. W¨ are der zul¨assige Bereich ZB nicht konvex, dann w¨ urden zwei Punkte A und B ∈ ZB existieren, auf deren Verbindungsstrecke AB mindestens ein Punkt X ∈ / ZB liegt. Dann m¨ usste also ur eine xj -Hyperebene existieren, in der die Variable xj nicht-negative Werte f¨ A und B, aber einen negativen Wert f¨ ur X annimmt. Daf¨ ur wiederum m¨ usste die Verbindungsstrecke AB die xj -Hyperebene zum Punkt X verlassen, um dann zur¨ uckzukehren und zu B zu gelangen. Dies ist nicht m¨oglich, weil eine Gerade entweder in einer Hyperebene enthalten ist oder die Hyperebene in genau einem Punkt trifft. 2.7.2 Basis vs. Ecke Eine Ecke bez¨ uglich eines LP-Modells mit n Strukturvariablen bezeichnet einen Punkt des n-dimensionalen Raums, der als Durchschnitt von n Hyperbenen aus den n + m durch die LP-Restriktionen definierten Hyperebenen dargestellt werden kann. Eine Ecke ist unzul¨assig, falls sie nicht zum zul¨ assigen Bereich des LPs geh¨ ort. Beispielsweise ist in Abb. 2.19 die Ecke C (200,600) der Durchschnitt der zwei Restriktionsgeraden (2x1 + x2 = 1000) und (x1 + x2 = 800), also der Durchschnitt der x3 - und x4 -Geraden. Die Ecke A (400,0) ist der Durchschnitt der x5 -Geraden (x1 = 400 ⇔ x5 = 0) und der x2 -Geraden (x1 = 0). Der Punkt N (800, 0), der Durchschnitt der x4 - und x2 -Geraden, ist auch eine Ecke, liegt aber im unzul¨assigen Bereich, ist also eine unzul¨ assige Ecke. Eine degenerierte (entartete) Ecke ist eine Ecke, die als Durchschnitt von mehr als n Hyperebenen dargestellt werden kann. Eine solche Ecke auf der Ebene ergibt sich z. B., wenn drei Restriktionsgeraden einen gemeinsamen Schnittpunkt haben. Eine Basis B definiert eindeutig eine Basisl¨ osung durch Setzen aller Nichtbasisvariablen (NBV) auf 0. Jede Basisl¨ osung (und somit jede Basis) entspricht derjenigen Ecke, die als Durchschnitt aller n xj -Hyperbenen dargestellt wird, uglich der Basis ist. wobei xj NBV bez¨ Eine entartete Ecke kann durch mehrere Basen/Basisl¨osungen dargestellt werden. Diese sind gleichwertige entartete Basisl¨ osungen. Eine BV des Werts Null kann als NBV deklariert werden und eine NBV mit dem Wert 0 kann stattdessen in die Basis aufgenommen werden.
60
2 Lineare Optimierungsmodelle
x2
1000
NBV x4 , x6 NBV x3 , x6
NBV x6 , x1 E
500
x6
L NBV x3 , x4
D K x4
NBV x5 , x6 (z. B. x4 0)
C
zulässiger Bereich
NBV x5 , x4 (z. B. x3 0) M x3
NBV x5 , x3
x1
B
NBV x2 , x4 (z. B. x5 0) x5
100 x2
O NBV x1 , x2
N A
100
NBV x2 , x5 500
x1
1000
Abb. 2.19. Entsprechung Ecke - Basis (NBV = Nichtbasisvariablen bez¨ uglich Basis)
Man kann zeigen, dass optimale L¨ osungen eines LP-Modells, falls vorhanden, am Rande des zul¨ assigen Bereichs liegen. Die L¨osung kann eindeutig sein, also in genau einer Ecke wie in Abb. 2.1 liegen. Sie kann auch zwischen optimalen Ecken auf einer Verbindungsstrecke oder allgemeiner auf einer konvexen Hyperebenenfl¨ ache (Typ 1, 2 oder 3 in Abb. 2.2) verlaufen, falls die Zielfunktionsgerade(-hyperebene) im Optimum auf einer Kante des ” zul¨ assigen Bereichs“ liegt. Dann gibt es unendlich viele optimale L¨osungen (mehrdeutige L¨ osung). Da eine optimale L¨ osung an einer Ecke des zul¨assigen Bereichs liegen muss, reicht es bei der L¨ osung von LPs mittels der SimplexMethode aus, die Ecken, also Basisl¨ osungen, zu untersuchen. 2.7.3 Was ist ein Simplex“? ” Ein (m-dimensionales) Simplex ist ein durch m + 1 Punkte des Rm , die nicht in einer Hyperebene liegen, aufgespannter Polyeder. Eine Verbindungsstrecke ist ein eindimensionales Simplex, ein Dreieck ist ein zweidimensionales Sim-
2.7 Grafische Veranschaulichung – Vertiefung
61
plex und ein Tetraeder ist ein dreidimensionales Simplex (ein Punkt ist ein nulldimensionales Simplex.) Jede Ecke bzgl. eines LP im Raum Rn (der Strukturvariablen) wird durch mindestens eine Basis bzw. Basisl¨ osung (mehrere bei Entartung) dargestellt. Alle Basisl¨ osungen definieren Punkte im Raum Rn+m (der Struktur- und Schlupfvariablen). Diese liegen nur in den m-dimensionalen Unterr¨aumen des Rn+m , die durch Setzen von n (Nichtbasis-)Variablen auf 0 definiert sind. Bei einer gegebenen Basisl¨osung kann also die Lage des zugeh¨origen Punktes im durch die m BV definierten Rm betrachtet werden. In der Regel (bei nicht entarteten Basisl¨ osungen) liegt so ein Punkt außerhalb der xj -Hyperebenen (definiert ur jede BV xj . jeweils durch xj = 0) des Rm f¨ Als Nachbarschaft betrachtet man Basisl¨ osungen, die (projiziert auf denselben Rm ) auf diesen xj x13 m BV : x11 , x12 , x13 z 0 Hyperebenen liegen, d. h. eine BV, z. B. x13 in Abb. 2.20, wird auf 0 x12 0 gesetzt und kann als NBV bzgl. einer anderen Basis/Basisl¨ osung anx11 gesehen werden. Es verbleiben nun m − 1 BV, die mit der Hinzunahme x 0 11 einer alten NBV in die Basis vervollst¨ andigt werden k¨ onnen. Daf¨ ur x13 0 x12 gibt es potentiell n M¨ oglichkeiten. Also steht ein gezeichneter Punkt f¨ ur xi = 0 in Abb. 2.20 eigentlich Abb. 2.20. Das m-dim. Simplex der f¨ ur n m¨ ogliche Punkte, die zu n Simplex-Methode (f¨ur m = 3, BV sind m¨ oglichen Basisl¨ osungen (Ecken) – x11 , x12 und x13 ) oren. Solche projiziert auf Rm – geh¨ Basisl¨ osungen nennt man NachbarBasisl¨ osungen zu der betrachteten Basisl¨ osung. Es gibt somit f¨ ur eine betrachtete Basisl¨ osung insgesamt n × m m¨ ogliche Nachbar-Basisl¨osungen, die ¨ durch gleichzeitiges Andern einer BV zu einer NBV und einer NBV in eine BV konstruiert werden k¨ onnen. Die Simplex-Methode w¨ ahlt dabei zun¨ achst eine NBV, die zur Basis hinzugenommen werden soll (Strategie: Erh¨ ohen des Wertes der gew¨ahlten NBV verbessert i.d.R. den Zielfunktionswert). Es gibt dann genau m M¨oglichkeiten zu einer der Nachbar-Basisl¨ osungen zu gelangen, n¨amlich – projiziert auf Rm – genau die gezeichneten (nun eindeutigen) Punkte f¨ ur xi = 0 (xi BV, die jeweils zur NBV werden soll). Die betrachtete Basisl¨ osung zusammen mit diesen m Punkten bilden in Rm ein m-dimensionales Simplex, das sozusagen die Nachbarschaft der Basisl¨osung bei einer Wahl der zur Basis hinzuzunehmenden NBV darstellt (siehe Abb. 2.20). Dieses Simplex hat die sch¨ one Eigenschaft, dass mindestens eine der dargestellten Nachbar-Basisl¨ osungen zul¨ assig sein muss. Nun hat man eine
62
2 Lineare Optimierungsmodelle
andere Basis und kann ein anderes Simplex im entsprechenden Rm bzgl. neuer BV (anderer m-dimensionaler Unterraum des Rn+m ) erforschen. Irgendwann stellt sich hoffentlich heraus, dass die L¨ osung durch Hinzunahme einer NBV zur betrachteten Basis nicht mehr verbessert werden kann: Eine optimale Basisl¨ osung wurde schon erreicht! Dem Leser wird nun empfohlen, die Simplex-Schritte anhand des Beispiels im Abschnitt 2.6.2 durchzugehen und sich den Zusammenhang zwischen der algebraischen und der grafischen Vorgehensweise schrittweise gedanklich zu konstruieren.
¨ 2.8 Okonomische Interpretation und Auswertung einer LP-L¨ osung Oben wurde erw¨ahnt, dass die ¨ okonomische Bedeutung der linearen Optimierung so hoch eingesch¨ atzt wurde, dass Kantorovic und Koopmans daf¨ ur der Nobelpreis f¨ ur Wirtschaftswissenschaften verliehen bekamen. In diesem Abschnitt wird diese Bedeutung anhand eines Beispiels diskutiert. Beispiel: Holzverarbeitung Eine holzverarbeitende Firma S¨ ager“ produziert f¨ unf Produkte. Holz1, ” Holz2, Holz3, Holz4 und Holz5. Zur Herstellung der Produkte ben¨otigt die Firma zwei Arbeitsg¨ ange: schleifen und lackieren. Zus¨atzlich werden f¨ ur jedes Holz-Produkt 80 Arbeitsstunden pro Monat (30 Arbeitstage) f¨ ur das Zusammenschneiden der H¨ olzer ben¨otigt. Die folgende Tabelle zeigt die Deckungsbeitr¨ age und die eingesetzten Ressourcen. Holz1 Holz2 Holz3 Holz4 Holz5 Deckungsbeitrag (e) 2200 2250 1400 1600 800 Schleifen (h) 40 80 100 60 Lackieren (h) 30 28 64 Die Fabrik hat 4 Schleifmaschinen, die an einem Tag 10 Stunden im Betrieb sind (30·10·4 = 1200 Arbeitsstunden f¨ ur die Schleifmaschinen im Monat). Die Fabrik hat auch 4 Lackierpistolen, welche 6 Stunden am Tag zur Verf¨ ugung stehen (30·6·4 = 720 Arbeitsstunden f¨ ur die Lackierpistolen im Monat). F¨ ur das Zuschneiden der H¨ olzer werden 10 Arbeiter besch¨aftigt, jeder dieser Arbeiter arbeitet 5 Stunden pro Tag (30 · 10 · 5 = 1500 Arbeitsstunden aller Arbeiter im Monat) Die Firma S¨ager“ m¨ ochte unter Ber¨ ucksichtigung aller betrieblichen ” Restriktionen ein solches monatliches Produktionsprogramm erstellen, das den gesamten Deckungsbeitrag maximiert.
¨ 2.8 Okonomische Interpretation und Auswertung einer LP-L¨ osung
Das entsprechende Optimierungsmodell lautet: max z = 2200x1 + 2250x2 + 1400x3 + 1600x4 + 800x5 , s.t. 40x1 30x1 80x1 x1
+ 80x2 + 28x2 + 80x2 , x2
63
(Zielfunktion)
+ 100x4 + 60x5 ≤ 1200 (Schleifen) + 64x3 + ≤ 720 (Lackieren) + 80x3 80x4 + 80x5 ≤ 1500 (Arbeitsstunden) , x3 x4 , x5 ≥ 0
Dieses Modell wurde mit einer Optimierungssoftware gel¨ost, in diesem Falle mit ClipMOPS. Man erh¨ alt folgendes Ergebnis: Holzfabrik Max LB UB TYP Schleifen Lackieren Arbeiter
Holz_1 Holz_2 Holz_3 Holz_4 Holz_5 TYP RHS 2200 2250 1400 1600 800 INF CON
INF CON 40 30 80
INF CON 80 28 80
INF INF CON CON 100 60 0) bzw. in die andere Richtung (f¨ auffassen. Bei der modifizierten Zielfunktion sieht man, dass die Erzwingung eines posiur eine NBV xj eine marginale Verschlechtetiven bzw. negativen Wertes δj f¨ rung bzw. Verbesserung des Zielfunktionswertes um δj ·reduced-costs(xj ) nach sich zieht, wobei reduced-costs f¨ ur die reduzierten Kosten einer strukturellen Variable oder auch f¨ ur die Schattenpreise der zu einer Schlupfvariable xj geh¨orenden Restriktion steht. Es ist zu beachten, dass die Ver¨anderung δj einer Struktur- oder Schlupfvariable immer aus Sicht des Ursprungs-LP zu betrachten ist: Das Erzwingen der Produktion von Holz3 von 1 Einheit bedeutet, dass sich die Strukturvariable x3 marginal um δ3 = +1 ver¨andert (vgl. Abb. 2.22). Hingegen bedeutet eine Kapazit¨atserweiterung (z. B. der Schleifkapazit¨at) um eine Einheit, dass sich der Wert der zur Schleifen-Restriktion geh¨orenden Schlupfvariable x6 marginal um δ6 = −1 ver¨andert (vgl. Abb. 2.23)! Eine n¨ utzliche Regel sollte man sich letztlich merken: Falls eine Ver¨anderung eine Einschr¨ankung des zul¨assigen Bereichs bewirkt, dann kann sich der Zielfunktionswert nicht verbessern, sondern h¨ochstens verschlechtern (vgl. Abb. 2.22). Umgekehrt; falls eine Ver¨anderung eine Erweiterung des zul¨assigen Be-
¨ 2.8 Okonomische Interpretation und Auswertung einer LP-L¨ osung
67
reichs bewirkt, dann wird sich der Zielfunktionswert nicht verschlechtern, sondern eher verbessern (vgl. Abb. 2.23: Kapazit¨ atserweiterung). Sensitivit¨ atsanalysen Reduzierte Kosten und Schattenpreise dr¨ ucken nur im bestimmten Rahmen ¨ die Anderungen des Zielfunktionswertes bzw. der L¨osung aus. Die Sensitivit¨ atsanalyse besch¨ aftigt sich damit, in welchen Grenzen marginale Auswirkungen g¨ ultig sind. Die Sensitivit¨ atsanalyse scheint auf den ersten Blick ein sinnvolles Werkzeug f¨ ur die Analyse von LP-Modellen und deren L¨osungen sein. Jedoch ist sie f¨ ur Praxisprobleme nur sehr eingeschr¨ ankt nutzbar. Der Grund daf¨ ur liegt in der Tatsache, dass große praktische Probleme typischerweise stark degeneriert sind. Somit ist der Wert vieler Basisvariablen gleich 0. In dem Fall geh¨oren zu einem Eckpunkt mehrere Werte der reduzierten Kosten, so dass keine Aus¨ sagen u osungsverhalten bei der Anderung des zugrundeliegenden ¨ber das L¨ Problems m¨ oglich sind. Bemerkung: Große LP-Modelle aus der Praxis haben fast immer eine degenerierte optimale L¨ osung. F¨ ur jede optimale Basis gelten dann unterschiedliche Werte der reduzierten Kosten von Variablen. Somit ist die klassische Sensitivit¨ atsanalyse (wie oben geschildert) in solchen F¨allen wertlos! Dank der Effizienz heutiger Optimierungssoftware und schneller Rechner kann ein LP jedoch meistens in k¨ urzester Zeit mehrmals gel¨ost werden, und zwar mit verschiedenen Parametern. Auf diese Weise k¨onnen What-If-Analysen im Sinne einer Sensitivit¨ atsanalyse schnell durchgef¨ uhrt werden. Die klassische Sensitivit¨ atsanalyse, wie oben geschildert, hat somit kaum noch praktische Bedeutung. Obwohl bei degenerierten großen LP-Modellen reduzierte Kosten und Schattenpreise f¨ ur eine ¨ okonomische Interpretation an Bedeutung verlieren, sind sie z. B. f¨ ur die L¨ osung großer LP-Modelle mit sehr vielen Variablen doch sehr hilfreich: Mit der Column-Generation-Methode werden LPs mit sehr vielen Variablen dadurch gel¨ ost, dass unter Verwendung der Schattenpreise schrittweise gute Spalten“ – neue Variablen – generiert werden. Diese Methode ist ” anwendbar in vielen Bereichen in der Praxis, f¨ ur z. B. Besatzungseinsatzplanung in Fluggesellschaften sowie Verschnitt-Minimierung. 2.8.2 Duales Modell und seine Interpretation In der Dualit¨ atstheorie der linearen Programmierung wird bewiesen, dass jedes lineare Optimierungsmodell ein Partnermodell“ besitzt, dass das duale ” Modell genannt wird und im gewissen Sinne komplement¨ar ist. Das duale Modell des in der Einf¨ uhrung von 2.8 aufgestellten Beispielmodells heißt:
68
2 Lineare Optimierungsmodelle
min z’ = 1200y1 + 720y2 + 1500y3 s.t. 40y1 + 30y2 80y1 + 28y2 + 64y2 100y1 60y1 y1 , y2
+ + + + + ,
80y3 80y3 80y3 80y3 80y3 y3
≥ ≥ ≥ ≥ ≥ ≥
2200 2250 1400 1600 800 0
Es wird ersichtlich, dass die Werte der rechten Seite nun in der Zielfunktion und die urspr¨ unglichen Zielfunktionskoeffizienten in der rechten Seite erscheinen. Nach der Theorie der linearen Optimierung sind ein Modell und das entsprechende duale Modell eng verkn¨ upft; aus der L¨osung des Einen kann man die L¨ osung des Anderen ablesen. Regeln zur Bildung eines dualen Modells: Man betrachtet ein primales (urspr¨ ungliches) LP-Modell, hier in MatrixNotation, wobei keine Schlupfvariablen enthalten sind (jedes Modell kann in diese Form gebracht werden): (P) max z = cT x, c, x sind n-Vektoren s.d. Ax ≤ b, A ist m × n-Matrix und b ein m-Vektor, x ≥ 0, so dass x die Strukturvariablen, genannt primale Variablen, beinhaltet. Das folgende LP heißt das duale LP-Modell zu (P): (P’) min z = bT y, y ist ein m-Vektor von sogenannten dualen Variablen s.d. AT y ≥ c, AT ist die transponierte Matrix A, /qquady ≥ 0. Dabei gelten die folgenden Transformationsregeln: • Der Zielvektor c des primalen Modells wird zum Kapazit¨aten-Vektor“ des ” dualen Modells. • Der Kapazit¨ aten-Vektor b des primalen Modells wird zum Zielvektor des dualen Modells. • Bei primaler Maximierungsvorschrift ist die duale Zielfunktion zu minimieren. • Die transponierte primale Koeffizienten-Matrix AT ist die KoeffizientenMatrix des dualen Modells. (Transposition einer Matrix: Spalten werden zu Zeilen und umgekehrt.) • Bei ≤-Beschr¨ ankung des primalen Modells mit max-Zielfunktion sind die dualen Variablen vorzeichenbeschr¨ ankt (y ≥ 0). Das Gleiche gilt f¨ ur ≥Beschr¨ ankung bei einer min-Zielfunktion. • Bei primalen Gleichungsnebenbedingungen sind die entsprechenden dualen Variablen vorzeichenunbeschr¨ ankt, d. h. freie Variablen.
¨ 2.8 Okonomische Interpretation und Auswertung einer LP-L¨ osung
69
Die L¨ osung des dualen Modells f¨ ur das obige Beispiel durch ClipMOPS liefert Abb.2.24: HF-Dual Min LB UB TYP Holz1 Holz2 Holz3 Holz4 Holz5
Schleifen Lackieren Arbeiter TYP RHS 1200 720 1500 INF CON
INF CON 40 80 100 60
INF CON 30 28 64
80 80 80 80 80
Activity 1,25 0,00 26,88 Name Schleifen Lackieren Arbeiter Status BS LB BS reduced Cost 0 180 0
>= >= >= >= >=
2200 2250 1400 1600 800
Activity 2200 2250 2150 2275 2225
Name Holz1 Holz2 Holz3 Holz4 Holz5
Status reduced Cost LB 7,5 LB 11,25 BS 0 BS 0 BS 0
41812,50
Abb. 2.24. L¨ osung des dualen Modells in ClipMOPS
Die optimale L¨ osung des dualen Modells lautet: y1 = 1,25, y2 = 0, y3 = 26,875, der Zielfunktionswert betr¨ agt 41812,50 e. Es ist kein Zufall, dass der optimale Zielfunktionswert des dualen Problems identisch mit dem optimalen Zielfunktionswert des urspr¨ unglichen – primalen – Problems ist! Dies ist eine Haupteigenschaft der Dualit¨ at von LP-Modellen (siehe unten). Die Idee der Dualit¨ at zwischen den beiden o. g. Problemen kann man vielleicht in folgender Weise veranschaulichen: Wir nehmen an, dass eine Firma alle Ressourcen der o. g. Fabrik kaufen m¨ ochte. Welcher Preis soll daf¨ ur bezahlt werden? Da f¨ ur den K¨ aufer ein niedriger Preis g¨ unstiger ist, werden die Ressourcenkosten minimiert: y1 , y2 und y3 sind Preise der Ressourceneinheiten von Schleifen bzw. Lackieren in e/Std. (Die entsprechenden Koeffizienten 1200, 720 und 1500 haben die Einheit Std., also ist die Zielfunktion in e.) Damit sich der Verkauf f¨ ur den Verk¨ aufer lohnt, muss er/sie mindestens soviel verdienen, wie die Ressourcen bei der Produktion wert w¨aren (sonst w¨are es profitabler, weiter zu produzieren). Dies ergibt die ≥-Restriktionen des dualen Modells. Wir haben eine Restriktion f¨ ur jedes Produkt: Ressourcen sollen jeweils f¨ ur alle Produkte mindestens soviel erbringen, wie die jeweiligen Produkte an Wert haben (Deckungsbeitr¨ age). Die Restriktionen verstehen sich in e/Einh. F¨ ur jede Restriktion steht rechts der Preis eines Produkts, der von der linken Seite nicht unterschritten wird. Die Koeffizienten an der linken Seite stellen jeweils f¨ ur jede Ressource die ben¨ otigten Maschinenstunden f¨ ur das Produkt in Std./Einh dar (da die yi ’s e/Std. als Einheit haben, erhalten wir insgesamt e/Einh.). Dualit¨ atseigenschaften in der Linearen Programmierung Die folgenden Eigenschaften k¨ onnen mathematisch bewiesen werden:
70
2 Lineare Optimierungsmodelle
• Das duale Modell des dualen Modells ist das primale Modell. • Ist x zul¨ assige L¨ osung f¨ ur das primale Modell und y zul¨assige L¨osung f¨ ur das duale Modell in der o. g. Form, so gilt: z = cT x ≤ bT y = z’. Denn z = cT x ≤ (AT y) x = (y T A) x = y T (A x) ≤ y T b = bT y = z’, dabei wurden die Restriktionen des dualen, dann des primalen Modells angewandt. • Wenn eines der zueinander dualen Modelle eine optimale L¨osung hat, so hat auch das dazu duale Modell eine optimale L¨osung und die optimalen Zielfunktionswerte stimmen u ¨berein. • Ist das primale Modell unbeschr¨ ankt, so hat das duale Modell keine zul¨ assige L¨ osung. • Hat das primale Modell keine zul¨ assige L¨osung, so hat das duale Modell keine optimale L¨ osung (das duale Modell kann unbeschr¨ankt oder unzul¨ assig sein). • Die reduzierten Kosten der Schlupfvariablen einer optimalen L¨osung eines primalen Problems sind identisch zu den Werten der Strukturvariablen der optimalen dualen L¨ osung. • Analog entsprechen die reduzierten Kosten der dualen Schlupfvariablen den Werten der primalen Strukturvariablen. F¨ ur praktische Zwecke ist es somit gleichg¨ ultig, ob man das urspr¨ ungliche (primale) oder das duale Modell l¨ ost; manchmal ist das duale Modell schneller l¨osbar. Die Variante duale Simplex“ des Simplex-Algorithmus sucht zuerst ” nach einer dual zul¨ assigen L¨ osung ( besser als optimal“) und verbessert dann ” schrittweise die Zul¨ assigkeit der L¨ osung, bis er in einer f¨ ur das duale und primale Problem zul¨ assige L¨ osung gefunden hat. Dann ist man genau im Optimum gelandet! Oft ist der duale Simplex f¨ ur Praxisprobleme schneller als der urspr¨ ungliche primale Algorithmus. Dies ist insbesondere der Fall, wenn eine dual, aber nicht primal zul¨ assige Basisl¨ osung als Anfangsl¨osung bekannt ist.
2.9 Praxisbeispiele 2.9.1 Produktionsplanung bei Bottle Caps Quelle: Prof. Dr. Danny C. Myers, Bowling Green State University, OH, USA Die Firma Bottle Caps produziert Kunststoff-Verschl¨ usse f¨ ur Erfrischungsgetr¨anke. Um die Produktionsanlagen m¨ oglichst gleichm¨aßig auszulasten, l¨auft die Produktion m¨ oglichst u ¨ber das ganze Jahr, obwohl die Nachfrage sehr stark saisonal schwankt und in den heißen Sommermonaten am h¨ochsten ist. Es gibt zwar Prognosen u ¨ber die Nachfrage bestimmter Getr¨anke, aber das Konsumentenverhalten ist nicht wirklich vollst¨andig vorhersehbar. Unter Umst¨ anden k¨ onnen bereits produzierte Verschl¨ usse nicht abgesetzt werden.
2.9 Praxisbeispiele
71
Somit ist die Haltbarkeit der Produkte zeitlich beschr¨ankt. Auf der anderen Seite fallen die Lagerkosten an, falls im Vorrat produziert werden kann. F¨ ur Bottle Caps“ wurde ein lineares mehrperiodisches Optimierungsmo” dell aufgestellt, das die optimalen monatlichen Produktionsmengen aller Verschlussarten u ¨ber ein Jahr bestimmt, so dass unter Befriedigung der prognostizierten Nachfrage die Gesamtkosten minimiert werden. Das Modell hat eine in Abb. 2.5 vorgestellte treppenartige Struktur, die Lagerhaltung ber¨ ucksichtigt. Das Modell wird f¨ ur jeden Monat mit aktualisierten Absatzprognosen neu berechnet. Somit wird das Prinzip der rollierenden Planung verfolgt. Im Sinne eines Entscheidungsunterst¨ utzungssystems kann das Modell f¨ ur What-If-Analysen mit unterschiedlichen Zahlen und Parametern genutzt werden. In den Online-Lerneinheiten ist ein interaktives Modell enthalten, das die Manipulation von Parametern erlaubt und die L¨ osung mittels eines LP-Modells dazu individuell generiert. Im Allgemeinen gibt es heutzutage eine Vielzahl von Produkten mit einer re¨ lativ kurzen Lebensdauer, sei es aufgrund von technologischen Anderungen ¨ (Computerspiele), physikalischem Verfall (Milch, Obst) oder Anderungen von Konsumentenpr¨ aferenzen (Musik, Mode). Solche Produkte sind nur begrenzt lagerungsf¨ ahig, m¨ ussen also auf Bedarf hin produziert werden. Wenn dieser u ¨ber das Jahr konstant bzw. schon im Voraus bekannt ist, stellt das die Produzenten vor keine großen Probleme hinsichtlich ihrer Kapazit¨atsauslastung und Liefertreue. Das Beispielunternehmen Bottle-Caps produziert Kunststoffverschl¨ usse, welche auch als begrenzt haltbares Produkt gelten. Sie unterliegen zwar nicht einem physikalischen Verfall, m¨ ussen aber im Zuge von Werbekampagnen der Getr¨ ankehersteller im Design (Farbe, Schrift, etc.) angepasst werden und k¨ onnen somit nicht f¨ ur unbegrenzte Zeit produziert“ werden. Die ” Produktnachfrage kann u ¨ber das Jahr (Monat, Woche) variieren, und auch die Produkthaltbarkeit ist nicht unbedingt festgelegt bzw. bekannt. Diese Tatsachen f¨ uhren f¨ ur die Hersteller grunds¨ atzlich zu folgenden Problemen: 1. Wie groß ist die pro Jahr maximal absetzbare Menge bei bekannter Nachfrageverteilung und konstanter bekannter Produktlebensdauer, die mit den gegebenen Produktionsanlagen hergestellt werden k¨ onnen? 2. F¨ uhrt eine Verl¨angerung der Produktlebensdauer zu einer Erh¨ ohung dieser Menge? 2.9.2 Optimierung der S¨ udzucker R¨ ubenlogistik Quelle: [Lukesch 2005] Die S¨ udzucker AG verarbeitet in Deutschland pro Jahr zehn Millionen Tonnen Zuckerr¨ uben. Produziert wird an elf Standorten in der Zeit zwischen Mitte September und Ende Dezember. Auf Grund der unterschiedlichen Witterungsbedingungen in den Anbauregionen kommt es jedes Jahr zu unterschiedlichen
72
2 Lineare Optimierungsmodelle
R¨ ubenmengen in den Anbaugemeinden. Die Entscheidung u ¨ber die Zuordnung der R¨ ubenanbaufl¨ achen zu den elf S¨ udzucker Verarbeitungswerken stellt sich jedes Jahr neu, da die unterschiedlichen Witterungsbedingungen in den Anbauregionen zu teilweise drastischen Unterschieden im R¨ ubenertrag f¨ uhren. Das mit den R¨ ubenbauern vertraglich vereinbarte Verg¨ utungssystem f¨ ur die Lieferung der R¨ uben zu einem bestimmten Zeitpunkt f¨ uhrt zu einer nichtlinearen Zielfunktion und einer komplexen Struktur von Nebenbedingungen, die das Optimierungssystem einzuhalten hat. Bei der Firma wurde ein Planungsmodell als lineares Programm formuliert, welches unter Ber¨ ucksichtigung der vorhandenen Verarbeitungskapazit¨ aten grunds¨ atzlich ein kostenminimales Ergebnis liefert. Um die Nichtlinearit¨ aten zu beherrschen, wurde ein iteratives Verfahren entwickelt, so dass durch das L¨ osen vieler LP hintereinander das nichtlineare Optimum mit einer gew¨ unschten Genauigkeit erreicht werden kann.
¨ 2.10 Ubungsaufgaben ¨ Weitere Ubungen und L¨ osungen befinden sich im Internet. http://www.vorms.org Aufgabe 2-1: Farbenfabrik Ein Hersteller produziert zwei Arten von Farbe: Innen- und Außenfarbe, jeweils aus zwei Materialien: Grau und Weiss. Der Deckungsbeitrag betr¨agt f¨ ur die Außenfarbe 5000 e und Innenfarbe 4000 e jeweils per 1000 kg Farbe. F¨ ur die Produktion der Außenfarbe braucht man t¨aglich 6000 kg graue und 1000 kg weiße Farbe; f¨ ur die Innenfarbe t¨ aglich 4000 kg graue und 2000 kg weiße Farbe. Insgesamt stehen aufgrund l¨ angerfristiger Liefervertr¨age der Produktion t¨aglich 24.000 kg graue und 6000 kg weiße Farbe zur Verf¨ ugung. Eine Marktanalyse besagt, dass der t¨ agliche Absatz von Innenfarbe nicht mehr als 2000 kg betr¨ agt (mehr sollte t¨ aglich nicht produziert werden). Weiterhin darf die t¨ aglich produzierte Menge von Innenfarbe nicht mehr als 1000 kg h¨ oher sein als die t¨ agliche Produktionsmenge von Außenfarbe. a) Betrachten Sie diese Situation als eine Optimierungsaufgabe. Welche Art von Entscheidungen sollen getroffen werden? Mit anderen Worten, welche Entscheidungsvariablen gibt es? Wie lautet die Zielsetzung der Aufgabe? Welche Restriktionen gibt es? b) Formulieren Sie ein lineares Optimierungsmodell zur L¨osung der Optimierungsaufgabe. W¨ ahlen Sie aussagekr¨ aftige Bezeichnungen f¨ ur Variablen und Restriktionen.
¨ 2.10 Ubungsaufgaben
73
c) L¨ osen Sie das Modell grafisch; d. h. zeichnen Sie ein zweidimensionales Bild und bestimmen Sie mit dem Auge die optimale L¨osung. d) L¨ osen Sie das Modell mit Hilfe des Simplex-Algorithmus. e) Geben Sie Ihre L¨ osung f¨ ur den Entscheidungstr¨ager als Handlungsempfehlung ab, d. h. beschreiben Sie in der nat¨ urlichen Sprache, welche Werte die Entscheidungsvariablen haben sollten und welcher Zielfunktionswert sich daraus ergibt. Aufgabe 2-2: G¨ urtelbeispiel mit mehreren Produktionsst¨ atten Betrachten Sie das G¨ urtelbeispiel“ aus Abschnitt 2.2. Obwohl G¨ urtel nur in ” ganzzahligen Mengen produziert werden k¨ onnen, sollen im Folgenden lineare Modelle mit kontinuierlichen Variablen genutzt werden. (Falls es fraktionelle L¨osungswerte gibt, werden sie gerundet.) L¨ osen Sie die folgenden Aufgaben: a) Das Unternehmen hat eine zweite Produktionslinie f¨ ur G¨ urtel eingerichtet. Diese Linie braucht zur Herstellung von B-G¨ urteln nur 0,8 Zeiteinheiten (ZE). F¨ ur die Erstellung eines A-G¨ urtels werden weiterhin 2 ZE gebraucht. Linie 2 hat (zus¨ atzlich zur ersten Linie) ebenfalls 800 Ledereinheiten, 1000 Zeiteinheiten, 400 G¨ urtelschnallen vom Typ A und 700 G¨ urtelschnallen vom Typ B zur Verf¨ ugung. Bestimmen Sie graphisch die optimalen Produktionsmengen f¨ ur die Linie 2 (unabh¨ angig von der Linie 1). b) Das Unternehmen m¨ ochte nun die Gesamtsituation verbessern, so dass beide Produktionslinien gemeinsam betrachtet werden. Die Komponenten Leder und G¨ urtelschnallen k¨ onnen beliebig zwischen beiden Produktionslinien verteilt werden. Die Ressource Zeit ist allerdings maschinenbedingt nicht u ¨bertragbar. Stellen Sie ein lineares Optimierungsmodell zur Bestimmung der optimalen Produktionsmengen pro Linie und Produkt auf. Der erzielte Deckungsbeitrag pro G¨ urteltyp ¨andert sich nicht. Aufgabe 2-3: G¨ urtelbeispiel mit mehreren Perioden Betrachten Sie das urspr¨ ungliche G¨ urtelbeispiel“ aus Abschnitt 2.2. Dort ” wurde implizit angenommen, dass die gesamte Produktion mit dem gegebenen Deckungsbeitrag verkauft werden kann. Wir m¨ ochten jedoch auch die maximal zu erzielenden Absatzmengen ber¨ ucksichtigen. Wir wandeln das (urspr¨ ungliche) G¨ urtelbeispiel folgendermaßen um: Es werden zwei Perioden betrachtet (Sonderfall des mehrperiodischen Produktionsplanungsproblems). Zu Beginn der ersten Periode stehen jeweils 100 St¨ uck vom G¨ urtel A und G¨ urtel B im Lager. Am Ende der zweiten Periode sollen ebenfalls 100 St¨ uck jeweils von beiden Sorten im Lager stehen. Wir k¨ onnen in der ersten Periode im Vorrat auch f¨ ur die darauffolgende Periode produzieren; allerdings fallen dann Lagerhaltungskosten in H¨ohe von 20 Cent pro G¨ urtel und Periode an.
74
2 Lineare Optimierungsmodelle
Die Restriktionen f¨ ur G¨ urtelschnallen, Lederlieferungen und Maschinenkapazit¨ aten bleiben im betrachteten Zeithorizont unver¨andert und gelten jeweils pro Periode. Wir gehen davon aus, dass die Nachfrage vollst¨andig bekannt ist und sich folgendermaßen verteilt: Periode 1: G¨ urtel A 400 St¨ uck und G¨ urtel B 400 St¨ uck, Periode 2: G¨ urtel A 700 St¨ uck und G¨ urtel B 300 St¨ uck. Stellen Sie ein lineares Optimierungsmodell f¨ ur diese zweiperiodische Optimierungsaufgabe auf. L¨ osen Sie das Modell mit mathematischer Optimierungssoftware. Formulieren Sie die L¨ osung wieder als Handlungsanweisung in verst¨ andlicher Form.
2.11 Was sollte ich gelernt haben? Bestandteile eines LP-Modells Aus welchen Bestandteilen setzt sich ein LP-Modell zusammen und welche Eigenschaften haben diese? Modelle ohne zul¨ assige L¨ osung Woran erkennt man im Simplex-Algorithmus, dass ein LP-Modell keine zul¨assige L¨ osung hat? Modelle mit einer unbeschr¨ ankten optimalen L¨ osung Woran erkennt man im Simplex-Algorithmus, dass die optimale L¨osung eines Modells unbeschr¨ ankt ist? Mehrdeutige Optimall¨ osungen Woran erkennt man bei der grafischen L¨ osung, dass ein LP-Modell mehrere optimale L¨ osungen hat? Erkennt man dies direkt im Simplex-Algorithmus? Degenerierte (entartete) Optimall¨ osungen Was heißt degenerierte Optimall¨ osung? Woran erkennt man, dass eine optimale L¨ osung degeneriert ist: a) in der grafischen L¨osung, b) im SimplexAlgorithmus? Bemerkung: Beachten Sie, dass die Denegeriertheit keine seltene Eigenschaft ist, sondern bei sehr vielen großen Praxismodellen auftritt!
2.11 Was sollte ich gelernt haben?
75
Maximierung oder Minimierung Warum ist es mathematisch ¨ aquivalent, Maximierung oder Minimierung zu betrachten? Mehrere Produktionsst¨ atten Welche grunds¨ atzliche Struktur haben Produktionsplanungsmodelle mit mehreren Produktionsst¨ atten? Mehrere Perioden Welche grunds¨ atzliche Struktur haben Produktionsplanungsmodelle mit mehreren Perioden? Bemerkung: Beachten Sie, dass Optimierungsmodelle oft mit unterschiedlichen Zeithorizonten und Genauigkeiten gel¨ ost werden: F¨ ur mehrere Jahre wird auf Monatsebene eine Grobplanung durchgef¨ uhrt, die durch Wochenund Tagesmodelle verfeinert wird. Grundbegriffe Welche Struktur hat das Standardformat eines LP-Modells? Welche Schritte werden bei der Umwandlung in das Standardformat durchgef¨ uhrt? Testen Sie Ihr Wissen und wandeln Sie das folgende Beispiel in das Standardformat um: Max z = 3x1 + 2x2 s. t. x1 + x2 2x1 + x2 -x1 + 2x2 x1 + 2x2 x1 , x2
≤ ≤ ≥ ≥ ≥
4 5 2 3 0
Was versteht man unter einer Basis im algebraischen und geometrischen Sinne? Was ist eine Basisl¨ osung? Wieviele Basisvariablen geh¨ oren zur Basis eines LP-Modells im Standardformat? Welche Eigenschaft haben die Werte der Basisvariablen? Welche Eigenschaft haben die Werte der Nichtbasisvariablen? Welche Besonderheit haben die Werte der Basis- bzw. Nichtbasisvariablen einer degenerierten Basisl¨ osung?
76
2 Lineare Optimierungsmodelle
Die Simplex-Methode Wie lautet die Grundidee der Simplex-Methode? Aus welchen zwei Phasen besteht die Simplex-Methode? Was versteht man unter einer Iteration? Welche einzelnen Schritte f¨ uhrt man in jeder Iteration der Phase II durch? Wie bildet man die Zielfunktion in jeder Iteration der Phase I? Woran erkennt man, dass eine gegebene Basisl¨osung optimal ist? Woran erkennt man, dass es keine zul¨ assige L¨ osung gibt? Sensitivit¨ atsanalyse Warum hat die klassische Sensitivit¨ atsanalyse heute kaum noch praktische Bedeutung? LP Modell vs. duales Modell: Welche Eigenschaft hat das duale Modell eines LP-Modells im Standardformat? Warum kann das duale Modell statt des primalen gel¨ost werden? Welche allgemeinen Transformationsregeln gelten? Wie lautet das duale Modell des u. a. (primalen) LP-Modells? max z = cT x c, x sind n-Vektoren, s.t. Ax ≤ b, A ist m × n-Matrix und b ein m-Vektor x≥0 x beinhaltet die Strukturvariablen, genannt primale Variablen Wie lautet das duale Modell des oben unter Grundbegriffe“ genannten Mo” dells?
3 Software zur Lo ¨sung und Modellierung
Lernziele: • • • • •
Kenntnisse u ¨ber die wichtigsten Merkmale von Optimierungssoftware Erfahrung in Modellieren und L¨ osen von kleinen Modellen Kenntnisse u oglichkeiten von Modellen ¨ber verschiedene Eingabem¨ Verst¨ andnis dar¨ uber, was eine Modellierungssprache ist Verst¨ andnis dar¨ uber, was ein Entscheidungsunterst¨ utzungssystem ist
Online-Lernmodule: • Software zur automatischen L¨ osung von Optimierungsmodellen http://www.vorms.org
3.1 Merkmale von LP-Optimierungssoftware Ein praktisches Optimierungsproblem wird erst mathematisch modelliert, dann computergerecht dargestellt. Nach einer Modelll¨osung werden die Ergebnisse als Vorschlag dem Entscheidungstr¨ ager vorgelegt. Ein vereinfachtes Schema f¨ ur den Entscheidungsprozess mit Hilfe des Operations Research (vgl. Abb. 1.1), das die Rolle von Optimierungssoftware hervorhebt, ist in Abb. 3.1 angegeben. In diesem Abschnitt werden auf Basis von (Abb. 3.1) die Schritte Computer” modell“ und Modelll¨ osung“ diskutiert. Nachdem ein lineares Optimierungs” modell in der mathematischen Form (s. Abschnitt 2.2) vorliegt, muss es u ¨ber standardisierte Datenstrukturen einer Optimierungsengine“ eingegeben wer” den. Der Motor“ der Optimierung sorgt dann daf¨ ur, dass das Modell intern ”
78
3 Software zur L¨ osung und Modellierung
Realitätsausschnitt (System) Abstraktion / Validation mathematisches Modell Implementation Computermodell Optimierungssoftware Modellösung Interpretation Entscheidungsvorschlag
Abb. 3.1. Vorgang der Modelll¨ osung in der Praxis
in das Standardformat gebracht und mit der Simplex-Methode oder einem Innere-Punkte-Verfahren optimal gel¨ ost wird sowie die Ergebnisse in einem standardisierten Ergebnis-Format zur¨ uckgegeben werden. Die St¨ arke der linearen und gemischt-ganzzahligen Optimierung beruht vor allem darauf, dass es hoch entwickelte Standardsoftware gibt, die in der Lage ist, viele der praxisrelevanten Modelle zu l¨ osen. Der Simplex-Algorithmus wurde vor mehr als 50 Jahren erfunden und auch die Innere-Punkte-Verfahren sind u ¨ber 20 Jahre verbessert worden. Somit sind die State-of-the-Art-Codes durch unz¨ ahlige Verbesserungsschritte weiter ausgereift worden. Weil auch sehr große LP-Modelle heute optimal gel¨ost werden k¨onnen, tendiert man in praktischen Anwendungen zu immer gr¨oßeren Modellen. In den 80er Jahren war ein Modell mit einigen tausend Variablen und Restriktionen sehr groß; heute w¨ are es nur“ mittelgroß. ” Viele der gr¨ oßten heute gel¨ osten Modelle stammen aus dem Bereich Logistik und Transport, z. B. beinhalten Besatzungseinsatzprobleme (CrewScheduling-Probleme) großer Fluggesellschaften bis zu 12 Millionen Variablen. Eine faktische Obergrenze bietet somit die Hauptspeichergr¨oße der benutzten Rechner oder besser gesagt die Gr¨ oße des Adressraumes vom verwendeten Betriebssystem. Beispielsweise werden die meisten Optimierungsmodelle in Projekten des DS&OR Lab der Universit¨ at Paderborn unter Windows XP gel¨ost, das in der Lage ist, bis zu 2 GB Hauptspeicher zu adressieren. Dies setzte bis vor kurzem die Obergrenze auf die Gr¨ oße unserer Optimierungsmodelle, wobei die Anzahl der Variablen dabei in die Millionenh¨ohe gehen kann. Bald ist zu erwarten, dass Optimierungspakete unter 64-Bit-Adressierung auch auf PCs viel gr¨ oßere Hauptspeicherbereiche zur Verf¨ ugung stellen k¨onnen.
3.1 Merkmale von LP-Optimierungssoftware
79
Es gibt weltweit eine ganze Reihe von LP- und MIP-Solvern; allerdings gen¨ ugen nur ganz wenige H¨ ochstanspr¨ uchen. Der Marktf¨ uhrer ILOG CPLEX (vgl. http://www.ilog.com) sowie XPressMP (vgl. http://www.dashoptimization.com) geh¨ oren heute ohne Zweifel zu der leistungsst¨arksten Kategorie. Die Kernkomponenten von MOPS (vgl. http://www.mops-optimizer.com), wie z. B. die Simplex-Engine, sind ebenfalls auf dem Niveau des State-of-theArt. Allerdings fehlen in MOPS noch einige spezielle Strategien, die in ILOG CPLEX und XPressMP implementiert sind. (Diese Aussagen wurden im Jahr 2004 durch unabh¨ angige Benchmark-Tests belegt). http://www.ilog.com http://www.dashoptimization.com http://www.mops-optimizer.com Die Entwicklung von Optimierungssoftware ist komplex und erfordert spezifisches Wissen u ¨ber Algorithmen, Datenstrukturen und Systementwicklung. Jedes der konkurrenzf¨ ahigen Systeme besteht aus einer Sammlung diverser meist sehr komplexer Module und basiert auf jahrzehntelanger Arbeit einzelner Entwickler. Nach unserer Erfahrung muss ein talentierter Entwickler mindestens ca. 15 Jahre investieren, um in den Kernbereichen den Stand der Technik zu erarbeiten. Eine Hochleistungssoftware zur linearen und gemischt-ganzzahligen Optimierung muss kontinuierlich weiterentwickelt werden, sonst ist eine Platzierung in der Spitzengruppe l¨ angerfristig nicht haltbar. Die Laufzeit von MOPS zur Modelll¨ osung ist im Laufe der letzten 13 Jahre typischerweise auf unter ein Prozent gesunken, beispielsweise betrug f¨ ur das Modell Oil’”mit 5563 Re” striktionen und 6181 Variablen die Laufzeit 2004 ca. 0,1% der Laufzeit von ¨ 1991 (vgl. Tabelle 3.1). Ahnliche Entwicklungen sind f¨ ur das System CPLEX ver¨ offentlicht worden (vgl. ([Bixby 2002]). Jahr Version Oil (5563 x 6181) Sek. 1991 1.4 I486 (25 MHz) 612,4 1995 2.5 P133, Win 3.11 20,7 1999 4.0 PIII (400 MHz), Win 98 5,1 2001 5.0 PIII (500 MHz), Win 98 3,9 2002 6.0 PIV (2,2 GHz), Win 2000 0,9 2004 7.9 PIV (3,0 GHz), Win 2000, primal 1,1 2004 7.9 PIV (3,0 GHz), Win 2000, dual 1,6 2004 7.9 PIV (3,0 GHz), Win 2000, IPM 0,6 Tabelle 3.1. Fortschritte in der LP-Optimierung mit MOPS am Beispiel des Modells Oil
80
3 Software zur L¨ osung und Modellierung
Weitere leistungsf¨ ahige LP-Optimierer sind unter anderem Lindo (http://www.lindo.com) und XA (http://www.sunsetsoft.com). Das Tabellenkalkulationssystem MS-Excel verf¨ ugt u ¨ber den Excel-Solver, der von der Firma Frontline Systems angeboten wird und in der Lage ist, lineare und nichtlineare Modelle direkt im Excel-Umfeld zu l¨ osen. http://www.lindo.com http://www.sunsetsoft.com Der Quellcode von Optimierungssoftware ist meistens nicht zuletzt wegen der kommerziellen Bedeutung ein gut geh¨ utetes Geheimnis. Es gibt jedoch einige Entwicklungen auf der Open-Source-Basis; ein Beispiel daf¨ ur ist der COINCode, der einen ehemalig kommerziellen Code der Firma IBM beinhaltet und seit 2003 als Open-Source-Version verf¨ ugbar ist (s. http://www.coin-or.org). http://www.coin-or.org
3.2 Spezielle Implementierungstechniken – Vertiefung Dieser Abschnitt beinhaltet vertiefendes Material f¨ ur Leserinnen und Leser, die sich f¨ ur die softwaretechnische Implementierung innerhalb einer Optimierungsengine interessieren. Weiterf¨ uhrende Techniken befinden sich in zahlreichen Forschungspapieren (z. B. [Suhl/U. 1990], [Suhl/L. u. Suhl/U. 1993], [Suhl/U. 2000]) und u.a. in den B¨ uchern [Maros 2003] und [Murtagh 1981]. ¨ Die folgenden stichwortartigen Uberlegungen sollen einige wichtige Grundprinzipien erl¨ autern. • Nur Nichtnullelemente werden gespeichert, da praktische Probleme sehr d¨ unn besetzt sind (d. h. sie haben meistens nur wenige, etwa 2-10, Nichtnullelemente pro Spalte). Dies macht jedoch die Algorithmen komplizierter. Es gibt eine bestimmte Dichte, ab der sich die Speicherung der vollen Matrix mit Nullen lohnt. Diese ist von der verwendeten Hardware abh¨ angig, z. B. davon, ob Vektorprozessoren oder (normale) skalare Maschinen eingesetzt werden. • Bei der Auswahl der in die Basis aufzunehmenden Variable werden die reduzierten Kosten nur f¨ ur einen kleinen Teil der Nichtbasisvariablen berechnet, um Rechenaufwand zu sparen. Im Prinzip reicht es aus, dass eine Variable gefunden wird, die die L¨ osung verbessert – dies muss nicht die Variable mit den gr¨ oßten reduzierten Kosten sein. • Zur Berechnung der reduzierten Kosten einer Variable sind sowohl die Inverse der momentanen Basismatrix als auch die entsprechende Spalte in
3.3 Rechenaufwand bei der L¨ osung von LP-Modellen
81
der urspr¨ unglichen Koeffizientenmatrix und die urspr¨ ungliche Zielfunktion notwendig; daher – Es wird nicht die gesamte Koeffizientenmatrix A in jeder Iteration modifiziert. Stattdessen wird konzeptionell die Inverse der Basismatrix B benutzt, die zur Berechnung der reduzierten Kosten notwendig ist. – Die Inverse wird allerdings nicht explizit bestimmt (sie w¨ urde zu viele Nichtnullelemente beinhalten), sondern mit Hilfe einer Dekomposition mit m¨ oglichst wenigen Elementen dargestellt. – Die Dekomposition der Basismatrix berechnet man nicht in jeder Iteration neu, nur die Darstellung der letzten Iteration wird modifiziert. Bei einem Basiswechsel verl¨ asst ja nur eine Variable die Basis und eine andere wird aufgenommen. – Da die Basis-Darstellung nach mehreren Modifikationen zu ungenau (oder die Repr¨ asentation zu groß) wird, wird regelm¨aßig, ca. nach 100 Iterationen, aus der urspr¨ unglichen Koeffizientenmatrix eine neue Basis-Inverse berechnet, die m¨ oglichst genau und d¨ unn besetzt ist. • Suchoperationen sind innerhalb der Algorithmen oft ein Engpass. Es wird versucht, lineare Suchoperationen zu minimieren. Daher werden in den Datenstrukturen oft Pointer benutzt, die einen direkten Zugriff erm¨oglichen. • Mit Hilfe eines so genannten Crash-Algorithmus wird versucht, eine m¨oglichst gute Anfangsbasis zu finden. • Preprocessing-Techniken werden benutzt, um Redundanzen bei der Modelldefinition zu beseitigen – i.d.R. mit sehr guten Ergebnissen. Insbesondere bei automatisch generierten Modellen k¨onnen oft viele Restriktionen beseitigt werden.
3.3 Rechenaufwand bei der L¨ osung von LP-Modellen Heute kann die auf der Simplex-Methode basierende Optimierungssoftware Modelle mit Zehntausenden von Variablen oft in wenigen Minuten l¨osen. Trotz dieses Erfolges bleibt die Simplex-Methode theoretisch nicht sehr attraktiv, da sie im schlechtesten Fall exponentielle Zeit braucht, also nicht-polynomielle Worst-Case-Komplexit¨ at hat. Der Grund daf¨ ur ist, dass die Anzahl der Basisl¨ osungen mit (m+n)(m+n−1)...(n+1) (m+n ) = (m+n)! n!m! = m m(m−1)...1 (m+n)(m+n−1)...(m+1) = min(2m , 2n ) n(n−1)...1
sehr hoch ist. Denn aus der Menge der m + n Struktur- und Schlupfvariablen kann man beliebig eine m-elementige Teilmenge von Variablen herausgreifen, die dann die Basisvariablen einer jeweils verschiedenen Basis definieren. Obwohl i.d.R. viele Basen unzul¨ assige Basisl¨ osungen liefern, bleibt die Anzahl der zul¨ assigen Basisl¨ osungen astronomisch hoch f¨ ur große Probleme. Bei der
82
3 Software zur L¨ osung und Modellierung
L¨ osung praktischer Probleme mit der Simplex-Methode wird i.d.R. nur ein kleiner Teil davon untersucht. Der Ellipsoid-Algorithmus von Khachian 1979 war der erste polynomielle Algorithmus zur L¨ osung von LPs (vgl. Abschnitt 2.5). Somit gelang es Khachian zu beweisen, dass LP zur Klasse P der in polynomieller Zeit l¨osbaren Probleme geh¨ ort. Die polynomielle Zeitschranke war aber zu diesem Zeitpunkt nicht attraktiv. Großes Interesse erweckte 1984 Karmarkar mit seinem Interior-Point-Algorithmus. Innere-Punkte-Methoden haben ihren Ursprung in der nichtlinearen Programmierung. Ihr Hauptmerkmal ist, dass sie sich nicht nur auf der Oberfl¨ache des zul¨ assigen Bereichs bewegen, sondern Spr¨ unge“ im Inneren des zul¨assigen ” Bereichs erlauben. Karmarkar behauptete auf einer Konferenz, mit seinem Algorithmus k¨ onne man komplexe Optimierungsprobleme sehr schnell l¨osen, so dass der Simplex-Algorithmus u ¨berholt sei. Diese Aussage von Karmarkar hat sich zwar nicht best¨ atigt, jedoch hat das Ereignis viele Forscher dazu gebracht, Innere-Punkte-Methoden weiterzuentwickeln (z. B. Gradientenmethoden, Predictor-Corrector-Methode). Zwischenzeitlich beinhaltet manche Optimierungssoftware, wie MOPS, alternativ zum Simplex-Code auch eine interior-point-basierte L¨ osungsmethode. In der Praxis finden Innere-Punkte-Methoden bei den meisten LP schneller eine optimale L¨ osung als die Simplex-Methode. F¨ ur gemischt-ganzzahlige Modelle sieht das anders aus: Zur L¨ osung von MIP-Modellen wird meist das Branch&Bound-Verfahren (vgl. Kapitel 5) eingesetzt, in dem bei jedem Knoten des Suchbaumes (im Vergleich zum LP des Vater-Knotens) ein leicht ver¨ andertes LP gel¨ ost wird. Daf¨ ur sind Innere-Punkte-Verfahren nicht einsetzbar, weil sie in der Regel nicht von der bekannten L¨osung des Vater-Problems ausgehen k¨ onnen.
3.4 Ein- und Ausgabe von linearen Optimierungsmodellen ¨ Aus Ubungsaufgaben kennt der Leser vermutlich bereits die interaktive Eingabe von Optimierungsmodellen beispielsweise im Rahmen von ClipMOPS. Bei kleinen Modellen funktioniert dies ganz gut. Jedoch soll hier ein Modell mit Tausenden von Variablen und Restriktionen nicht interaktiv manuell eingegeben werden. Dies w¨ are viel zu aufw¨ andig und fehleranf¨allig. Große Optimierungsmodelle werden praktisch immer automatisch generiert, so dass die aktuellen Eingabedaten aus einer Datenbank eingelesen werden. Grunds¨ atzlich k¨ onnen wir die folgenden drei Arten der Ein- und Ausgabe von Optimierungsmodellen unterscheiden: Interaktive Ein- und Ausgabe: Das Modell wird in eine Datei oder in einem Tabellenblatt einer Tabellenkalkulation (z. B. Excel-Sheet) eingegeben.
3.4 Ein- und Ausgabe von linearen Optimierungsmodellen
83
Automatische Ein- und Ausgabe: Die Ein- und Ausgabe erfolgt mittels Interaktion zwischen entwickeltem Anwendungsprogramm und Optimierungssoftware: Dabei kommen eine feste Einbindung des Optimierungscodes sowie eine Interaktion u ¨ber ein Standardformat oder u ¨ber eine definierte Schnittstelle in Frage. Im Anwendungsprogramm muss ein Matrixgenerator geschrieben werden, der die Spalten (Variablen) und Zeilen (Restriktionen) eines LP sowie deren Nichtnullelemente (Werte der Koeffizientenmatrix, die = 0 sind) definiert. Modellierungssprache: Die Eingabe unterteilt sich in Angabe eines mathematischen Modells in seiner knapp formulierten algebraischen Form unter Benutzung von Parametern, Summenzeichen, usw. sowie der Daten zu den benutzten Parametern, die gesondert in Dateien oder Datenbank-Tabellen abgelegt werden. Aus dem Modell und den zugeh¨ origen Daten generiert ein Modellierungssystem die Matrix eines LP und ruft eine Optimierungssoftware auf. Die Ergebnisse k¨ onnen auch in u ¨bersichtlicher Form gelesen werden. Alle kommerziell angebotenen Softwarepakete zur Optimierung bieten mehrere Eingabem¨ oglichkeiten (Schnittstellen) an. Im Folgenden befindet sich eine erg¨ anzende Beschreibung der h¨ aufigsten Ein- und Ausgabem¨oglichkeiten. 3.4.1 Interaktive Ein- und Ausgabe Einige Optimierer bieten die M¨ oglichkeit, die Werte eines Modells interaktiv einzugeben. Beispiele sind ClipMOPS, LINDO und der Excel-Solver. Nachteile: Die interaktive Eingabe kommt nur bei kleineren Modellen in Frage. Unter Benutzung von Excel-Tabellenbl¨ attern ist die Anzahl der Spalten und somit der Variablen auf 256 begrenzt (wenn die volle Matrix, auch die Zeilen mit dem Wert = 0, angezeigt wird). Außerdem k¨onnen einem leicht Eingabefehler unterlaufen. 3.4.2 Ein- und Ausgabe im MPS-Format Bei traditionellen Softwarepaketen zur mathematischen Programmierung wird ein standardisiertes zeichenorientiertes Eingabeformat benutzt, das noch dem Lochkartenzeitalter entstammt. Bei diesem sogenannten MPS-Format (Mathematical Programming System Format) redet man auch heute immer noch von Karten. Auf jede Karte passen 80 Zeichen (dies entspricht einer 80 Zeichen langen Zeile). Die Positionen der einzelnen Elemente auf der Karte bzw. auf einem MPS-Textfile sind genau festgelegt. Es werden zeichenorientierte Schl¨ usselw¨ orter (NAME, ROWS, COLUMNS, RANGES, BOUNDS, RHS, ENDDATA) benutzt. Vorteile: Man ben¨ otigt keine Programmierung. Bei ClipMOPS und ExcelSolver erlauben interaktive Hilfen die Koeffizientenmatrix in komfortabler Form einzugeben.
84
3 Software zur L¨ osung und Modellierung
Abb. 3.2. Interaktives Arbeiten mit ClipMOPS
Das LP-Modell wird nach Deklaration der Zielfunktions- bzw. Restriktionsnamen und -typen (ROWS-Section) spaltenweise unter Benutzung der Variablennamen eingegeben (COLUMNS- und RHS-Sections, RHS = right hand side), wobei Nullelemente wegen der Speichereffizienz nicht aufgef¨ uhrt werden. Hier sind auch bestimmte Positionen im MPS-Textfile zu beachten. Eigentlich ist das MPS-Format f¨ ur die automatische Ein- und Ausgabe gedacht, aber es ist m¨ oglich, f¨ ur kleinere Modelle eine MPS-Datei per Hand zu erstellen. Die allgemeine Struktur eines Datenbestandes im MPS-Format sieht somit folgendermaßen aus: NAME Name des Modells ROWS Hier werden Restriktionen und Zielfunktion spezifiziert. COLUMNS Hier werden die Variablen sowie deren Nichtnullelemente spaltenweise angegeben. RHS Hier werden die Nichtnullelemente von b angegeben. RANGES Hier k¨ onnen in Erg¨ anzung zur RHS-Sektion obere bzw. untere Schranken f¨ ur einzelne Restriktionen definiert werden. BOUNDS Hier werden untere bzw. obere Schranken f¨ ur einzelne Variablen spezifiziert. Variablen k¨ onnen fixiert bzw. als freie Variablen deklariert werden. ENDATA
3.4 Ein- und Ausgabe von linearen Optimierungsmodellen
85
Ein Datensatz ist in sechs Felder unterteilt: Feld 1 Feld 2 Feld 3 Feld 4 Feld 5 Feld 6 Spalte 2-3 5-12 15-22 25-36 40-47 50-61 Inhalt Typ Name 1 Name 2 Wert 1 Name 3 Wert 2 Ein einfaches Beispiel soll die nachfolgenden Erkl¨arungen verst¨andlicher machen. Wir betrachten folgendes LP-Modell: min x4
s.t.
0.5x1 - 1x2 + 1x3 + 1x4 = 1 0.5x1 - 1x2 1x4 = 0 −2 ≤ x1 , x2 ≥ 0 , x3 und x4 bleiben unbeschr¨ankt
Werden die Variablen mit C1, C2, C3, C4 und die Restriktionen mit R1, R2 und R3 (Zielfunktion) bezeichnet, so erh¨ alt man die MPS-Darstellung in der Abb. 3.3. 1 5 NAME ROWS E R1 N R3 E R2 COLUMNS C1 C2 C3 C4 C4 RHS RHS BOUNDS LO B1234 FR B1234 FR B1234 ENDATA
15 EXAMPLE
25
40
50
R2 R1 R1 R2 R1
0.5 -1.0000E+00 1.0000E+00 -1.0000E+00 1.0000E+00
R1 R2
5.E-01 -1.
R1
1.00000E+00
C1 C3 C4
-2.00000E+00
R3
1.
Abb. 3.3. Ein lineares Optimierungsmodell im MPS-Format
Vorteile: Fast jeder Optimierer kann das MPS-Format lesen, so dass die Codes austauschbar sind. Wegen der festen Einordnung k¨onnen die Zeichen sehr schnell gelesen werden (die Suche und Erkennung von Anfang und Ende eines Strings entf¨ allt). Nachteile: Die Eingabe von Modellen erfolgt nur spaltenorientiert. Außerdem muss die Zeichendarstellung in die interne Zahlendarstellung konvertiert werden. Dies kann bei großen Modellen mehrere Minuten dauern. Die Zeilen- und Spaltennamen d¨ urfen nur acht Zeichen lang sein. Dadurch k¨onnen in vielen F¨ allen nur kryptische, nicht aussagekr¨ aftige Namen benutzt werden. 3.4.3 Ein- und Ausgabe in internen Datenstrukturen Manche Optimierer (z. B. ILOG CPLEX und MOPS) bieten die M¨oglichkeit den Optimierungscode fest in entwickelte Anwendungsprogramme einzubin-
86
3 Software zur L¨ osung und Modellierung
den. Dabei k¨ onnen die Eingabedaten direkt (automatisch) in die internen Datenstrukturen geschrieben werden. Das Modell wird also im Hauptspeicher generiert und existiert nur w¨ ahrend des Optimierungslaufs. Es muss ein Modellgenerator programmiert werden, der die logisch-mathematische Modelldarstellung im Hauptspeicher des Computers in die internen Datenstrukturen hinein schreibt. Der Modellgenerator muss dabei in einer Programmiersprache geschrieben werden, die kompatibel mit der (statischen) Programmbibliothek des Optimierers ist. Dies wird heute nur noch wenig genutzt, weil man unter Windows u ¨ber eine DLL-Schnittstelle (als Dynamic Link Library) unterschiedliche Routinen, aus unterschiedlichen Quellsprachen, flexibel zusammenbinden kann. Vorteile: Die Zahlenwerte m¨ ussen nicht mehr aus einer zeichenorientierten Darstellung konvertiert und in die internen Datenstrukturen kopiert werden. Man braucht zudem nicht mehr die (großen) MPS-Dateien zu speichern. Die numerischen Werte sind genauer, weil die doppelte Datentypkonversion (Modellgenerator → MPS-Format-Convert) vermieden wird. Nachteile: Die interne Darstellung ist vom Optimierer abh¨angig. Weiterhin muss der Modellgenerator in einer Sprache geschrieben werden, die mit Routinen der (statischen) Programmbibliothek kompatibel ist, weil der Generator mit dem Optimierer in ein ausf¨ uhrbares Programm zusammen gelinkt wird. 3.4.4 Ein- und Ausgabe u ¨ ber eine DLL-Schnittstelle Manche Optimierer (z. B. CPLEX und MOPS) bieten die M¨oglichkeit unter Windows-Betriebssystemen, von entwickelten Anwendungsprogrammen aus den Optimierer u ¨ber eine dynamische Bibliothek, eine so genannte DLL (Dynamic Link Library), aufzurufen. Durch Eingabe der Spalten, Zeilen und Nichtnullelemente eines Optimierungsmodells u ¨ber fest definierte DLLFunktionen kann ein Matrixgenerator realisiert werden. Algorithmus 1 demonstriert die L¨ osung eines Optimierungsmodells mit ganzzahligen Variablen unter der Nutzung der DLL von MOPS. Die Entwicklung von Softwaresystemen zur L¨ osung von großen Modellen erfordert neben Programmierkenntnissen auch detaillierte Kenntnisse u ¨ber zahlreiche Parameter, welche L¨ osungsstrategien und Genauigkeiten diverser Berechnungen steuern. Vorteile: Es gelten die gleichen Vorteile wie bei der Ein- und Ausgabe in internen Datenstrukturen. Außerdem muss man die Optimierer-abh¨angige interne Darstellung nicht kennen – oder organisieren! Nach der Definition von Spalten und Zeilen k¨onnen die Nichtnullelemente der Matrix in einer beliebigen Reihenfolge eingegeben werden. Nachteile: Bei kleinen Modellen, die nur wenige Male gel¨ost werden, lohnt sich der Programmieraufwand nicht.
3.4 Ein- und Ausgabe von linearen Optimierungsmodellen
87
Algorithmus 1 Schema einer Optimierung mittels DLL-Funktionen von MOPS, vgl. [Mops 2004] MOPS (Mathematical OPtimization System) ist ein Optimierer zur L¨ osung von LP- und IP-Modellen. Die MOPS-Software ist urheberrechtlich gesch¨ utzt. Unter MS Windows gibt es auch eine Dynamic Link Library (mops.dll), die einen interaktiven Zugriff auf das von MOPS im Hauptspeicher gehaltene Optimierungsmodell bietet. Neben Funktionen zum Laden, Speichern und Optimieren des Modells existieren Funktionen zum Auslesen von LP- und IP-L¨ osungen. Die DLL-Funktionen k¨ onnen von Programmiersprachen mit 32-Bit-Aufruf von Windows DLL-Funktionen genutzt werden, z.B. von C# und Visual Basic. Das folgende Schema (ohne Fehlerhandhabung und Variablen-Deklarationen) zeigt beispielhaft die Optimierung mittels DLL-Funktionen in Visual Basic. Es wird ein Modell mit Integer Variablen minimiert. Datenextraktion aus der Datenbank und Modellgenerierung: Prim¨ ardaten werden aus einer Datenbank extrahiert. Anschließend generiert ein Visual Basic Programm (Modellgenerator) das Modell in den Arrays ia, ja, a, lb, ub, c und typ. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
Reservierung eines Speicherblocks von 300 MB rc = AllocateMemory(0) if rc 0 then exit Vergr¨ oßerung der maximalen Modelldimensionen bei sehr großen LP/IPModellen (optional) rc = SetMaxLPDim (mx, nx, nzx, lunzx, rcnx, adm, adn, adnz) if rc 0 then exit Initialisierung des Speicherblocks zur Aufnahme eines neuen Modells rc = InitModel() if rc 0 then exit ¨ Ubergabe des Modells an die DLL rc = PutModel (intyp, inf, m, n, nz, ia(1), ja(1), a(1), lb(1), ub(1), c(1), typ(1)) if rc 0 then exit Es wird in diesem Fall erst das LP und dann das zugeh¨ orige IP gel¨ ost (Maximierung) direction = 1 rc = Optimize (direction, stat, phase, funct) if rc = 0 then if phase = 1 then ’report results for IP phase (LP was solved to optimality) if stat = 0 then ’optimal IP Solution found r = GetIPSolution(stat, funct, Activity(1), RedCost(1), Status(1)) else if stat = 1 then ’IP is infeasible else if stat = 3 then ’IP Solution found - search not completed r = GetIPSolution(stat, funct, Activity(1), RedCost(1), Status(1)) else ’No IP Solution found - search not completed end if end if else ’Error occurred during optimization end if
88
3 Software zur L¨ osung und Modellierung
3.4.5 Spezielle Modellierungssprachen Modellierungssprachen (modelling languages) sind Werkzeuge, die insbesondere die benutzerfreundliche Eingabe großer Modelle erleichtern. Große Modelle haben fast immer eine besondere logische Struktur, die bei der Nutzung von Modellierungssprachen eine große Rolle spielt. Beispielsweise haben mehrperiodische Produktionsplanungsmodelle eine treppenf¨ormige Struktur, wie man im Abschnitt 2.4 gesehen hat. In einer Modellierungssprache wird die Struktur eines Modells von den Modelldaten getrennt. Die Struktur wird mit Hilfe spezieller Sprachkonstrukte eingegeben. Wenn es sich um ein mehrperiodisches Produktionsplanungsmodell mit mehreren Produktionsst¨ atten handelt, werden zun¨achst allgemein z. B. m Perioden und n Produktionsst¨ atten vorgesehen. Somit wird offen gelassen, wie viele Perioden bzw. Produktionsst¨ atten oder -stufen eine spezielle Modellinstanz beinhaltet. Dieses abstrakte Modell steht in einer Modelldatei sozusagen als Ger¨ ust da. Dieses Ger¨ ust wird zur Laufzeit mit den aktuellen Daten (i.d.R. aus einer Unternehmensdatenbank) gef¨ ullt und gel¨ost.
Abb. 3.4. Ein Produktionsplanungsmodell in MPL
¨ Verschiedene Modellierungssprachen haben eine große strukturelle Ahnlichkeit, wie wir in Abb. 3.4 und Abb. 3.5 feststellen k¨onnen. Sie k¨onnen al-
3.4 Ein- und Ausgabe von linearen Optimierungsmodellen
89
lerdings u ugen. Beispielsweise ist die ¨ber unterschiedliche Philosophien verf¨ Modellierungssprache MPL (Mathematical Programming Language) von Maximal Software stark datenbankorientiert. http://www.maximalsoftware.com Modellierungssprachen konzentrieren sich auf die abstrakte Modellstruktur und bieten i.d.R. keine eigene L¨ osungssoftware an. Die Modellierungssprache wird zusammen mit einem oder mehreren Standardsolver geliefert, wobei sich der Preis zwischen mehr und weniger leistungsf¨ahigen Varianten staffelt. g g set PROD; # products param rate {PROD} > 0; # produced tons per hour param avail >= 0; # hours available in week param profit {PROD}; # profit per ton param commit {PROD} >= 0; # lower limit on tons sold in week param market {PROD} >= 0; # upper limit on tons sold in week var Make {p in PROD} >= commit[p], = >= >= >= >=
5,00
Abb. 4.1. Beispiel Mehrschichtarbeit a)
Das Beispiel zeigt, dass die Wahl der richtigen“ Entscheidungsvaria” blen von kritischer Bedeutung f¨ ur eine erfolgreiche Modellierung mit Hilfe mathematischer Programmierung ist. Die Entscheidungsvariablen sollen so gew¨ ahlt werden, dass • sie ausreichen, um alle problemspezifischen Nebenbedingungen durch (lineare) Restriktionen sowie die Zielsetzung durch eine mathematische (lineare) Funktion auszudr¨ ucken, • aus deren Werten bei einer optimalen Modelll¨osung eine L¨osung des praktischen Problems hergeleitet werden kann. D. h. man soll sich bei der Modellierung die Fragen – falls n¨otig wiederholt – stellen: • Was soll ich bei dem gegebenen Problem entscheiden? (Beispiele: wie viel von einem bestimmten Produkt produziert wird oder ob ein Projekt durchgef¨ uhrt wird). • Wie sehen dann die Entscheidungsvariablen aus, um mit Hilfe ihrer Werte bei einer optimalen L¨ osung die Entscheidung treffen zu k¨ onnen bzw. einen Entscheidungsvorschlag zu erarbeiten? (F¨ ur die Beispiele: Kontinuierliche Variable x f¨ ur die zu produzierende Menge und eine 0/1-Variable y, die den Wert 1 genau dann annimmt, wenn ein Projekt durchgef¨ uhrt werden soll). F¨ ur das Mehrschichtbeispiel k¨ onnte man die Entscheidungsvariablen xi als Anzahl der Mitarbeiter auffassen, die in der Schicht i (i = 1, 2, . . . , 6) anfangen zu arbeiten (1: 0 bis 4 Uhr, 2: 4 bis 8 Uhr, ..., 6: 20 bis 24 Uhr). Mit dieser Wahl der Entscheidungsvariablen kann man nun das folgende korrekte Modell aufstellen, bei dem eine
3 8 10 8 14 5 48,00
98
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Mehrfachz¨ ahlung der Mitarbeiter verhindert (Zielfunktion) und die 8Stunden-Arbeitszeit in den Restriktionen integriert wird (s. Abb. 4.2). Mehrschichtarbeit KORREKT 0-4 Uhr 4-8 Uhr 8-12 Uhr 12-16 Uhr 16-20 Uhr 20-24 Uhr Min 1 1 1 1 1 1 LB UB INF INF INF INF INF INF CON CON CON CON CON CON TYP 0-4 Uhr 1 1 4-8 Uhr 1 1 8-12 Uhr 1 1 12-16 Uhr 1 1 16-20 Uhr 1 1 20-24 Uhr 1 1 Activity
3,00
5,00
5,00
3,00
11,00
TYP
RHS
>= >= >= >= >= >=
0,00
3 8 10 8 14 5 27,00
Abb. 4.2. Beispiel Mehrschichtarbeit b)
Eine optimale L¨ osung des Optimierungsproblems (mit kontinuierlichen Variablen) lautet: z = 27, x1 = 3, x2 = 5, x3 = 5, x4 = 3, x5 = 11, x6 = 0.
4.2 Fixkostenprobleme Insbesondere bei der Produktionsplanung sind oft Fixkosten (Investitionsoder R¨ ustkosten) notwendig, um eine Produktionsart mit linearen Produktionskosten zu starten. Zu minimierende Funktion mit Fixkosten lautet: k0 + c*x 0, f¨ ur x = 0 k(x) = 0 + 4c k ur x > 0 k0 + cx, f¨ k0 Die Kostenfunktion ist unstetig im Punkt x = 0 und macht einen Sprung von 0 1 2 3 4 5 k = 0 auf k = k0 (vgl. Abb. 4.3). Zur Modellierung Abb. 4.3. Grafische Darstellung eines Fixkostenfixer Kosten wird zun¨achst problems eine logische 0/1-Variable y eingef¨ uhrt: 0, wenn x = 0 y= 1, wenn x > 0
Die Kostenfunktion l¨asst sich jetzt in geschlossener Form darstellen: min k(x, y) = k0 y + cx x≥0 y
0/1-Variable
4.2 Fixkostenprobleme
99
Die folgende Bedingung sichert den Zusammenhang zwischen x und y: (0 ≤) x ≤ M y wobei die Zahl M (big-M) so groß sein muss, dass diese Restriktion f¨ ur y = 1 den Wertebereich von x nicht einschr¨ ankt (Obergrenze von x reicht). Es bietet sich an, f¨ ur das big-M einen so großen Wert wie n¨otig, aber einen so kleinen Wert wie m¨ oglich, zu w¨ ahlen. Wenn der Wert von M um Gr¨oßenordnungen h¨ oher ist als die anderen Parameterwerte des Modells, kann es bei großen Modellen zu numerischen Ungenauigkeiten und somit zu Konvergenzproblemen kommen. Da die Kostenfunktion minimiert wird, wird f¨ ur x = 0 automatisch y = 0 gesetzt. F¨ ur den Fall x > 0 wird jedoch durch obige Ungleichung y = 1 erzwungen. In ¨ ahnlicher Weise lassen sich auch R¨ ustzeiten in Kapazit¨atsrestriktionen oder Schwellenwerte bei der Produktion (von einem Produkt soll mindestens die Menge b hergestellt werden, wenn es u ¨berhaupt produziert wird) modellieren (vgl. n¨ achsten Abschnitt). Beispiel: Landwirtschaft Ein landwirtschaftlicher Betrieb hat 100 ha Land und kann a) Viehzucht betreiben und/oder b) Getreide anpflanzen oder c) Gem¨ use anpflanzen. Im Falle a) werden pro 100 Rinder 1 ha Land ben¨otigt. Außerdem muss ein Geb¨ aude errichtet werden. Die Investitionskosten betragen 200 GE (Geldeinheiten) pro Periode. Der Periodenertrag je 100 Rinder betr¨ agt 25 GE; die sonstigen Periodenkosten je 100 Rinder betragen 8 GE. Im Falle b) m¨ ussen Maschinen mit Periodenkosten in H¨ohe von 100 GE angeschafft werden. Der Periodenertrag je ha betr¨agt 18 GE, die Periodenkosten 4 GE je ha. Im Falle c) betragen der Ertrag je ha und Periode 30 GE, die Kosten 7 GE. In Folge Personalmangels k¨ onnen jedoch maximal 20 ha Gem¨ use angepflanzt werden. Alle Kombinationen außer Viehzucht und Gem¨ useanbau sind zugelassen. Die Formulierung als Optimierungsmodell sieht wie folgt aus: Entscheidungsvariablen: Zun¨ achst braucht man kontinuierliche Variablen R, G, M ≥ 0: R: Anzahl der Hektar, die zur Rinderzucht verwendet werden G: Anzahl der Hektar, die zum Getreideanbau verwendet werden
100
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
M: Anzahl der Hektar, die zum Gem¨ useanbau verwendet werden Um Entscheidungsalternativen der Art Gem¨ use wird angebaut oder ” nicht“ und Beziehungen zwischen diesen Optionen formulieren zu k¨ onnen, werden als Hilfsmittel logische 0/1-Variablen eingef¨ uhrt: 1, Rinderzucht YR = 0, keine Rinderzucht 1, Getreideanbau YG = 0, kein Getreideanbau 1, Gem¨ useanbau YM = 0, kein Gem¨ useanbau Restriktionen: R + G + M ≤ 100 (Gesamtfl¨ ache) R ≤ 100YR G ≤ 100YG M ≤ 20YM YR + YM ≤ 1 (Viehzucht und Gem¨ useanbau schließen sich aus)
Zielfunktion: Maximiere Ertrag – Kosten: max z = (25 − 8)R + (18 − 4)G + (30 − 7)M − 200YR − 100YG In der Zielfunktion wurden die 0/1-Variablen benutzt, um abh¨angig von einer Projektdurchf¨ uhrung die damit verbundenen Investitionskosten (Fixkosten) abziehen zu k¨ onnen. L¨ osen Sie das Modell mit einer Standardsoftware zur Optimierung.
4.3 Schwellenwerte Der Begriff Schwellenwert kommt in vielen praktischen Anwendungen vor. Beispielsweise k¨ onnen in Unternehmen manche Produkte nur ab einer Mindestmenge angekauft, produziert oder verkauft werden, und der Erwerb von Werbezeit bei Fernseh- oder Radiosendern kann nur ab einer bestimmten Mindestzeit erfolgen. Das heißt der Wert einer Variablen ist entweder gleich Null oder ein positiver, gegebener Mindestwert. Außerdem besitzt die Variable i.A. eine obere Schranke. Mathematisch: Eine kontinuierliche Variable x kann entweder den Wert 0 oder einen positiven Wert zwischen XL und XU annehmen. Diese Bedingung kann
4.3 Schwellenwerte
101
mit Hilfe einer 0/1-Variable y modelliert werden. F¨ ur y = 1 soll der x-Wert positiv und f¨ ur y = 0 soll x = 0 sein. Folgende Ungleichungen (zusammen) erzielen diesen Effekt: x ≤ XU y erzwingt, dass x = 0 wird, falls y = 0 ist, sonst x ≤ XU x ≥ XL y erzwingt, dass x ≥ XL wird, falls y =1 ist, sonst x ≥ 0 Falls die obere Schranke XU von x nicht gegeben ist, setzt man stattdessen ein big-M in der ersten Ungleichung ein. Diese Ungleichung ist hier notwendig. Beispiel: Fashion GmbH Fashion GmbH ist in der Lage, drei Arten von Bekleidungsst¨ ucken zu produzieren: Jacken, R¨ ocke und Hosen. Dabei m¨ ussen jeweils Produktionsmaschinen gemietet werden. A-Maschinen f¨ ur die Jackenherstellung kosten 1000 e pro Woche (Planungsperiode), B-Maschinen zur Herstellung von R¨ ocken 2000 e sowie C-Maschinen zur Hosenherstellung 1500 e in der Woche. Es stehen im Planungszeitraum ugung. Die Kosten-, 150 Arbeitsstunden und 160 m2 Material zur Verf¨ Ressourcen- und Ertragsstruktur ist in der unten angegebenen Tabelle gegeben. 1. Unter Betrachtung der Mietkosten von Maschinen sollen die Produktionsmengen an Jacken, R¨ ocken und Hosen bestimmt werden, so dass der gesamte Deckungsbeitrag (Verkaufspreis minus variable Kosten minus Mietkosten) maximiert wird. 2. Unter Beachtung, dass im Falle der Produktion von R¨ocken bzw. Hosen eine Mindestmenge von 20 St¨ uck hergestellt werden soll, sei das Modell zu erweitern. Fashion GmbH Arbeitsstunden Material pro Verkaufspreis Variable Kosten pro St¨ uck St¨ uck (m2 ) Jacken 3 1,2 60 35 R¨ ocke 2 0,8 90 45 Hosen 3 1,3 110 60 Wor¨ uber wird in diesem Beispiel entschieden? Im ersten Teil geht es offensichtlich um die Entscheidung der produzierten Mengen an Jacken, R¨ ocken und Hosen. Daf¨ ur werden die Variablen: J : Anzahl produzierter Jacken R : Anzahl produzierter R¨ocke H : Anzahl produzierter Hosen genutzt. Dar¨ uber hinaus wird eine Indikatorvariable pro Produkt ben¨ otigt, um die fixen Kosten und Schwellenwerte modellieren zu k¨ onnen. Diese seien: YJ : Indikator, ob Jacken produziert werden.
102
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
YR : Indikator, ob R¨ ocke produziert werden. YH : Indikator, ob Hosen produziert werden. Die Zielfunktion lautet somit: max z = 25J + 45R + 50 H -1000YJ - 2000YR - 1500YH , und die Restriktionen: 3J + 2R + 3H 1,2J + 0,8R + 1,3H J R H
≤ ≤ ≤ ≤ ≤
150 160 50YJ 75YR 50YH
Der Schwellenwert f¨ ur R¨ ocke bzw. Hosen im Aufgabenteil 2 impliziert die folgenden Restriktionen: R ≥ 20YR H ≥ 20YH
4.4 Darstellung alternativer Restriktionsgruppen Beispiel: Restriktionsgruppen f¨ ur Maschinen Zwei Produkte k¨ onnen entweder mit Maschinen der Gruppe A oder mit Maschinen der Gruppe B hergestellt werden, allerdings mit unterschiedlichen Parametern. Aus den beiden Gruppen von je zwei Maschinen soll eine Gruppe f¨ ur die Produktion ausgew¨ahlt werden, so dass der Gewinn maximiert wird. Kapazit¨ atsrestriktionen: Gruppe a) x1 + 5x2 ≤ 10 x1 + x2 ≤ 6
Gruppe b) 2x1 + 5x2 ≤ 20 2x1 + x2 ≤ 6
mit x1 , x2 ≥ 0 und der Zielfunktion Max z = x1 + 2x2 . Eine zul¨ assige L¨ osung muss das Restriktionssystem der Gruppe a oder der Gruppe b erf¨ ullen. Somit besteht die Menge der zul¨assigen L¨ osungen aus der Vereinigungsmenge zul¨ assiger L¨osungsbereiche der Einzelprobleme. Die L¨ osungsmenge ist damit kein konvexer Polyeder mehr (kein reines LP-Problem). Abhilfe schafft die Einf¨ uhrung der logischen Variablen yj , wobei yj angibt, ob die Gruppe j benutzt wird oder nicht: yj = 1, wenn Gruppe j benutzt wird, yj = 0, sonst. Durch die Bedingung y1 + y2 = 1 wird gesichert, dass genau eine Maschinengruppe benutzt wird. Man kann dann Ungleichungen unwirksam machen:
4.5 Weitere spezielle Modellierungstechniken
103
4
z = 10
Gruppe b 2 Gruppe a 0
3
6
10
Abb. 4.4. Grafische Darstellung alternativer Restriktionsgruppen
Dazu werden Kapazit¨aten eingesetzt, die in Relation sehr groß sind (big-M; z. B. 100): x1 + 5x2 ≤ 10 + 100(1 − y1 ) x1 + x2 ≤ 6 + 100(1 − y1 ) 2x1 + 5x2 ≤ 20 + 100(1 − y2 ) 2x1 + x2 ≤ 6 + 100(1 − y2 ) y1 + y2 = 1(hier reicht y1 + y2 ≥ 1 als Bedingung aus)
Gilt y1 = 1 und y2 = 0, sind die beiden ersten Ungleichungen wirksam und die beiden letzten redundant (und umgekehrt). Es ist zu betonen, dass Ungleichungen unwirksam“ nicht mit der Forderung Unglei” ” chungen nicht erf¨ ullt“ verwechselt werden darf. Im Falle y1 = 1 und y2 = 0 sind auch L¨osungen des gemeinsamen zul¨assigen Bereich der Gruppen a) und b) zul¨assig (z. B. x1 = 1 und x2 = 1), d. h. L¨osungen, die sowohl die Ungleichungen der Gruppe a als auch (eine oder) beide Ungleichungen der Gruppe b erf¨ ullen.
4.5 Weitere spezielle Modellierungstechniken Zwei m¨ ogliche Werte Der Ausdruck x1 =
x2 , wenn y = 1 0, sonst
(wobei x1 , x2 ≥ 0) l¨asst sich darstellen als x1 = x2 y, ist jedoch in dieser Form nichtlinear.
104
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Die Forderungen sind hier der Form: y = 1 → x1 = x2 und y = 0 → x1 = 0. Die letztere Forderung l¨ asst sich als x1 ≤ M1 y
(1)
darstellen, wobei M1 als obere Schranke von x1 gew¨ahlt wird. Weiterhin wird die Gleichung x1 = x2 zun¨ achst in zwei Ungleichungen x1 ≤ x2 und x1 ≥ x2 , dann in die ≤ 0-Ungleichungen x1 − x2 ≤ 0 und x2 − x1 ≤ 0 transformiert. Die Wirksamkeit dieser Ungleichungen f¨ ur y = 1 wird dann durch: x1 − x2 ≤ M2 (1 − y) x2 − x1 ≤ M3 (1 − y)
(2) (3)
gew¨ ahrleistet, wobei M2 bzw. M3 als obere Schranke des Ausdrucks x1 − x2 bzw. x2 − x1 gew¨ ahlt wird. Falls y = 1, erzwingen (2) und (3), dass x1 ≤ x2 und x1 ≥ x2 , d.h. x1 = x2 wird. Falls y = 0, erzwingt (1), dass x1 ≤ 0 und somit x1 = 0 wird (da x1 ≥ 0 ist). Produkt von zwei 0/1-Variablen Der nichtlineare Ausdruck y3 = y1 ·y2 , wobei y1 , y2 und somit y3 0/1-Variablen ur x2 und y2 f¨ ur y ein, sind, l¨ asst sich wie oben behandeln. Man setzt y1 f¨ ur x1 . Die Ungleichungen (1), (2) und (3) werden dann wie dann steht y3 f¨ folgt transformiert: x1 ≤ M1 y x1 − x2 ≤ M2 (1 − y) x2 − x1 ≤ M3 (1 − y)
→ → →
y3 ≤ M1 y 2 y3 − y1 ≤ M2 (1-y2 ) y1 − y3 ≤ M3 (1-y2 )
Da y1 , y2 und y3 0/1-Variablen sind, kann man sowohl f¨ ur M1 als auch f¨ ur M2 und M3 den Wert 1 einsetzen. Somit folgen die vereinfachten Ungleichungen: y3 ≤ y2 y3 − y1 ≤ 1 − y 2 y1 − y3 ≤ 1 − y 2
d.h. - y2 + y3 ≤ 0, - y1 + y2 + y3 ≤ 1 y1 + y2 − y3 ≤ 1
Maximum von zwei Variablen Die Funktion z = max(x1 , x2 ) l¨ asst sich auf zwei verschiedene Arten darstellen: Alternative 1: Es wird u1 , u2 ≥ 0 (u1 , u2 ≥ 0, da z ≥ x1 und z ≥ x2 gelten) eingef¨ uhrt und man setzt: z = x1 + u1 bzw. u1 = z − x1 z = x2 + u2 bzw. u2 = z − x2
4.5 Weitere spezielle Modellierungstechniken
105
Eine 0/1-Indikator-Variable y wird eingef¨ uhrt, um anzuzeigen, ob u1 = 0 (also z = x1 ), falls y = 1 oder u2 = 0 (also z = x2 ), falls y = 0 ist. u1 ≤ M1 (1 − y), y ist 0/1-Variable u2 ≤ M2 y. M1 bzw. M2 wird als positive obere Schranke des Ausdrucks x2 − x1 bzw. ahlt, da z = x1 oder z = x2 gilt. x1 − x2 gew¨ (y = 1 ⇒ u1 ≤ 0, x2 ≤ M2 ⇒ z = x1 = x2 + u2 .[Fall x1 ≥ x2 ]) (y = 0 ⇒ u1 ≤ M1 , u2 ≤ 0 ⇒ z = x2 = x1 + u2 .[Fall x2 ≥ x1 ]) Alternative 2: (Verzicht auf die Hilfsvariablen u1 , u2 ) x1 x2 z − x1 z − x2
≤ z, ≤ z, ≤ M1 (1 − y), ≤ M2 y, y ∈ {0, 1}, M1 und M2 wie oben.
ur u1 und z − x2 f¨ ur u2 eingesetzt (man In dieser Formulierung wurde z − x1 f¨ beachte, dass u1 ≥ 0 mit z − x1 ≥ 0 und daher mit x1 ≤ z gleichwertig ist). Die obigen Ungleichungen kann man auch anders herleiten: Da z = max(x1 , x2 ) ist, muss x1 ≤ z und x2 ≤ z sowie x1 ≥ z oder x2 ≥ z, damit z auch mit x1 oder mit x2 u ¨bereinstimmt (nicht > x1 und > x2 ), gelten. Diese OderVerkn¨ upfung l¨ asst sich mit der Einf¨ uhrung einer Indikator-Variablen f¨ ur die ur y st¨ unde dann Wirksamkeit von x1 ≥ z bzw. x2 ≥ z darstellen (vgl. 3.5). F¨ bei der letzten der obigen Ungleichungen (1 – y’), wobei y+ y’ = 1 gesetzt wird. Man kann in einer solchen Situation y oder y’ immer eliminieren. Verallgemeinern Sie beide Vorgehensweisen zur Darstellung von z = max(u1 , u2 , ..., um ). Bemerkung: 1. Die obige Vorgehensweise bleibt g¨ ultig, auch wenn u1 , u2 , ..., um beliebige reelle Werte (also positive wie negative) annehmen oder f¨ ur beliebige linea(i = 1, 2, . . . , m) ein Ausre Ausdr¨ ucke stehen. Im Allgemeinen steht f¨ u r u i n druck der Form j=1 aij xj , wobei x1 , x2 , . . . , xn die Strukturvariablen des Problems sind. Also ist z. B. u1 = 2x1 + x2 + 4x3 und u2 = 5x1 + 7x2 . 2. Falls der Ausdruck z = max(u1 , u2 , ..., un ) in der Zielfunktion minimiert wird, spricht man von einer MiniMax-Objective. In diesem Falle braucht man sogar nicht alle Ungleichungen, insbesondere keine Einf¨ uhrung von 0/1-Variablen, und das Problem bleibt ein reines LP-Modell. Die Ungleichungen u1 ≤ z, u2 ≤ z, ..., un ≤ z zusammen mit der Zielfunktion min z sind hinreichend, da die Zielfunktion den Wert von z so nach unten dr¨ uckt“, dass er automatisch mit einem der Werte von u1 , u2 , ... oder ” un u ¨bereinstimmen muss (ohne die obigen zus¨atzlichen Restriktionen mit den y).
106
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
3. Bei einer MiniMax-¨ ahnlichen Zielfunktion muss stets beachtet werden, dass sich die LP- oder MIP-Zielfunktion auf die erstgenannte Richtung bezieht (d. h. bei einer MiniMax-Zielfunktion hat man eine min-Zielfunktion, die innerhalb des zul¨ assigen Bereichs minimiert werden soll). Das Max ist dann anders zu verstehen und bezieht sich auf vorgegebene Variablen oder auf lineare Ausdr¨ ucke, d. h. max(u1 , u2 , u3 ) ist z. B. = 5, falls die Variablen u1 , u2 , u3 die Werte 2, 5 bzw. 4 annehmen. 4. Der Ausdruck z = min(u1 , u2 , . . . , un ) l¨ asst sich in a¨hnlicher Art wie die Max-Funktion behandeln. Auch die Bemerkung 2 l¨asst sich auf ein MaxiMin-Objective u ¨bertragen. 5. MiniMax- und MaxiMin-Zielfunktionen nennt man in der Literatur auch Bottleneck-Objectives. Die anderen denkbaren Bottleneck-Objectives MaxiMax- und MiniMin-Zielfunktionen sind seltener in der Praxis. Dies ist von Vorteil f¨ ur OR-Fachleute, da die MaxiMax- und MiniMin-Zielfunktionen einer gemischt-ganzzahligen Formulierung bed¨ urfen. Es bleibt dem interessierten Leser u ¨berlassen, das Warum?“ zu beantworten und eine MIP” Formulierung anzugeben. Absolutwert Die Funktion z = |x|,wobei x beliebige reelle Werte annehmen kann oder f¨ ur einen beliebigen linearen Ausdruck steht, ist auch nicht linear. Aufgaben zu Absolutwerten 1. Stellen Sie lineare Ungleichungen auf, die die Funktion z = |x|, x ∈ R, darstellen, ohne dass z in der Zielfunktion vorkommen muss! 2. Stellen Sie ein lineares Modell f¨ ur die Zielfunktion min z = |x| auf, wobei die Variable x ∈ R in linearen Restriktionen vorkommt! 3. Stellen Sie ein lineares Modell f¨ ur die Zielfunktion min z = |x1 – x2 | auf, wobei die Variablen x1 und x2 (mit x1 , x2 ∈ R) in linearen Restriktionen vorkommen! x2 , wenn y = 1 4. Behandeln Sie den Ausdruck x1 = 0, sonst f¨ ur den Fall, dass die Variablen x1 , x2 ∈ R sind, also beliebige reelle Werte annehmen k¨ onnen (nicht wie oben ≥ 0). Weiche Restriktionen Bisher haben wir bei der Modellierung Restriktionen betrachtet, die exakt erf¨ ullt werden m¨ ussen. Beispielsweise ist die Kapazit¨at einer Leitung aus physikalischen Gr¨ unden begrenzt und kann nicht u ¨berschritten werden. Dies entspricht der nat¨ urlichen Sichtweise der mathematischen Optimierung, weil
4.6 St¨ uckweise lineare Funktionen
107
L¨osungsbereiche mit exakten (und nicht irgendwie schwammigen) Grenzen betrachtet werden. Allerdings ist die Realit¨ at bei Weitem nicht immer so genau definiert. Im t¨aglichen Leben hat man es oft mit weichen“ Begriffen zu tun, z. B. un” ” gef¨ ahr“, meistens“, w¨ unschenswert“, manchmal“. Solche weichen Begriffe ” ” ” sind bis zu einem gewissen Punkt in einem klassischen mathematischen Optimierungsmodell darstellbar. Ein Optimierungsmodell kann grunds¨ atzlich zwei Typen von Restriktionen beinhalten: harte und weiche. Harte Restriktionen m¨ ussen exakt erf¨ ullt werden. Sogenannte weiche Restriktionen (soft constraints) erlauben kleinere Abweichungen unter bestimmten Bedingungen. Beispielsweise kann die Anzahl der verf¨ ugbaren Arbeitsstunden u ¨berschritten werden oder es kann eine Lieferung einige Minuten außerhalb eines zugelassenen Lieferzeitraumes stattfinden. Weiche Restriktionen k¨ onnen wie folgt in einem Optimierungsmodell abgebildet werden: aj xj ≤ b ⇒ aj xj ≤ b + u bzw. aj xj – u ≤ b (i) j j j (ii) aj xj ≥ b ⇒ aj xj ≥ b – v bzw. aj xj + v ≥ b j j j (iii) aj xj = b ⇒ aj xj – u + v = b j
j
wobei neue nichtnegative Variablen u, v eingef¨ uhrt werden. u steht f¨ ur eine ¨ Uberschreitung, v f¨ ur eine Unterschreitung von b. Die Zielfunktion wird wie folgt mit einem entsprechenden Term erg¨ anzt. F¨ ur (i): z ⇒ z + cu, wobei c > 0 f¨ ur Minimierung und c < 0 f¨ ur Maximierung steht F¨ ur (ii) : z → z + cv ur Minimierung F¨ ur (iii): z → z + c1 u + c2 v, wobei c1 , c2 > 0 f¨ ur Maximierung steht. und c1 , c2 < 0 f¨ Eine sehr wichtige Anwendung von weichen Restriktionen ist die Realisierung des Goal Programming, eines der Verfahren, die zur Modellbildung bei mehreren konkurrierenden Zielsetzungen benutzt werden, vgl. 4.8.2.
4.6 Stu ¨ ckweise lineare Funktionen In der Praxis treten oft Aufgabenstellungen auf, in denen die Zielfunktion (oder Teile davon) aus mehreren linearen St¨ ucken besteht, die zusammen eine kontinuierliche, aber nichtlineare Funktion bilden. Eine solche Situation kommt oft vor, wenn Mengenrabatte gestaffelt vergeben werden. Beispiel: Heiz¨ olkauf Beispielsweise ist der Literpreis von Heiz¨ol folgendermaßen von der gekauften Menge abh¨ angig:
108
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
0-5000 Liter 0,25 e pro Liter 5000-10000 Liter 0,20 e pro Liter 10000-15000 Liter 0,15 e pro Liter ¨ Sei x die gekaufte Olmenge 0 ≤ x ≤ 15000 (vgl. Abb. 4.5) ⇒ x≤0 0 ≤ x ≤ 5000 5000 ≤ x ≤10000 10000 ≤ x ≤15000
⇒ c(x) ⇒ c(x) ⇒ c(x) ⇒ c(x)
= = = =
0. 0,25x 5000·0,25 + (x - 5000)·0,20 5000·0,25 + 5000·0,20 + (x – 10000)·0,15
c(x) 3000
2250
1250
x 5000
10000
15000
Abb. 4.5. St¨ uckweise lineare Funktion
Dies entspricht der in der Abb. 4.5 gezeigten st¨ uckweise linearen Funktion mit den Eckpunkten: (0,0), (5000,1250), (10000,2250), (15000,3000). Allgemein: Gegeben ist eine st¨ uckweise lineare Funktion mit den Eckpunkten (ak , bk ) wobei k = 1, . . . , n n = Anzahl der Eckpunkte Vor¨ uberlegung: Die L¨ osung wird als Linearkombination zweier nebeneinander liegender Eckpunkte dargestellt: F¨ ur x ∈ [ak , ak+1 ] setzt man x = ak + z(ak+1 − ak ) = (1 − z)ak + zak+1
(1)
wobei 0 ≤ z ≤ 1 eine kontinuierliche Variable ist! Mit dem gleichen z erh¨ alt man c(x) = bk + z(bk+1 − bk ) = (1 − z)bk + zbk+1
(2)
Begr¨ undung: Da c(x) eine lineare Funktion auf [ak , ak+1 ] ist, ist die Steigung von c(x) = Konstante =
4.6 St¨ uckweise lineare Funktionen
109
(bk+1 − bk )/(ak+1 − ak ) = (c(x) − bk )/(x − ak ) f¨ ur x ∈ [ak , ak+1 ] Umgeformt: (x − ak )/(ak+1 − ak ) = (c(x) − bk )/(bk+1 − bk )(= z) ur die Eckpunkte Formulierung: F¨ uhre kontinuierliche Variablen z1 ,z2 , . . . ,zn f¨ ein und setze x = a1 z1 + a2 z2 + . . . + an zn c(x) = b1 z1 + b2 z2 + . . . + bn zn
(3) (4)
1 = z1 + z2 + ... + zn (5) h¨ ochstens zwei z1 , z2 , . . . , zn sind ungleich 0; diese beiden sind hintereinanderfolgend.
(6)
Dabei u ¨bernimmt zk die Rolle von z im Intervall [ak−1 , ak ] und von (1 − z) im Intervall [ak , ak+1 ]. Weil x nur in einem Intervall stehen kann, kann zk nur eine der beiden Rollen“ u ¨bernehmen. Mit der Deklaration (6) wird der ” gew¨ unschte Effekt erreicht: alle zk sind Null bis auf zwei aufeinanderfolgende, diese seien zko und zko+1 mit zko + zko+1 = 1 (wegen (5) und (6)). Nun setzt man z = zko+1 (dann ist 1 − z = 1 − zko+1 = zko ). Mit den Bedingungen (5) und (6) entsprechen also (3) und (4) stets (1) bzw. (2) f¨ ur ein k0 , da ur ein k0 ∈ {1, 2, ..., n − 1} sein muss. x ∈ [ak0 , ak0+1 ] f¨ Beispiel: Fortsetzung Heiz¨ olkauf Anhand des obigen Beispiels soll aufgezeigt werden, wie die Bedingung (6) mit Hilfe der Einf¨ uhrung zus¨ atzlicher 0/1-Variablen dargestellt werden kann: x = 0z1 + 5000z2 + 10000z3 + 15000z4 c(x) = 0z1 + 1250z2 + 2250z3 + 3000z4 z1 + z2 + z3 + z4 = 1 (6’) z1 ≤ y 1 , z2 ≤ y 1 + y 2 , z3 ≤ y 2 + y 3 , z4 ≤ y 3 y1 + y2 + y3 = 1 wobei y1 , y2 und y3 0/1-Variablen sind. (6”) ussen wegen (6’) alle zk gleich Da nur eine Variable yk0 = 0 sein kann (6”), m¨ ussen 0 sein bis auf die Variablen zk0 und zk0+1 , wobei beide ≤ yk0 = 1 sein m¨ (wegen (6’)). Approximation nichtlinearer Ausdr¨ ucke durch st¨ uckweise lineare Funktionen: St¨ uckweise lineare Funktionen werden f¨ ur die Approximation nichtlinearer Funktionen benutzt. Wie in der folgenden Aufgabe ersichtlich wird, ist dies f¨ ur eine Funktion mit einer Ver¨ anderlichen (d. h. mit einer Variablen) leicht zu l¨ osen.
110
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Approximation nichtlinearer Modelle Gegeben ist das folgende nichtlineare Modell: min x21 - 4x1 - 2 x2 s.t. x1 + x2 ≤ 4 (1) ≤ 5 (2) 2 x1 + x2 ≥ 2 (3) x1 + 4 x2 ≥ 0 (4) x1 , x2 , y 1. Geben Sie eine m¨ oglichst gute obere Schranke f¨ ur alle zul¨assigen Werte von x1 unter Ausnutzung der linearen Ungleichungen an! 2. Zeichnen Sie die Restriktionskurve f¨ ur y = x21 ohne Beachtung der x2 Dimension! (Wie sieht sie im 3-dimensionalen Raum aus?) 3. Approximieren Sie diese Kurve grafisch als st¨ uckweise lineare Funktion (3, 4 Intervalle) 4. Formulieren Sie dann das ganze Modell als lineares Programm unter Verwendung von 0/1-Variablen und l¨ osen Sie das resultierende MIP-Modell mit Hilfe einer MIP-Optimierungssoftware. Separable Programme Separable Programme sind mathematische Programme, deren Zielfunktion und/oder Restriktionen nur separable Funktionen beinhalten. Eine separable Funktion ist eine Funktion, die als Summe von Funktionen mit jeweils einer Variablen hingeschrieben werden kann. Beispielsweise ist die Funktion x21 oder x2 + 5ex nicht separabel. 3x21 + 4x21 + 5ex separabel, hingegen ist x1 x2 + 1+x 1 Bei der Approximation jedes Summanden einer separablen Funktion zu einer st¨ uckweise linearen Funktion k¨ onnen separable Programme mit Hilfe von Optimierungssoftware der linearen evtl. gemischt-ganzzahligen Programmierung gel¨ ost werden. Allerdings sollten nichtlineare Ausdr¨ ucke eher die Ausnahme bei sonst linearen Ausdr¨ ucken des separablen Programms sein. Gut ist, dass viele nicht-separable Programme mit Hilfe von einfachen Transformationen zu separablen Programmen umgewandelt werden k¨onnen. Beispiel: Produkt x1 x2 Man f¨ uhrt zwei neue Variablen u1 und u2 ein, setzen Sie u1 = 1 1 2 (x1 + x2 ) und u1 = 2 (x1 − x2 ) als Restriktionen und ersetzen Sie den Ausdruck x1 x2 durch den separablen Ausdruck u21 −u22 . So einfach geht das! Deklarieren Sie u2 als freie Variable, da sie negativ werden kann!
4.7 Darstellung logischer Aussagen als Restriktionen
111
4.7 Darstellung logischer Aussagen als Restriktionen Bei Praxisaufgaben k¨ onnen Sachverhalte voneinander in unterschiedlicher Weise abh¨ angen. In vielen F¨ allen l¨ asst sich diese Abh¨angigkeit als logische Abh¨ angigkeit darstellen. Beispiel: Projekte In einer Planungsaufgabe werden drei Projekte P1, P2 und P3 in Betracht gezogen. Aus irgendwelchen, z. B. betrieblichen, technischen oder firmenpolitischen Gr¨ unden, k¨ onnten Anforderungen an die Planung gestellt werden, z. B. der Form: a) P1 oder P2, d. h. mindestens eines der beiden Projekte P1 und P2, muss durchgef¨ uhrt werden. b) P2 muss realisiert werden, wenn P1 durchgef¨ uhrt wird. c) Entweder P1 oder P2 (exklusives Oder), d. h. genau eines der beiden Projekte P1 und P2, muss durchgef¨ uhrt werden. d) P1 und P2 k¨ onnen nicht gemeinsam bearbeitet werden. e) P2 kann nur bearbeitet werden, wenn P1 realisiert wurde. f) P1 kann nur mit P2 oder P3 zusammen durchgef¨ uhrt werden. g) Wenn P1 und P2 beide realisiert werden, dann muss auch P3 durchgef¨ uhrt werden. h) Wenn P3 realisiert wird, dann m¨ ussen sowohl P1 als auch P2 bearbeitet werden. i) P3 muss dann und nur dann durchgef¨ uhrt werden, wenn P1 und P2 beide realisiert wurden. Zu den Projekten P1, P2 und P3 k¨ onnen (atomare) logische Aussagen, etwa p1 , p2 bzw. p3 eingef¨ uhrt werden. Dabei ist pi genau dann wahr (bzgl. eines Planes), wenn pi bei einer Realisierung dieses Planes durchgef¨ uhrt wird. Jeder bestimmte Plan legt eine Bewertung der pi als wahr oder falsch fest, und definiert somit eine konkrete Bedeutung f¨ ur die logischen Aussagen p1 , p2 und p3 . F¨ ur einen bestimmten Plan kann man jede einzelne Anforderung, wie a) bis i) oben, testen und erkennen, ob sie f¨ ur diesen Plan g¨ ultig (wahr) oder ung¨ ultig (falsch) ist. In der Planungsphase liegt aber kein fester Plan vor, es soll vielmehr einer ermittelt werden, der bestimmte Anforderungen, auch logischer Natur, erf¨ ullt. Daher sollte man unabh¨angig von einem bestimmten Plan (Interpretation) obige Anforderungen als logische Aussagen (nicht-atomar) unter Benutzung der atomaren logiur den schen Aussagen p1 , p2 und p3 formulieren und ihre Wahrheit f¨ gew¨ unschten Plan fordern.
112
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Aussagenlogik Eine logische Aussage oder logische Formel besteht entweder aus einem Symbol, wie p1 (atomare Aussage/Formel), oder sie ist nicht-atomar, also zusammengesetzt nach folgender Vorschrift: Sind F1 und F2 logische Formeln, so sind die Negation ¬F 1 ( nicht F 1“), die ” Konjunktion F 1 ∧ F 2 ( F 1 und F 2“), die Disjunktion F 1 ∨ F 2 ( F 1 oder F 2 ” ” oder beides“, nicht-exklusives Oder), die logische Implikation F 1 → F 2 ( aus ” ¨ F 1 folgt F 2“) und die logische Aquivalenz F 1 ↔ F 2 ( F 1 genau dann, wenn ” F 2“) auch logische Formeln. Zum Beispiel: F = a → ¬(b ∨ ¬c), wobei a, b und c atomare Formeln sind, ist eine logische Formel. Die Syntax (d. h. Aufbauvorschrift) f¨ ur logische Formeln bzw. f¨ ur die Aussagenlogik ist somit festgelegt. Wie am obigen Beispiel erl¨ autert, k¨ onnen logische Formeln wahr oder falsch f¨ ur einen bestimmten Plan sein. Fasst man alle m¨oglichen Pl¨ane zusammen, die f¨ ur jede atomare Aussage den gleichen Wahrheitswert (wahr bzw. 1 oder falsch bzw. 0) ergeben, so spricht man von einer Interpretation. Eine Interpretation legt also die Wahrheitswerte f¨ ur alle atomaren Formeln fest. Bei einer gegebenen Interpretation sind die Wahrheitswerte nicht nur f¨ ur atomare sondern auch f¨ ur zusammengesetzte Formeln festgelegt. Diese kann man effektiv nach folgender Tabelle berechnen: F 1 F 2 F 1 ∧ F 2 F 1 ∨ F 2 ¬F 1 F 1 → F 2 F 1 ↔ F 2 0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 Somit ist auch die Semantik (d. h. Bedeutung) f¨ ur logische Formeln bzw. f¨ ur die Aussagenlogik festgelegt. Anforderungen wie im obigen Beispiel, dass Formeln wahr in einem gew¨ unschten Plan sein m¨ ussen, definieren also eine Menge von Interpretationen und somit eine Menge m¨ oglicher Pl¨ ane, die diese Formeln erf¨ ullen, d. h. bei denen diese Formeln wahr sind. Die Forderung, dass eine Formel erf¨ ullt sein muss, spielt also die Rolle einer Restriktion, die die Menge der erf¨ ullenden Interpretationen einschr¨ ankt. In der Tat k¨ onnen aussagenlogische Formeln in Restriktionen bei MIPProgrammen umgewandelt werden. Dabei entspricht eine atomare Formel einer 0/1-Variablen im MIP-Programm. Es bleibt zu kl¨aren, wie man zusammengesetzte Formeln in MIP-Restriktionen, also zu algebraischen Ungleichungen oder Gleichungen, u ¨bersetzen kann. F¨ ur kleine Formeln kann dies direkt abgeleitet werden. Seien y1 , y2 und y3 0/1Variablen, die den atomaren Formeln p1 , p2 bzw. p3 entsprechen, so bekommt
4.7 Darstellung logischer Aussagen als Restriktionen
113
¨ man folgende Entsprechungen (aus Uberlegungen mit Hilfe obiger Wahrheitstabelle): Logische Formel p1 p1 ∨ p2 p1 ∨ p2 ∨ ... ∨ pk p1 ∧ p2 p1 → p2 p1 ∨ p 2 → p3 ¬p1 ¬p1 ∨p2 ∨p3 ∨ ¬ p4
Algebraische Darstellung y1 = 1 y1 + y2 ≥ 1 y1 + y2 + ... + yk ≥ 1 y1 + y2 ≥ 2 besser (y1 = 1 und y2 = 2) y2 ≥ y1 d. h. y1 − y2 ≤ 0 y1 + y2 ≤ 2y3 besser (y1 ≤ y3 und y2 ≤ y3 ) y1 = 0 d. h. (1 − y1 ) = 1 (1 − y1 ) + y2 + y3 + (1 − y4 ) ≥ 1 d. h. −y1 + y2 + y3 − y4 ≥ −1
Bei verschachtelten Formeln ist es schwieriger eine algebraische Darstellung zu finden. Außerdem gibt es manchmal verschiedene M¨oglichkeiten der Darstellung, z. B. kann die Formel (p1 ∨ p2 ) → p3 in die zwei Ungleichungen (y1 ≤ y3 und y2 ≤ y3 ) transformiert werden. Diese Darstellung nennt man disaggregierte Form von y1 + y2 ≤ 2 y3 . Beide Darstellungsm¨oglichkeiten ergeben den gleichen L¨ osungsraum f¨ ur das MIP-Modell. Aber wenn wir die LP-Relaxation des MIP-Modells betrachten (d. h. entsprechendes LP-Modell ohne Ganzzahligkeitsbedingung), dann l¨ asst die erste Darstellung (y1 + y2 ≤ 2 y3 ) mehr L¨ osungen zu (z. B. y1 = 1/3 ; y2 = 2/3 ; y3 = 1/2) als die Darstellung (y1 ≤ y3 und y2 ≤ y3 ). Die L¨ osung von LP-Relaxationen wird zur L¨osung des MIPModells herangezogen (vgl. Kapitel 5), so dass zur Steigerung der Effizienz der MIP-L¨ osung disaggregierte Darstellungen vorgezogen werden. Im Folgenden wird eine Methode angegeben, die f¨ ur eine beliebige Formel direkt eine disaggregierte algebraische Darstellung generiert. Mehr zu solchen Themen kann man in der Literatur zu Integer Programming, z. B. [Wolsey 1998] lesen. Ein Literal ist eine atomare Formel (z. B. a) oder eine negierte atomare Formel (z. B. ¬ a). Man nennt a ein positives bzw. ¬ a ein negatives Literal. Eine Klausel ist eine Disjunktion von (auch mehr als zwei) Literalen. Eine Klausel kann auch aus einem einzelnen Literal bestehen. Eine Formel ist in konjunktiver Normalform (KNF), falls sie eine Konjunktion von einer oder mehreren Klauseln ist. (Die letzte Formel in der obigen Tabelle ist eine Klausel. Es ist leicht zu erkennen, wie eine Klausel und somit eine Formel in KNF zu einer algebraischen Ungleichung umgewandelt wird.)
114
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Zwei Formeln F 1 und F 2 heißen genau dann (semantisch) ¨ aquivalent (F 1 ≈ F 2), wenn F 1 und F 2 denselben Wahrheitswert f¨ ur jede beliebige Interpretation haben. Ohne Beweis: Jede aussagenlogische Formel l¨asst sich in eine semantisch aquivalente Formel (d. h. mit gleicher Bedeutung“) transformieren, die in ¨ ” KNF ist, d. h. eine und-verkn¨ upfte“ Sammlung von Klauseln ist. Eine Me” thode f¨ ur diese Transformation ist unten angegeben. Algebraische Darstellung einer Formel in KNF Die Umwandlung von Formeln in KNF zu MIP-Ungleichungen l¨auft nun wie folgt: 1. Man definiere f¨ ur jede auftretende atomare Formel p eine 0/1-Variable, etwa y. 2. Jede Klausel in der Reihe von UND-Bedingungen muss einzeln wahr sein. Nun wird jede Klausel der KNF getrennt in eine Ungleichung umgewandelt, d. h., Summe ≥ 1. Bei dieser Summe wird jedes positive Literal p in der Klausel durch die entsprechende 0/1-Variable y und jedes negative Literal ¬p in der Klausel durch (1 − y) ersetzt. Transformation einer Formel in eine ¨ aquivalente Formel in KNF In diesem Abschnitt wird gezeigt, wie jede beliebige logische Formel in die konjunktive Normalform transformiert werden kann. Zielsetzung ist, Modelle mit logischen Variablen durch Standardsoftware f¨ ur mathematische Optimierung zu l¨ osen. Ein Modell in der konjunktiven Normalform besteht aus Klauseln, die mit UND verkn¨ upft sind und somit gleichzeitig gelten m¨ ussen. Wir transformieren jede solche Klausel in eine Restriktion in algebraischer Form und geben diese Restriktionen in unsere Optimierungssoftware ein. Die allgemeine Transformation l¨ auft in drei Schritten ab. In jedem Schritt wird die Formel in eine semantisch ¨ aquivalente Formel umgewandelt. (Die G¨ ultigkeit der benutzten Regeln kann anhand einer Wahrheitstabelle u ¨beruft werden.) pr¨ ¨ 1. Logische Aquivalenzen und Implikationen entfernen Es werden 2 Regeln benutzt: F 1 ↔ F 2 ≈ (F 1 → F 2) ∧ (F 2 → F 1) F 1 → F 2 ≈ ¬F 1 ∨ F 2 Beispiel: F = a → ¬(b ∨ ¬c) ≈ ¬a ∨ ¬(b ∨ ¬c)
4.7 Darstellung logischer Aussagen als Restriktionen
115
2. Negationen nach innen bewegen Dies geschieht mittels der De Morgan’schen Regeln. Diese werden solange angewandt, bis alle Negationen nur vor atomaren Formeln stehen: ¬(F 1 ∧ F 2) ≈ ¬F 1 ∨ ¬F 2 ¬(F 1 ∨ F 2) ≈ ¬F 1 ∧ ¬F 2 ¬¬F 1 ≈ F 1 Beispiel: F ≈ ¬a ∨ ¬(b ∨ ¬c) ≈ ¬a ∨ (¬b ∧ ¬¬c) ≈ ¬a ∨ (¬b ∧ c)
3. Disjunktionen nach innen bzw. Konjunktionen nach außen bewegen Zu diesem Zweck wird eine der sog. Distributionsregeln eingesetzt. Sie wird solange durchgef¨ uhrt bis die Formel in KNF umgewandelt ist: F 1 ∨ (F 2 ∧ F 3) ≈ (F 1 ∨ F 2) ∧ (F 1 ∨ F 3) Beispiel: F ≈ ¬a ∨ (¬b ∧ c) ≈ (¬a ∨ ¬b) ∧ (¬a ∨ c) Algebraische Darstellung: ur a, y2 f¨ ur b und y3 f¨ ur c ein. Die Klausel F¨ uhren Sie 0/1-Variablen y1 f¨ (¬a ∨ ¬b) wird in die Ungleichung (1 − y1 ) + (1 − y2 ) ≥ 1 und die Klausel (¬a ∨ c) in die Ungleichung (1 − y1 ) + (y3 ) ≥ 1 umgewandelt. D.h.: Die Formel a → ¬(b ∨ ¬c) kann durch die zwei vereinfachten Ungleichungen y1 + y2 ≤ 1 und y3 ≥ y1 ausgedr¨ uckt werden. ¨ Weitere Ubungen zu logischen Formeln befinden sich im Internet. http://www.vorms.org Bemerkung: Zu nat¨ urlichsprachlichen Wenn-dann“-Aussagen mit muss“ ” ” und kann“: Wenn-dann-muss-Aussagen k¨ onnen direkt in logische Formeln ” umgewandelt werden, die Aussagen b), g) und h) z. B. mit logischer Implikation und i) mit logischer ¨ aquivalenz. Eine Aussage Wenn P1, dann muss P2“ ” wird in die Formel p1 → p2 umgewandelt. Wenn-dann-Aussagen mit kann“ ” statt muss“ wie e) und f) werden anders behandelt. Die Aussage P2 kann ” ” nur durchgef¨ uhrt werden, wenn P1 durchgef¨ uhrt wurde“ ist nicht ¨aquivalent zu wenn P1 dann muss P2“ und wird daher nicht durch die logische Formel ” p1 → p2 beschrieben. Die Wenn-dann-Aussage mit kann“ fordert n¨amlich, ” dass f¨ ur eine evtl. Durchf¨ uhrung von P2 die Durchf¨ uhrung von P1 notwendig ist, d. h. dass, wenn P2 durchgef¨ uhrt wird, dann muss (als notwendige Voraussetzung) P1 durchgef¨ uhrt werden. Die Regel ist: Die Formulierung P2 ” kann nur, wenn P1“ besagt das gleiche wie Wenn P2, dann muss P1“ und ” sollte daher mit der logischen Formel p2 → p1 beschrieben werden.
116
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Andere Sichtweise: Die Aussage P2 kann nur, wenn P1“ besagt auch: wenn ” ” P1 nicht durchgef¨ uhrt wird, dann kann P2 nicht durchgef¨ uhrt werden“. D.h. wenn P1 nicht durchgef¨ uhrt wird, dann muss gelten: P2 wird nicht durch” gef¨ uhrt“. Diese Aussage wird durch ¬p1 → ¬p2 beschrieben, die semantisch ¨ aquivalent ist zu der Formel p2 → p1 ist (vgl. Transformationsregeln). (¬p1 → ¬p2 wird Kontraposition der Formel p2 → p1 genannt.) Weitere Anwendung der Transformationsregeln Der nichtlineare Ausdruck y3 = y1 · y2 (vgl. Abschnitt 4.5) l¨asst sich auch mit Hilfe der obigen Regeln auf Basis der folgenden logischen Formulierung behandeln: y3 = 1 ↔ (y1 = 1) ∧ (y2 = 1) Dies ist ¨ aquivalent zu: (y3 = 1 → y1 = 1) ∧ (y3 = 1 → y2 = 1) ∧ (y1 = 1 ∧ y2 = 1 → y3 = 1) oder auch zu: (y3 = 0 ∨ y1 = 1) ∧ (y3 = 0 ∨ y2 = 1) ∧ (y1 = 0 ∨ y2 = 0 ∨ y3 = 1) Man erh¨ alt die Ungleichungen: −y1 + y3 ≤ 0, aus (1 − y3 + y1 ≥ 1) −y2 + y3 ≤ 0, aus (1 − y3 + y2 ≥ 1) y1 + y2 − y3 ≤ 1, aus (1 − y1 + 1 − y2 + y3 ≥ 1) In 4.5 kam −y1 + y2 + y3 ≤ 1 statt der Ungleichung −y1 + y3 ≤ 0 heraus. Ersteres folgt aus −y1 +y3 ≤ 0 durch Hinzuaddieren“ von y2 ≤ 1. Umgekehrt ” nimmt man an, dass bei der Formulierung in 4.5 die erste Ungleichung nicht erf¨ ullt sei, dann m¨ usste y3 > y1 gelten, d. h. y3 = 1 und y1 = 0. Setzt man diese Werte hier ein, erh¨ alt man −0 + y2 + 1 ≤ 1 und somit y2 ≤ 0, d. h. usste dann auch gelten. Diese L¨ osung wird aber durch die zweite y2 = 0 m¨ Ungleichung als unzul¨ assig erkannt. Also sind beide Formulierungen korrekt und zueinander a ¨quivalent.
4.8 Optimierung bei mehrfacher Zielsetzung In vielen Situationen, bei denen man eine Entscheidung treffen muss, sei es im Privat- oder Gesch¨ aftsleben, gibt es mehr als eine relevante Zielsetzung. Man spricht von multi-criteria decision making“ (MCDM), also von der Ent” scheidungsfindung bei mehreren Zielen/Kriterien, gerade wenn diese Kriterien konkurrierend und/oder nicht ad¨ aquat in eine einzelne Zielfunktion integriert werden k¨ onnen.
4.8 Optimierung bei mehrfacher Zielsetzung
117
Zielsetzungen im t¨ aglichen Leben sind oft teilweise konkurrierend. Zum Beispiel m¨ ochte man ein Auto kaufen und kann zwischen mehreren Alternativen w¨ ahlen. Dabei gibt es mehrere Ziele: Gr¨oße, Benzinverbrauch, Preis und Design. Oder man hat das Gl¨ uck, zwischen mehreren Jobangeboten mit verschiedenartigen Kriterien auszuw¨ ahlen: Anfangsgehalt, geografische Lage, inhaltliche Zufriedenheit sowie langfristige Entwicklungs- oder Aufstiegsm¨ oglichkeiten. Bei der Produktionsplanung verfolgt ein Unternehmen neben Gewinnmaximierung bzw. Kostensenkung auch andere konkurrierende Ziele wie Prestige, Kunden- und Mitarbeiterzufriedenheit sowie Umweltvertr¨aglichkeit. Es wird haupts¨ achlich zwischen zwei Arten von Problemen bei der Entscheidungsfindung mit mehreren Zielsetzungen oder Kriterien unterschieden: 1. Eine endliche Menge von Alternativen ist gegeben, wobei f¨ ur jede Alternative bekannt ist, inwieweit die Kriterien erf¨ ullt werden. Man m¨ochte eine der Alternativen rational“ ausw¨ ahlen. ” 2. Man hat ein Planungsproblem mit vielen Entscheidungsvariablen, die bestimmten Restriktionen unterliegen. Jedes der verschiedenen Kriterien l¨ asst sich als eine (lineare) Min- oder Max-Zielfunktion mit Hilfe der Entscheidungsvariablen ausdr¨ ucken. (Beispiel: das obige Produktionsplanungsproblem mit konkurrierenden Zielen.) In den n¨ achsten Unterabschnitten werden m¨ogliche Modellierungsvarianten mit Hilfe der linearen Programmierung f¨ ur die zweite Art von Problemen besprochen. F¨ ur die erste Art von (strukturell einfacheren) Problemen bietet sich z. B. die analytische Methode AHP (Analytic Hierarchy Process) an. 4.8.1 Gewichtungen und Mindestanteile von Zielen Gegeben sind die linearen Restriktionen (l.R.) eines lineares Programms, die den zul¨ assigen Bereich f¨ ur die auftretenden Entscheidungsvariablen xj (j = 1, ..., m) beschreiben. Es liegt weiterhin eine mehrfache Zielsetzung vor: F¨ ur jedes Kriterium i = 1, ..., n wird eine Zielfunktion zi :=
m
aij xj
j=1
definiert, wobei o.B.d.A. alle simultan maximiert werden sollen, da durch Multiplikation mit (-1) eine Min- zu einer Max-Zielfunktion umgewandelt werden kann. Man betrachtet nun m¨ ogliche (direkte) Vorgehensweisen zur Behandlung mehrfacher Zielsetzung:
118
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Gewichtung der Ziele Als erste Idee ist es nat¨ urlich m¨ oglich, den Zielen z1 , z2 , ..., zn , je nach ihrer , g , ..., g Wichtigkeit, Gewichte g n zuzuordnen. Dann wird das lineare Pron 1 2 gramm (Pgew ) max i=1 gi zi = (g1 z1 + g2 z2 + ... + gn zn ) s.t. l.R. gel¨ost. Das Hauptproblem ist dann die passende Wahl der Gewichte. Oftmals sind die Ziele bzw. ihre Maßeinheiten nicht vergleichbar“. Außerdem wird manchmal ” auch bei einer guten“ Wahl der Gewichte der obigen Zielfunktion eine L¨osung ” berechnet, die bez¨ uglich mancher Ziele trotzdem nicht zufriedenstellend ist. Dies liegt teilweise an der Eigenschaft von Basisl¨osungen, die an Ecken des zul¨ assigen Bereichs liegen. Eine andere Basisl¨ osung (Ecke) bzw. eine L¨osung irgendwo zwischen Ecken des zul¨ assigen Bereichs mit gleichem oder sogar etwas niedrigerem Gesamtzielfunktionswert k¨ onnte bessere Eigenschaften aufweisen. Mindestanteile von Zielen Eine zweite Idee, die vielleicht hilft, eine L¨ osung zwischen den Ecken“ zu ” finden, beruht darauf, Mindestanteile bzgl. der Erreichung der absolut opatzlichen Restriktionen zu fordern. Zwei timalen Werte der Ziele zi mit zus¨ Vorgehensweisen sind hier denkbar: Vorgehensweise 1: Man l¨ ost zun¨ achst das Problem mehrmals jeweils mit einer der Zielfunktionen: (P1) max z1 s.t. l.R. liefert z1opt (P2) max z2 s.t. l.R. liefert z2opt ... (Pn) max zn s.t. l.R. liefert znopt Im Allgemeinen stimmen die gefundenen L¨ osungen nicht u ¨berein (sonst g¨abe es ja kein Problem mit mehrfacher Zielsetzung). Auf der Basis der oben beost man das lineare mathematische Modell: rechneten Werte z1opt , z2opt , ..., znopt l¨ (P ma ) max z1 opt s.t. z1 ≥ λ1 z1opt , z2 ≥ λ2 z2opt , ..., zn−1 ≥ λn−1 zn−1 , zn ≥ λn znopt und l.R. ur i = 1, 2, ..., n) die Mindestanteile (0 < λi < 1) bezeichnen, wobei λi (f¨ ullt werden die jeweils von den ziopt simultan durch die berechnete L¨osung erf¨ (Mindestanforderung je Ziel sollte durch den Entscheidungstr¨ager bestimmt werden). Das Problem ist hier die Wahl der λi und die Bewertung der Gesamtg¨ ute der L¨ osung. Ferner muss vielleicht lange mit den Parametern λi experimentiert werden, im Falle dass (P) keine zul¨assige L¨osung oder keine gute“ L¨ osung liefert. ” Vorgehensweise 2: Eine M¨ oglichkeit, den beschriebenen Schwierigkeiten teilweise oder ganz zu begegnen, ist nachfolgend beschrieben. Zun¨achst werden alle Ziele nach Wichtigkeit geordnet: o.B.d.A. z1 , z2 , ..., zn .
(sonst umbenennen).
4.8 Optimierung bei mehrfacher Zielsetzung
119
L¨osen Sie dann (P1*) = (P1), das Ergebnis sei z1opt∗ (= z1opt ). L¨ osen Sie (P2*) max z2 s.t. z1 ≥ λ∗1 z1opt∗ und l.R. mit Ergebnis z2opt∗ . L¨ osen Sie (P3*) max z3 s.t. z1 ≥ λ∗1 z1opt∗ und z2 ≥ λ∗2 z2opt∗ und l.R. mit Ergebnis z3opt∗ . Und so weiter bis man (Pn*) max zn s.t. z1 ≥ λ∗1 z1opt∗ , z2 ≥ λ∗2 z2opt∗ , ..., opt∗ , und l.R. l¨ ost und eine optimale L¨osung mit dem Wert zn−1 ≥ λ∗n−1 zn−1 znopt∗ bzgl. der letzten Zielfunktion bekommt. Hier k¨onnte man die Mindestanteile λ∗i sukzessive – kontrollierter als oben – ausw¨ahlen (sinnvoller Weise abnehmend, z. B. λ∗1 =0,95; λ∗2 =0,9,...) und im Laufe des Verfahrens evtl. korrigieren (kleiner setzen), falls ein Ziel nicht zufriedenstellend erreicht oder gar das Problem unzul¨ assig wird! Gewichtung und Mindestanteile von Zielen Es wird empfohlen zun¨ achst die Mindestanteile λ∗i (bzw. λi ) durch die Vorgehensweise 2 (oder 1) zu bestimmen, evtl. etwas zu relaxieren (zu verkleinern), und dann das folgende Modell mit integrierter Gewichtung der Ziele zu l¨osen: (Pgew−ma ) max g1 z1 + g2 z2 +...+gn zn opt s.t. z1 ≥ λ1 z1opt , z2 ≥ λ2 z2opt , ..., zn−1 ≥ λn−1 zn−1 , zn ≥ λn znopt , und l.R.
oder (Pgew−ma∗ ) max g1 z1 + g2 z2 +...+gn zn opt∗ s.t. z1 ≥ λ∗1 z1opt∗ , z2 ≥ λ∗2 z2opt∗ , ..., zn−1 ≥ λ∗n−1 zn−1 , zn ≥ λ∗n znopt∗ , und l.R.
Die beschriebenen Vorgehensweisen erfordern eine gute Wahl von Mindestanteilen und Gewichten. Dabei d¨ urften sich die Werte f¨ ur die Gewichte durch eine Analyse der Schattenpreise der n zi -bezogenen Restriktionen schrittweise verbessern! 4.8.2 Goal Programming Im letzten Abschnitt wird mit der Einf¨ uhrung von Mindestanteilen zur Erreichung der verschiedenen Ziele zi eine gewisse simultane N¨ahe der Werte von zi zu den absolut optimalen Zielfunktionswerten ziopt (i = 1, 2, ..., n) bei einer gemeinsamen Endl¨ osung“ gefordert. Diese Forderung kann man auch ” erreichen, indem man die Abweichungen der zi zu den ziopt minimiert. Im allgemeinen Fall hat man verschiedene Ziele zi , die minimiert, maximiert oder m¨ oglichst nahe an jeweils gegebene Zielwerte bi gebracht werden sollen. F¨ ur den Fall eines max- oder min-Ziels kann man bi auf ziopt oder auf einem gew¨ unschten Wert in seiner N¨ ahe setzen. ur ein Ziel zi = j aij xj nennt man Goal. Einen gegebenen Zielwert bi f¨ Ideal w¨ are, dass f¨ ur eine L¨ osung die Gleichungen (zi =) j aij xj = bi gelten.
120
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Die Idee des Goal Programming ist es, diese unrealistisch harten Anforderungen als weiche Restriktionen zu definieren, indem f¨ ur jedes Ziel eine ¨ Uberschreitung ui und eine Unterschreitung vi des Goals bi durch den Wert uhrt wird, die man dann in der Zielfunktion von zi als neue Variablen eingef¨ auf verschiedene Arten (siehe unten) minimiert. Also werden die harten unrealistischen ur alle Anforderungen j aij xj = bi f¨ i durch die weichen Restriktionen j aij xj – ui + vi = bi ersetzt. F¨ ur das so ver¨ anderte Modell sind zwei alternative Zielfunktionen m¨oglich: 1. Minimiere die Summe der Abweichungen der urspr¨ unglichen Zeilenwer te j aij xj von den jeweiligen Werten der Goals bi (Summe kann auch gewichtet sein, vgl. 4.8.1). Realisierung: Zielfunktion: min z = i (ui + vi ) 2. Minimiere die maximale Abweichung eines urspr¨ unglichen Zeilenwertes des Goals bi . (Auch hier gilt: ,,minimiere die maximale gewichtete Abweichung“ ist sinnvoll.) Realisierung: Zielfunktion: min z, so dass zus¨atzlich ui ≤ z f¨ ur alle i vi ≤ z f¨ ur alle i erf¨ ullt ist. Da z eine obere Schranke aller ui und vi sein muss (Ungleichungen) und bei der Zielfunktion minimiert wird, ist zopt = min maxi (ui , vi ). Dies ist eine MiniMax-Zielfunktion, die eigentlich als zopt = min max(maxi ui , maxi vi ) zu verstehen ist. Bemerkung: Beim Goal Programming kann man bei einem max- bzw. min¨ Ziel zi auf die Uberschreitungsvariable ui bzw. auf die Unterschreitungsvariable vi verzichten, falls bi auf ziopt gesetzt wird oder die Variablen ui bzw. vi nicht in die zu minimierende Gesamtzielfunktion aufgennomen werden (Die ¨ Uberschreitung eines Goals bei einem max-Ziel ist letztlich nicht zu bestra” fen“).
4.9 Fundierung von Modellierungstechniken – Vertiefung In den letzten Abschnitten wurde deutlich, dass Modellierung gleichzeitig eine Kunst und eine Ingenieurt¨ atigkeit sein kann. Bei der Modellierung kann man entsprechend eher intuitiv vorgehen, d. h. ein Modell aufstellen und sich nachher der Richtigkeit versichern. Alternativ kann man sich Regeln und Vorgehensweisen merken, die einem helfen, strukturiert von der Idee zum mathematischen Modell zu kommen. Nat¨ urlich kann man auch versuchen, m¨oglichst
4.9 Fundierung von Modellierungstechniken – Vertiefung
121
viele Modelle auswendig zu lernen, was sicherlich die schlechteste Alternative ist. In diesem Abschnitt werden Techniken und Denkmuster vorgestellt, die insbesondere denjenigen helfen k¨ onnen, die strukturierte Vorgehensweisen zum Umgang mit Indikatorvariablen suchen. Diese Betrachtungsweise kann helfen, weitere Techniken bei der Modellierung neuer Problemstellungen selbst herzuleiten, ohne dass viele Formeln gelernt werden m¨ ussen. Bei der Bildung gemischt-ganzzahliger Modelle wurden im Grunde zwei Techniken f¨ ur die Einf¨ uhrung von 0/1-Variablen (man nennt sie IndikatorVariablen) benutzt, die mit kontinuierlichen Variablen in Zusammenhang stehen: 1. Indikator f¨ ur eine Eigenschaft einer Variable: Gegeben sei eine kontinuierliche Variable x ≥ 0. Eine 0/1-Indikator-Variable y wird eingef¨ uhrt, um anzuzeigen“, ob x > 0 oder x = 0 ist. Zwei verschiedene Forderungen F1 ” und F2 sind denkbar ( →“ steht f¨ ur Wenn ... dann muss“): ” ” F1: x > 0 → y = 1 F2: y = 1 → x > 0 Die Forderung F1 ist logisch ¨ aquivalent zu: F1’: y = 0 → x = 0 denn falls y = 0 ist, kann nach F1 x > 0 nicht gelten, also muss x = 0 sein. Umgekehrt, falls x > 0 ist, kann nach F1’ y = 0 nicht gelten, also muss y = 1 sein, da y eine 0/1-Variable ist (F1’ heißt Kontraposition zu F1). Ferner: da x ≥ 0 ist, ist F1” gleichwertig zu F1’ und somit ¨aquivalent zu F1: F1”: y = 0 → x ≤ 0 Eine geschlossene Ungleichung, die F1” algebraisch modelliert, muss x ≤ 0 f¨ ur y = 0 erzwingen und soll f¨ ur y = 1 den Wert von x nicht einschr¨anken, z. B. nur x ≤ M ausdr¨ ucken, wobei M eine große Zahl (oder besser eine bekannte oder berechnete obere Schranke von x) ist. Diese geschlossene Ungleichung, die x ≤ 0 f¨ ur y = 0 und x ≤ M f¨ ur y = 1 ergibt, lautet: x ≤ M y (x ≥ 0, y ist 0/1-Variable)
(1)
Diese Ungleichung modelliert nat¨ urlich auch die Forderung F1. Falls x > 0, wird der Wert von y auf 1 erzwungen. Um die Forderung F2: y = 1 → x > 0 in eine algebraische Ungleichung umformen zu k¨onnen, wird sie normalerweise approximiert“ zu der Forderung F2’: ” F2’: y = 1 → x ≥ m, wobei m eine sehr kleine Zahl, z. B. 0,001 ist. m modelliert einen Schwellenwert f¨ ur x (wenn produziert wird (x > 0), dann mindestens m). Eine
122
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
geschlossene Ungleichung, die F2’ algebraisch modelliert, muss x ≥ m f¨ ur y = 1 erzwingen und soll f¨ ur y = 0 den Wert von x nicht einschr¨anken, z. B. nur x ≥ 0 ausdr¨ ucken. Diese geschlossene Ungleichung, die x ≥ m f¨ ur y = 1 und x ≥ 0 f¨ ur y = 0 ergibt, lautet: x≥my
(2)
Falls m ausreichend klein gew¨ ahlt wird, modelliert (2) die Forderung F2. Bei Fixkostenproblemen (vgl. 4.2) ist nur die Forderung F1 notwendig, da Fixkosten in der Zielfunktion minimiert werden. Wegen . . . + C·y + ... (C Fixkosten) in der Min-Zielfunktion versucht der Optimierer y auf 0 zu setzen. Dies erfolgt automatisch ohne (2), falls x=0 ist (Ungleichung (1) l¨ asst den Wert y = 0 f¨ ur x = 0 zu). Falls ein nicht stetiger Ausdruck wie k0 y + cx wie in 4.2 zusammen mit x und y in den Restriktionen benutzt, aber nicht minimiert wird, muss man auch die Forderung F2 durch (2) erzwingen. Denn x = 0 und y = 0 w¨are eine zul¨ assige L¨ osung, falls man F2 nicht fordert. Bei Schwellenwerten (vgl. 4.3) muss neben der Forderung F2 durch (2) auch F1 durch (1) erzwungen werden; auch in dem Fall dass nur ein Schwellenwert und keine obere Schranke f¨ ur x bekannt ist (big-M benutzen). Denn x = m/2 und y= 0 w¨ are eine zul¨assige L¨osung, wenn man F1 nicht fordert. Durch (1) und (2) wird die Forderung x > 0 ↔ y = 1 erf¨ ullt (genau-dannwenn). 2. Indikator f¨ ur die Wirksamkeit einer oder mehrerer Restriktionen: Gegeben sei eine Gruppe i einer oder mehrerer Restriktionen. Eine 0/1-Indikatoruhrt, um anzuzeigen“, ob diese Restriktionen wirkVariable yi wird eingef¨ ” sam sind oder nicht. Falls yi = 1 ist, sollen die Restriktionen der Gruppe i wirksam sein (also erf¨ ullt werden), ansonsten unwirksam (nicht zu verwechseln mit nicht erf¨ ullt“, vgl. 4.4). Diese Forderung soll allgemein in ” eine a ¨hnliche Form wie F1” gebracht werden. Dazu transformiert man die Restriktionen wie folgt (als Beispiel soll die Gruppe i die Restriktionen 2 x1 – 3 x2 ≤ 7 und x1 + 2 x2 + x3 = 5 beinhalten): Gleichung → 2 Ungleichungen: x1 + 2 x2 + x3 = 5 → x1 + 2 x2 + x3 ≤ 5 und x1 + 2 x2 + x3 ≥ 5 Ungleichung →≤ 0 -Ungleichung: 2 x1 – 3 x2 ≤ 7 → 2 x1 – 3 x2 – 7 ≤ 0 x1 + 2 x2 + x3 ≤ 5 → x1 + 2 x2 +x3 – 5 ≤ 0 – x1 – 2x2 – x3 ≤ 5 → – x1 – 2 x2 – x3 –5 ≤ 0 x1 + 2 x2 + x3 ≥ 5 →
4.10 Praxisbeispiele
123
Die Restriktionen sind nun in der Form LHSi,j ≤ 0 (LHSi,1 = 2x1 - 3x2 −7, LHSi,2 = x1 + 2 x2 + x3 − 5 und LHSi,3 = −x1 − 2x2 − x3 − 5), wobei gefordert wird, dass ur alle j F3: yi = 1 → LHSi,j ≤ 0 f¨ ur alle j, d. h. Restriktionen unwirksam) (yi = 0 → LHSi,j ≤ Mi,j f¨ Diese Forderung ist ¨ ahnlich zu F1”, wobei statt x ein Ausdruck LHSi,j und statt y der Ausdruck 1 – yi (f¨ ur 0/1-Variablen ist yi = 1 gleichwertig zu 1 – yi = 0). Es folgt also die Ungleichung: ur alle j LHSi,j ≤ Mi (1 – yi ) f¨
(3)
wobei Mi,j gen¨ ugend große Zahlen sind. Wegen evtl. auftretender numerischer Probleme sollte Mi,j nicht zu groß gesetzt werden. z. B. w¨ahlt man f¨ ur Mi,j eine obere Schranke des Ausdrucks LHSi,j . Durch die Ungleichungen (3) werden im Falle yi = 1 die Ungleichungen LHSi,j ≤ 0 und somit die Restriktionen der Gruppe i und im Falle yi = 0 nur die Ungleiullt, was durch die obige Wahl von Mi,j f¨ ur die chungen LHSi,j ≤ Mi,j erf¨ auftretenden Variablen x1 , x2 und x3 keine Einschr¨ankungen erzwingt. Durch Einf¨ uhren von Indikator-Variablen als Variableneigenschaft oder f¨ ur Restriktionswirksamkeit lassen sich viele logische Aussagen ausdr¨ ucken. z. B. lassen sich geradlinig abgegrenzte aber nicht konvexe oder sogar nicht zusammenh¨ angende Bereiche mit Hilfe eines MIP-Modells darstellen, indem konvexe (Teil-)Bereiche gebildet werden, deren Vereinigung dem gesamten zul¨ assigen Bereich entspricht. F¨ ur jeden konvexen Teilbereich wird eine Gruppe von Restriktionen (vgl. Aufgabe 3 unten) aufgebaut und mit einer Indikator-Variablen verbunden. Die Summe der eingef¨ uhrten Indikator-Variablen soll ≥ 1 sein (weitere Restriktion).
4.10 Praxisbeispiele 4.10.1 Sortimentsoptimierung von B¨ uro- und Papierwaren Quelle: [Suhl/U 2001] Im Rahmen von zwei IT-Beratungsprojekten, die an der Freien Universit¨at Berlin in Zusammenarbeit mit der Herlitz AG und der Mercoline GmbH durchgef¨ uhrt wurden, ging es darum, ein entscheidungsunterst¨ utzendes System f¨ ur die Sortimentsoptimierung bei B¨ uro- und Papierwaren zu entwickeln. Die Problematik bestand darin, ein gewinnoptimales Sortiment unter Ber¨ ucksichtigung der Vielzahl der Artikel und der verschiedenartigen Verkaufsstellen zu erstellen. Herlitz vertrieb ca. 15.000 Artikel in u ¨ber 8.000 Verkaufsstellen. Die Verkaufsstellen unterscheiden sich sowohl in Gr¨oße, Kundenstamm und Art des Gesch¨ aftes. So werden nicht nur Fachgesch¨afte/Schreibwarenl¨aden sondern auch SB-M¨ arkte, Kaufh¨ auser usw. beliefert.
124
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Bei der Sortimentsoptimierung m¨ ussen viele Faktoren ber¨ ucksichtigt werden, wie Anzahl und Breiten der Regalb¨ oden, Kontaktstrecken der Artikel sowie Beachtung von Kompetenz- und Ausschlussartikel. In den Online-Unterlagen befindet sich eine Fallstudie, in dem zuerst ein einfaches Modell aufgestellt wird, welches nur auf wenige Beziehungen oder Einschr¨ankungen zwischen den Artikeln eingeht. Beim erweiterten Modell kommen dann Regeln hinzu, die es erm¨ oglichen, bestimmte Sachverhalte bez¨ uglich der Artikel der Sortimentsoptimierung genauer zu beschreiben. Ziel beider Modelle ist es, ein rohertragsmaximales Sortiment zu ermitteln, wobei das Grundmodell mit vielen Vereinfachungen arbeitet und das erweiterte Modell eine praxisrelevantere L¨ osung bietet. Dabei werden Heuristiken wie z. B. die Verbundregeln mit in das Modell aufgenommen. Die Verbundregeln ber¨ ucksichtigen die Abh¨ angigkeit zweier Artikel. Sind beispielsweise Klebefilmabroller im Sortiment platziert, dann m¨ ussen auch Klebefilmrollen platziert sein. Umgekehrt ist es jedoch zul¨ assig, nur Rollen ohne Abroller zu f¨ uhren. Das interaktive Modell im Web erm¨ oglicht es, die Bedeutung verschiedener Ausgangslagen f¨ ur das erweiterte Modell durchzuspielen und die jeweilige L¨ osung zu generieren. 4.10.2 Verschnittoptimierung von Rollenstahl Quelle: [Steinzen et al. 2004] Das Service-Center (SC) der Stahlwerk ErgsteWestig GmbH, ein Unternehmen der ZAPPGruppe, vertreibt hochwertigen rostfreien Federbandstahl. Federbandstahl ist auf Rollen gewickeltes Stahlband und wird dem Service-Center als Halbfabrikat geliefert (Abb. 4.6). Aufgabe des ServiceCenters ist es, Kundenauftr¨ age durch Zuschneiden der gew¨ unschten Breite zu bedienen. Im Lager des Service-Centers sind begrenzte Mengen verschiedener Ausgangsbreiten (Char- Abb. 4.6. Rollen von Federgen) vorr¨ atig. Beim Zuschnitt werden j¨ ahrlich bandstahl mehrere hundert Tonnen Material in kleinere Breiten (l¨ angs) zerschnitten, wobei das eingesetzte Material oft nicht komplett verbraucht wird, so dass nicht weiter verwertbare Restst¨ ucke entstehen k¨ onnen. Ziel der Verschnittoptimierung ist es, Schnittmuster zu finden, die die Kundenauftr¨ age erf¨ ullen und den Verschnitt unter Ber¨ ucksichtigung der Herstellkosten und fertigungstechnischen Restriktionen minimieren. Weitere Ziele sind aus Sicht des Unternehmens eine reproduzierbare Dispositionsstrategie und eine (halb)automatische Materialsuche f¨ ur Auftr¨ age u ¨ber alle Lagerorte und Bestandsstufen.
4.10 Praxisbeispiele
125
Diese Planungsaufgabe wird in der Literatur als Cutting Stock Problem (CSP) behandelt. Besonderheit der Problemstellung in diesem Projekt ist ein begrenzter Lagerbestand mit sehr heterogenem Sortiment und zus¨atzliche Nebenbedingungen zur Materialverwendung. F¨ ur das Problem wurde am DS&OR Lab der Universit¨at Paderborn ein Entscheidungsunterst¨ utzungssystem implementiert, das aus den Auftragsund Bestandsdaten des Systems SAP R/3 unter Verwendung von StandardOptimierungssoftware, wie MOPS oder CPLEX, in einem dreistufigen Prozess eine L¨ osung errechnet. Die berechneten Schnittmuster werden u ¨bersichtlich in ¨ einer grafischen Benutzeroberfl¨ ache dargestellt und k¨onnen vor der Ubergabe an SAP R/3 bearbeitet werden (s. Abb. 4.7). In einer Vergleichsrechnung anhand zweier realer Eingabes¨atze zur Quantifizierung des Reduzierungspotentials wurde ein realistisches Einsparpotential von mindestens einem Drittel identifiziert. Durch den geringen Zeitbedarf des Systems im Vergleich zur manuellen Disposition war weiterhin ein eindeutiges Einsparpotenzial an personellen Ressourcen erkennbar.
Abb. 4.7. Entscheidungsunterst¨ utzungssystem zu Verschnittoptimierung
126
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
¨ 4.11 Ubungsaufgaben Aufgabe 4-1: Autoherstellung Ein Autohersteller produziert drei Modelle von Autos: compact, midsize und large. Die ben¨ otigten Ressourcen und Deckungsbeitr¨age sind unten angegeben. Es sind 6000 Tonnen Stahl und 60000 Arbeitsstunden verf¨ ugbar. Wenn ein Modell produziert wird, m¨ ussen mindestens 1000 Autos dieses Modells produziert werden. Stellen Sie ein Modell der mathematischen Optimierung auf, das den Deckungsbeitrag maximiert. L¨ osen Sie das Modell mit einer Standardsoftware. Stahlbedarf (Tonnen) Arbeitsstunden Deckungsbeitrag (e)
Compact Midsize Large 1,5 3 5 30 25 40 2000 3000 4000
Aufgabe 4-2: Versandboxen Ein Versandhaus produziert Versandboxen f¨ ur eigene Produkte. Es gibt sieben unterschiedliche Boxgr¨ oßen mit Volumen zwischen 170 und 330 cm2 . Die variablen Kosten, um eine Box zu produzieren, sind ein Prozent der Boxgr¨oße ur jede produzierte Box(Beispielsweise 1,7 e f¨ ur die Boxgr¨ oße 170 cm2 ). F¨ gr¨oße fallen fixe Kosten in H¨ ohe von 2000 e an. Es ist m¨oglich, eine Box durch irgendeine gr¨ oßere Box zu ersetzen. Stellen Sie ein Modell der mathematischen Optimierung auf, das die Gesamtkosten minimiert und den Bedarf abdeckt! L¨ osen Sie das Modell mit einer Standardsoftware! 1 2 3 4 5 6 7 Gr¨ oße (cm2 ) 330 300 260 240 190 180 170 Bedarf (St¨ uck) 4000 3000 5000 7000 2000 4000 2000 Aufgabe 4-3: Hausbau Modellieren Sie die unten angegebene Aufgabenstellung als ein gemischtganzzahliges mathematisches Optimierungsproblem mit linearen Restriktionen und einer linearen Zielfunktion! Geben Sie das Modell und dessen L¨osung als Antwort an! ugung, wovon 10% f¨ ur Wege Eine Baufirma hat 100.000 m2 Bauland zur Verf¨ und andere gemeinn¨ utzige Fl¨ achen reserviert werden. Auf der verbleibenden ache kann man Einfamilienh¨ auser, Doppelh¨auser und/oder 390.000 m2 Fl¨ Familienh¨ auser bauen. Der Deckungsbeitrag und die minimal ben¨otigte Fl¨ache pro Haustyp sind in der u. a. Tabelle angezeigt.
¨ 4.11 Ubungsaufgaben
127
Deckungsbeitrag (e) Fl¨ache (m2 ) EF-Haus 20.000 800 Doppelhaus 24.000 1000 3F-Haus 30.000 1200 a) Basismodell: Der Deckungsbeitrag soll maximiert werden, mit der Bedingung, dass mindestens 40% der zu bauenden H¨auser Einfamilienh¨auser sein m¨ ussen. b) Zus¨ atzlich: Wenn Doppelh¨ auser gebaut werden, m¨ ussen von ihnen mindestens 30 St¨ uck gebaut werden. c) Zus¨ atzlich: Wenn die Anzahl Familien 150 oder mehr betr¨agt, muss die Firma den Bau einer Grundschule mit 100.000 e (ohne Zur¨ uckzahlung) unterst¨ utzen. d) Zus¨ atzlich: Infrastrukturkosten sollen ber¨ ucksichtigt werden. Die linearen Infrastrukturkosten betragen grunds¨ atzlich 1000 e f¨ ur ein EF-Haus, 1200 e f¨ ur ein Doppelhaus und 1400 e f¨ ur ein 3F-Haus. Bereitstellung der Infrastruktur kostet jedoch in jedem Fall mindestens 150.000 e. (Mit anderen Worten, die Infrastrukturkosten betragen das Maximum der Summe der hausbezogenen Kosten und 150.000 e.) Aufgabe 4-4: Studentenfutter Ein Unternehmen mischt Waln¨ usse, Haseln¨ usse, Erdn¨ usse und Rosinen zu drei verschiedenen Produkten (Studentenfutter, Mitarbeiterfutter und Professorenfutter) und verkauft diese Produkte in verschiedenen Formen. Das Unternehmen kauft Waln¨ usse zu 3,00 e/kg, Haseln¨ usse zu 2,50 e/kg, Erdn¨ usse zu 1,00 e/kg, und Rosinen zu 2,20 e/kg ein. Die Kennzeichen der Produkte sind folgende: Professorenfutter muss zumindest 40% Waln¨ usse und darf h¨ochstens 25% Erdn¨ usse enthalten. Mitarbeiterfutter muss zumindest 20% Waln¨ usse und darf h¨ ochstens 60% Erdn¨ usse enthalten. In Studentenfutter sollen nicht mehr Erdn¨ usse als das Doppelte des Haselnussgewichts sein. Schließlich darf der Anteil von Rosinen insgesamt 15% des gesamten Haselnuss- und Erdnussanteils nicht unterschreiten. Der Verkaufspreis vom Professorenfutter betr¨agt 4,20 e/kg, der vom Mitarbeiterfutter 3,60 e/kg und der vom Studentenfutter 2,90 e/kg. Eine weitere Einschr¨ ankung ist die, dass pro Zeitperiode nur beschr¨ ankte Mengen dieser N¨ usse und Rosinen zur Verf¨ ugung stehen, n¨amlich 100 kg Waln¨ usse, 120 kg Erdn¨ usse, 70 kg Haseln¨ usse und 25 kg Rosinen. a) Formulieren Sie ein lineares Optimierungsmodell zur Produktionsplanung f¨ ur eine Zeitperiode, so dass der erzielte gesamte Deckungsbeitrag (Verkaufspreis minus Einkaufspreis) maximiert wird! L¨osen Sie das Modell! b) Erg¨ anzen Sie das Optimierungsmodell, so dass f¨ ur jedes Produkt, das produziert werden soll, fixe Kosten pro Periode in H¨ohe von 60e anfallen! L¨ osen Sie das Modell!
128
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
c) Erg¨ anzen Sie das Optimierungsmodell, so dass die folgende Regel ber¨ ucksichtigt wird: Wenn ein Produkt produziert wird, m¨ ussen davon mindestens 30 Kilogramm produziert werden! L¨ osen Sie das Modell! d) Wir nehmen an, dass die Produkte in verschiedenen Formen verkauft werden, n¨ amlich kiloweise wie in a), in Packungen von 300 Gramm und in Familien-Kombipackungen. Die Packkosten betragen 10 Cent pro Packvorgang. Jede Kombipackung beinhaltet eine Packung aus Produkt 1, zwei Packungen aus Produkt 2 und drei Packungen aus Produkt 3. Gegeben sind noch die verschiedenen Preise sowie Maximalabsatzmengen f¨ ur die Packungen und f¨ ur die Kombipackung. Erweitern Sie Ihr Modell, so dass eine optimale Mischung des Verkaufs (kiloweise, Packungen und Kombipackungen) ermittelt wird! Aufgabe 4-5: Erdgasnetz Eine Stadt erw¨ agt den Ausbau eines Erdgasnetzes. Das Netz kann ausgehend von der vorhandenen Zentrale, in die Gebiete A, B, C, D und E erweitert werden (s. Abb. 4.8).
•C
•B •E
•A
•D
Zentrale
Abb. 4.8. Ein Erdgasnetz
Das Gebiet B kann nur erschlossen werden, wenn vorher das Gebiet A erschlossen wurde. Analog kann das Gebiet C nur verrohrt werden, wenn auch A und B verrohrt werden. Der Ausbau des Gebiets E kann nur erfolgen, wenn D vorher erschlossen wird. Aufgrund von Befragungen bei potentiellen Kunden sind die erwarteten Ertr¨ age pro Gebiet bekannt. Weiterhin sind die Investitionskosten und Bauzeiten f¨ ur die Planungsperiode gegeben. Es stehen in der Planungsperiode 500 Tage Bauzeit zur Verf¨ ugung, die nicht u ¨berschritten werden d¨ urfen. Es wird nach einer gewinnmaximalen L¨osung gesucht.
¨ 4.11 Ubungsaufgaben
A Ertrag (Te) 1100 Investitionskosten (Te) 1300 Bauzeit (Tage) 80
B 1200 1600 200
C 2400 1200 110
D 1200 1000 90
129
E 1300 900 70
a) Stellen Sie ein mathematisches Optimierungsmodell auf, um die o.g. Aufgabenstellung zu l¨ osen! L¨ osen Sie das Modell mit Standardsoftware! b) Erweitern Sie das Optimierungsmodell so, dass die folgende Regel ber¨ ucksichtigt wird: Wenn mehr als zwei Gebiete verrohrt werden, muss in irgendeinem Knoten zus¨ atzlich eine Verteilstation gebaut werden. Die Lage der Verteilstation ist hier unwichtig, aber die Kosten sollen ber¨ ucksichtigt werden. Die Station verursacht Investitionskosten von 500 Te in der Planungsperiode! Aufgabe 4-7: Baugruppen Formulieren Sie f¨ ur die folgende Problemstellung ein mathematisches lineares (gemischt-ganzzahliges) Optimierungsmodell! L¨osen Sie Ihr Modell mit Hilfe einer Optmierungssoftware! Problemstellung: Ein Betrieb erw¨ agt die Produktion von drei Produkten P1, P2 und P3. • P1 und P2 sind Baugruppen, die sowohl verkauft als auch zur Produktion von P3 benutzt werden k¨ onnen. • F¨ ur ein St¨ uck P3 werden 2 St¨ uck P1 und 1 St¨ uck P2 ben¨otigt. • Wenn ein Produkt im Planungszeitraum produziert wird, m¨ ussen mindestens 10 St¨ uck davon produziert werden. • Durch den Verkauf der Produkte wird ein Ertrag pro St¨ uck von 12 e f¨ ur P1, 18 e f¨ ur P2 und 50 e f¨ ur P3 erreicht. • Drei Fertigungsstufen (Teilefertigung, Vor- und Endmontage) werden durchlaufen, wobei in der betrachteten Periode 400 Maschinenstunden (MStd.) f¨ ur Teilefertigung, 500 MStd. f¨ ur Vormontage und 350 MStd. f¨ ur Endmontage zur Verf¨ ugung stehen. Diese drei Abteilungen werden durch die 3 Produkte wie in nebenstehender Tabelle (in MStd. pro St¨ uck) belastet (P3 braucht keine Teilefertigung): Fertigungsstufe P1 P2 P3 Teilefertigung 2 4 Vormontage 3 2 2 Endmontage 1 5 1 Es soll ein optimales Produktionsprogramm bestimmt werden, das entscheidet, welche Produkte und wie viel von denen hergestellt werden sollen, so dass der gesamte Verkaufspreis maximiert wird und die vorhandenen Ressourcen nicht u ¨berschritten werden.
130
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
Aufgabe 4-7: Modellierung diverser Aussagen
a) Seien x1 , x2 , ..., xn kontinuierliche Variablen. k sei eine gegebene Zahl (k ≤ n). b) Forderung A: h¨ ochstens k von diesen Variablen sollen > 0 sein. Forderung B: mindestens k von diesen Variablen sollen > 0 sein. Forderung C: genau k von diesen Variablen sollen > 0 sein. ¨ Uberlegen Sie sich gut, f¨ ur welche dieser Forderungen Sie F1 und/oder F2 brauchen (nicht unbedingt die gleiche(n) f¨ ur A, B und C)! n aij xj ≤ bi sowie k ≤ m. c) Gegeben sind m Restriktionen j=1
Forderung D: mindestens k dieser Restriktionen sollen erf¨ ullt werden. Forderung E: h¨ ochstens k dieser Restriktionen sollen erf¨ ullt werden. Wie berechnet man gute Werte f¨ ur jedes von Ihnen eingef¨ uhrte big-M? Die Aufstellung der Ungleichungen f¨ ur E ist etwas schwieriger als f¨ ur D! d) Betrachten wir das LP aus 2.1 (vgl. Abb. 2.1). Dort sind die Restriktionen standardm¨ aßig als und“-verkn¨ upfte Forderungen anzusehen. Formulieren ” Sie nun das folgende Problem, in dem eine ,,oder“-Verkn¨ upfung eingef¨ uhrt wird, als ein gemischt-ganzzahliges Modell: max z = 2 x1 + 1,5 x2 s.t. (2 x1 + x2 ≤ 1000) oder (x1 + x2 ≤ 800) (und) x1 ≤ 400 (und) x2 ≤ 700 (und) x1 , x2 ≥ 0
4.12 Was sollte ich gelernt haben? Modellierung Warum ist es wichtig, die richtige Modellformulierung zu finden? Was kann passieren, wenn man dies nicht tut? Fixkosten Nennen Sie Beispiele von Modellen mit fixen Kosten! Welche neue(n) Variablen und/oder Restriktionen braucht man, um fixe Kosten in einem linearen gemischt-ganzzahligen Optimierungsmodell zu ber¨ ucksichtigen? Wie ¨andert sich die Zielfunktion? Wie sollte der Wert von big-M gew¨ahlt werden? Warum?
4.12 Was sollte ich gelernt haben?
131
Schwellenwert Was kann man mit Schwellenwerten modellieren? Welche Variablen und Restriktionen werden daf¨ ur ben¨ otigt? Warum braucht man eine Obergrenze der betroffenen Variable? Was kann man machen, wenn keine Obergrenze gegeben ist? Weiche Restriktionen Was versteht man unter weichen Restriktionen (soft constraints)? Welchen Unterschied zu harten Restriktionen gibt es? Wie k¨onnen weiche Restriktionen in einem Optimierungsmodell abgebildet werden? Welche neuen Variablen braucht man? Unterscheiden Sie zwischen ≤-, ≥- und =-Restriktionen sowie jeweils zwischen einer minimierenden und maximierenden Zielfunktion. St¨ uckweise lineare Zielfunktion Nennen Sie Praxisbeispiele f¨ ur Situationen, in denen die Zielfunktion st¨ uckweise linear ist! Wie modelliert man grunds¨ atzlich eine st¨ uckweise lineare Zielfunktion? Was versteht man unter separabler Programmierung? Aussagenlogik Angenommen F 1 und F 2 sind logische Formeln, die jeweils den Wert wahr oder falsch haben k¨ onnen. Wie lauten die Wahrheitstabellen von der Negation ¬F 1 ( nicht F 1“), Konjunktion F 1 ∧ F 2 ( F1 und F2“), Disjunktion F 1 ∨ F 2 ” ” ( F 1 oder F 2 oder beides“, nicht-exklusives Oder), der logischen Implikation ” ¨ F 1 → F 2 ( aus F 1 folgt F 2“) und der logischen Aquivalenz F 1 ↔ F 2 ( F1 ” ” genau dann, wenn F2“)? Definitionen ¨ Definieren Sie die folgenden Begriffe: Literal, Klausel, KNF, Aquivalenz. Transformation in die konjunktive Normalform (KNF) Was versteht man unter der KNF? Warum ist sie wichtig? Durch welche drei Schritte kann man eine beliebige Formel in die KNF transformieren? Wenden Sie diese Schritte systematisch an dem folgenden Beispiel an: F = (a ∧ ¬b) → ¬(¬c ∨ d) Wie erh¨ alt man daraus algebraische Ungleichungen? Wenn-dann-Aussagen Wie werden die folgenden Aussagen transformiert?
132
4 Modellierungstechniken f¨ ur Optimierungsaufgaben
1. Wenn P1 wahr, dann muss P2 wahr sein. 2. Projekt P2 kann nur dann durchgef¨ uhrt werden, wenn P1 realisiert wurde. Mehrere Ziele Nennen Sie Beispiele von Entscheidungssituationen mit mehreren Zielfunktionen. Welche grunds¨ atzlichen Vorgehensweisen gibt es, um mehrere Ziele zu ber¨ ucksichtigen? Goal Programming Wie kann man einen Zielwert (Goal) f¨ ur eine gegebene Zielfunktion bestimmen? Wie kann man gew¨ ahrleisten, dass die L¨osung die Zielwerte aller gegebenen Ziele m¨ oglichst gut erreicht? Was bedeutet m¨oglichst gut“ in diesem ” Fall? Betrachten Sie im Folgenden die Zielfunktion zi = j aij xj mit einem gew¨ unschten Zielwert = bi . Dieser Zielwert k¨ onnte erreichbar sein, wenn es nur diese eine Zielfunktion g¨abe. Es gibt aber auch andere Zielfunktionen mit ihren Goals, die unm¨oglich alle gleichzeitig erreicht werden k¨ onnen. Wie wird nun ein gegebener Zielwert relaxiert“ oder aufgelockert“? Welche neuen Restriktionen werden aufge” ” stellt? Alternative Zielfunktionen in Goal Programming Der Wunsch, alle gegebenen Ziele m¨ oglichst gut zu erreichen, beinhaltet nat¨ urlich die Ungenauigkeit, dass es nicht eindeutig definiert ist, was gut“ in ” diesem Zusammenhang bedeutet. Welche zwei alternativen M¨ oglichkeiten gibt es, um die Qualit¨at einer m¨oglichen L¨ osung im Hinblick auf die gestellten mehreren Ziele zu bewerten? Betrachten Sie mehrere Zielfunktionen der Form j aij xj , wobei i = 1,...,m der Index eines gegebenen Ziels ist. F¨ ugen Sie die ben¨otigten neuen Variablen f¨ ur beide alternativen M¨ oglichkeiten ein. Wie lautet jeweils die neue Zielfunktion?
5 Lo ¨sung gemischt-ganzzahliger Optimierungsmodelle
Lernziele: • • • •
Verst¨ andnis u ¨ber die Schwierigkeit gemischt-ganzzahliger Modelle Verst¨ andnis u osungsmethoden ¨ber Klassen von L¨ Basisverst¨ andnis u ¨ber die Branch&Bound-Methode Grunds¨ atzliche Implementierungstechniken f¨ ur Branch&Bound
Online-Lernmodule: • L¨ osung harter und gemischt-ganzzahliger Optimierungsprobleme • Bemerkungen zu MIP-Modellen und deren Formulierung http://www.vorms.org
5.1 Schwierigkeitsgrad von Optimierungsmodellen Im letzten Kapitel wurden Techniken zur Modellierung von Optimierungsproblemen vorgestellt, wobei in vielen F¨ allen die N¨ utzlichkeit der Einf¨ uhrung diskreter Variablen f¨ ur die Modellierung schwieriger Sachverhalte kennen gelernt wurde. Insbesondere kann man mit Hilfe von 0/1-Variablen Ja/Nein“” Entscheidungen modellieren. Logische Abh¨ angigkeiten, Fixkosten, Schwellwerte und auch nichtkonvexe Bereiche konnten als Ungleichungen mit Hilfe von 0/1-Variablen dargestellt werden. Weiterhin m¨ ussen Variablen in manchen F¨ allen als Integer deklariert werden, da sie nur ganzzahlige Werte annehmen konnten. Hier ist zu bemerken, dass zwar f¨ ur eine hohe Anzahl eines zu produzierenden Guts (z.B. kleine Ersatzteile) die Integer-Deklaration fehlen darf, ohne die L¨osungsg¨ ute entscheidend
134
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
zu verschlechtern, aber f¨ ur eine kleine Anzahl einzusetzender LKWs wohl die Integer-Forderung n¨ otig ist, da sonst die L¨osung sehr viel vom wirklichen Optimum abweichen kann. Da, wo man 0/1-Variablen oder allgemeine Integer-Variablen in einem sonst linearen Modell benutzen bzw. deklarieren muss, haben wir es mit gemischt-ganzzahligen (linearen) Programmen (MIP) zu tun. Im Abschnitt 2.5 wurde festgestellt, dass es f¨ ur das LP-Problem einen L¨osungsalgorithmus gibt, dessen Rechenaufwand als Funktion der Problemgr¨oße nur“ ” polynomiell w¨ achst. Somit geh¨ ort das LP-Problem zur Klasse P der in polynomieller Zeit l¨ osbaren Probleme. Optimierungsmodelle, f¨ ur die kein polynomieller Algorithmus bekannt ist, sind in der Regel viel schwieriger zu l¨osen. F¨ ur das allgemeine ganzzahlige oder gemischt-ganzzahlige Optimierungsmodell ist dies der Fall. Aufgrund der sehr hohen Zahl an m¨oglichen L¨osungen – man spricht von der kombinatorischen Explosion – w¨ urde die reine Enumeration aller m¨ oglichen L¨ osungen auch mit einem schnellen Rechner oft Jahre, Jahrzehnte, Jahrtausende in Anspruch nehmen. In der Informatik definiert man neben der Klasse P die Problemklasse NP (nichtdeterministisch polynomiell). F¨ ur diese Modelle ist kein polynomieller L¨ osungsalgorithmus bekannt. Wenn aber eine m¨ogliche L¨osung f¨ ur ein Problem aus NP gegeben ist, kann mit einem polynomiell beschr¨ankten Aufwand getestet werden, ob die L¨ osung zul¨ assig ist. Man kann formal beweisen, dass in diesem Fall mit einem ¨ ahnlichen Aufwand auch die Optimalit¨at einer gegebenen L¨ osung u uft werden kann. Viele der in diesem Buch vorgestellten ¨berpr¨ Probleme geh¨ oren zur Klasse NP und sind somit mit heutigen Technologien grunds¨ atzlich sehr schwer zu l¨ osen. F¨ ur die Klasse NP wird vermutet, dass man sie nicht polynomiell l¨ osen kann; allerdings konnte diese Vermutung bis heute nicht bewiesen werden. Die Klasse NP-hart beschreibt weiterhin eine Menge besonders harter Probleme. Erfreulicherweise ist aber festzustellen, dass man viele der großen Praxismoosen kann. Wissenschaftler haben delle mit moderner Technologie optimal l¨ intelligente L¨ osungstechniken entwickelt, die nicht alle m¨oglichen L¨osungen untersuchen, sondern sich aufgrund gegebener Information nur einen kleinen Teil der m¨ oglichen L¨ osungen anschauen. Viele der m¨oglichen L¨osungen k¨onnen aus logischen Gr¨ unden ausgeschlossen werden, weil man auf Basis der Aufgabenstellung ableiten kann, dass sie nicht optimal sein k¨onnen. Bei der gemischt-ganzzahligen Optimierung handelt es sich somit um sogenannte harte Probleme, zu denen keine polynomielle Algorithmen bekannt sind und/oder die einen schwierigen“ kombinatorischen Charakter aufwei” sen. Mehrere allgemeine L¨ osungstechniken werden f¨ ur die exakte L¨osung solch schwieriger Probleme benutzt. Solche Methoden, wie Backtracking-, Branch&Bound-Verfahren, dynamische Programmierung, usw., werden in diesem Kapitel kurz erl¨ autert. Zur L¨ osung allgemeiner MIP-Modelle benutzt heutige Optimierungssoftware oft die Branch&Bound-Methode, kombiniert mit
5.2 Allgemeine L¨ osungsprinzipien
135
der L¨ osung reiner LP-(Unter-)Modelle. Auch diese L¨osungstechnik wird in diesem Kapitel vorgestellt. Dass man nicht alle Instanzen f¨ ur die Klasse harter Probleme l¨osen konnte bzw. kann, zeigt die Tatsache, dass man sich in vielen F¨allen mit guten heuristischen oder approximierenden Verfahren in der Praxis begn¨ ugt. Bei der Behandlung grundlegender harter Optimierungsaufgaben (wie Tourenplanungsund Standortprobleme) werden daher in Kapitel 7 und 8 heuristische Verfahren neben der mathematischen Formulierung besprochen. Diese sind immer noch wichtig, obwohl stets leistungsf¨ ahiger werdende MIP-Software immer gr¨oßere Probleminstanzen dieser Aufgaben optimal l¨osen kann. Im Folgenden wird zur genaueren Beschreibung der Komplexit¨at von Algorithmen die O-Notation verwendet. Wenn der Leser damit noch nicht vertraut ist, findet sich eine sehr gute Erl¨ auterung in [Cormen et al. 2001].
5.2 Allgemeine Lo ¨sungsprinzipien Es werden nun allgemeine Prinzipien erl¨ autert, die bei vielen Verfahren zur L¨osung von Optimierungsproblemen benutzt werden. Diese gelten sowohl f¨ ur leichte“ als auch f¨ ur harte Probleme, f¨ ur die keine effiziente polynomielle ” Algorithmen bekannt sind. Im n¨ achsten Abschnitt werden spezielle Verfahren vorgestellt, die nur f¨ ur harte Probleme anwendbar sind: Backtracking- und Branch&Bound-Verfahren. Ziel des Abschnitts ist es mehr, das n¨ otige Verst¨andnis f¨ ur m¨ogliche Anwendung dieser Methoden in Praxisaufgaben zu vermitteln und nicht ihre vollst¨ andige Behandlung, die speziellen Lehrb¨ uchern bzw. Vorlesungen der Informatik u ¨berlassen wird. 5.2.1 Greedy-Methode Bei der sogenannten Greedy-Methode (gierige Methode) wird die L¨osung eines Problems schrittweise durch eine Folge von Entscheidungen aufgebaut. Getroffene Entscheidungen werden im Laufe des Verfahrens nicht revidiert. Beispiel: Rucksackproblem Die Greedy-Methode k¨ onnen wir beispielsweise f¨ ur das folgende KnapsackProblem anwenden: F¨ ur eine Reise soll ein Rucksack gepackt werden, so dass der Nutzwert m¨ oglichst hoch ist, aber das Gewicht eine gegebene Obergrenze nicht u ¨berschreitet. Es steht eine gegebene Menge an Gegenst¨ anden zur Verf¨ ugung. Nach der Greedy-Methode werden Gegenst¨ande nacheinander in den Rucksack in der Reihenfolge der absteigenden Wert/Gewicht-Relation eingepackt. Wenn kein Gegenstand mehr hineinpasst, ist die L¨osung fertig.
136
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Somit wird eine L¨ osung schrittweise konstruiert, die allerdings nicht immer optimal ist. Durch Vertauschungen k¨onnen oft bessere L¨osungen gefunden werden. Am Beispiel der Tabelle 5.1 sollen Gegenst¨ande auf dem Flohmarkt verkauft. Es stehen drei Gegenst¨ande zur Verf¨ ugung, die insgesamt 6 kg wiegen. Es passen allerdings nur maximal 4 kg in den Rucksack. Nach dem absteigenden Wert pro kilo werden zuerst die Vase und dann die Uhr eingepackt. Das Radio passt aber nicht mehr hinein und man hat 1 kg unverbrauchte Kapazit¨at u ¨brig. Die Gesamtwert der L¨ osung betr¨ agt 120 e. In diesem kleinen Beispiel kann man leicht erkennen, dass die optimale L¨ osung aus Vase und Uhr besteht, wobei der Gesamtwert 130 e betr¨ agt. Diese L¨ osung wird mit dem Greedy-Algorithmus nicht gefunden! Vase Verkaufswert (in e) 70 Gewicht 1 kg Wert pro Kilo (in e) 70
Uhr 50 2 kg 25
Radio 60 3 kg 20
Tabelle 5.1. Daten zum Rucksack-Beispiel
F¨ ur bestimmte Modellklassen kann man beweisen, dass die Greedy-Methode immer die optimale L¨ osung findet. Eine solche Problemklasse ist z.B. die Bestimmung eines minimalen Spannbaumes in einem Graphen (vgl. Kap. 6). Das Rucksackproblem geh¨ ort offensichtlich nicht in diese Klasse. Aber man kann mit der Greedy-Methode auch f¨ ur Rucksackprobleme gute Anfangsl¨osungen generieren. In 5.3.3 wird Backtracking als Gegensatz zum Greedy-Vorgehen zur L¨ osung des Rucksackproblems herangezogen. 5.2.2 Divide-and-Conquer Verfahren, die auf dem Prinzip Divide-and-Conquer (teile-und-herrsche) basieren, zerlegen das Gesamtproblem auf geeignete, leichter l¨osbare Teilprobleme meist kleinerer Gr¨ oße. Dieses kann auch mehrmals rekursiv geschehen. Nach jedem Zerlegungsschritt werden zun¨ achst die Teilprobleme gel¨ost, dann aus diesen Teill¨ osungen die L¨ osung des gr¨ oßeren bestehenden Problems zusammengef¨ ugt, bis das Gesamtproblem gel¨ ost ist. Dieser mehrstufige Prozess kann allerdings viel Rechenzeit in Anspruch nehmen. Mit der Speicherung aller oder ausgew¨ ahlter wichtiger“ Teill¨ osungen (Teilergebnisse, Lemmata“) ” ” kann das Divide-and-Conquer-Prinzip jedoch zu guten L¨osungsalgorithmen f¨ uhren. Divide-und-Conquer wird u. a. f¨ ur das Sortieren von Elementen in einer Tabelle und f¨ ur die Suche eines Elements in einem nach eindeutigen Schl¨ usseln sortierten Feld (Bin¨ arsuche) erfolgreich angewandt.
5.2 Allgemeine L¨ osungsprinzipien
137
Die Bin¨ arsuche verf¨ ahrt wie folgt: Das gesuchte Element (eigentlich sein Schl¨ ussel) wird mit einem Element in der Mitte des Feldes verglichen. Falls gleich, dann ist das gesuchte Element gefunden. Falls gr¨oßer/kleiner, dann ist das gesuchte Element, wenn in dem Feld vorhanden, im rechten/linken Halbfeld zu finden. Dies wird soweit durchgef¨ uhrt, bis das gesuchte Element gefunden wird oder das Halbfeld, in dem das Element ,,zu finden“ ist, leer wird (gesuchtes Element nicht im Feld vorhanden). Diese einfache Vorgehensweise ist sehr n¨ utzlich, da man in der Regel viel weniger Vergleichsoperationen braucht, als bei einer linearen Suche (aufsteigend beginnend mit dem ersten Element oder absteigend beginnend mit dem letzten Element). Wo der Rechenaufwand bei einer linearen Suche proportional zur Anzahl der Elemente in der zu untersuchenden Tabelle ist, ist der entsprechende Aufwand bei der Bin¨ arsuche nur zum Logarithmus der Elementenanzahl proportional. 5.2.3 Er¨ offnungs- und Verbesserungsverfahren Bei der L¨ osung von Optimierungsproblemen hat man manchmal mit zwei Phasen zu tun: Phase I dient dazu, eine zul¨ assige L¨osung f¨ ur das Optimierungsproblem zu finden und Phase II , diese zul¨assige L¨osung schrittweise zu verbessern, bis eine optimale L¨ osung gefunden wird. Diese allgemeine Vorgehensweise wurde schon beim Simplex-Verfahren f¨ ur die L¨osung von LP angewandt (vgl. Phase I und Phase II). Bei einigen Problemen entf¨allt die Suche nach einer zul¨ assigen L¨ osung, da mit einer trivialen zul¨assigen L¨osung begonnen werden kann. Dies ist der Fall beim Simplex-Verfahren, falls das Setzen aller Strukturvariablen auf Null eine zul¨ assige L¨osung liefert. Diese grunds¨ atzliche Vorgehensweise kann auch f¨ ur Verfahren angewandt werden, die keine optimale L¨ osung garantieren, aber nach einer m¨oglichst guten L¨osung suchen. Solche Verfahren werden im Allgemeinen Heuristiken oder heuristische L¨ osungsverfahren genannt. Sie werden oft genutzt, wenn eine opat nicht in vertrettimale L¨ osung aufgrund der kombinatorischen Komplexit¨ barer Rechenzeit gefunden werden kann. Im Gegensatz zu Heuristiken haben exakte Verfahren die Eigenschaft, dass sie (angenommen, es ist gen¨ ugend Rechenzeit verf¨ ugbar) grunds¨ atzlich eine mathematisch optimale L¨osung finden. Im Fall von Heuristiken wird die in der Phase I gefundene Anfangsl¨osung im Laufe der Phase II schrittweise verbessert; es kann jedoch nicht garantiert werden, dass eine (im mathematischen Sinne) optimale L¨osung gefunden wird. Dabei wird der Algorithmus in der Phase I normalerweise Er¨ offnungsverfahren, und der Algorithmus in der Phase II Verbesserungsverfahren genannt. Ein Beispiel dazu wird in Kapitel 8, Tourenplanung, besprochen: Bei der heuristischen L¨ osung von Tourenplanungsproblemen wird oft zun¨ achst mit einem Er¨ offnungsverfahren ein Tourenplan gebildet, der zwar zul¨ assig, aber meist weit entfernt von einem optimalen Plan ist. Dieser zul¨ assige Plan wird dann im Verbesserungsverfahren schrittweise verbessert: z.B. wird durch Ersetzen von zwei Kanten durch zwei andere aus einem
138
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
zul¨ assigen Tourenplan ein anderer zul¨ assiger Plan gebildet, der den Zielfunktionswert verbessert. Das Verbesserungsverfahren f¨ uhrt f¨ ur heuristische Verfahren zu einem Suboptimum. 5.2.4 Lokale Suche Da gemischt-ganzzahlige und kombinatorische Optimierungsmodelle oft sehr schwer zu l¨ osen sind, wird oft nicht einmal versucht, eine exakt optimale L¨ osung, sondern mit einem schnellen Verfahren eine gute N¨aherungsl¨osung zu finden. Lokale Suche ist eine Bezeichnung f¨ ur Suchmethoden, die ausgehend von einer Anfangsl¨ osung versuchen, in der nahen Umgebung (lokal) nach besseren L¨ osungen zu suchen. Es ist generell unklar, ob diese Methode eine wirklich optimale L¨ osung findet, da sie in einem lokalen Optimum verbleiben kann, obwohl weiter weg im Suchraum noch bessere L¨osungen existieren. Zu jeder zul¨ assigen L¨ osung L (Punkt im Suchraum) wird eine Umgebung ω(L) definiert. Diese Umgebung beinhaltet alle zul¨assigen L¨osungen, die durch genau eine (als atomar angesehene) Transformation aus L¨osung L gebildet werden k¨ onnen. Lokale Suche im weiteren Sinne ist also ein Sammelbegriff f¨ ur Verfahren, in denen man im Suchraum aller L¨osungen sich lokal“ bewegt. ” Eine wichtige Eigenschaft, die bei der Anwendung lokaler Suche gelten muss, ist, dass aus der Anfangsl¨ osung durch mehrmalige lokale Bewegungen zu jeder anderen L¨ osung (und auch zu einer optimalen L¨osung) u ¨bergegangen werden ¨ kann; mit anderen Worten der Suchraum aller L¨osungen mit ω-Uberg¨ angen (als Graph angesehen) muss zusammenh¨ angend sein. Lokale Suche im engeren Sinne ist ein Verfahren, bei dem wie oben lokal gesucht wird, jedoch wird von einer L¨ osung L nur zu einer derjenigen L¨osungen in der Umgebung ω(L) u ¨bergegangen, die eine Verbesserung des Zielfunktionswertes induzieren. (Also k¨ onnen Verbesserungsverfahren als lokale Suche ¨ ¨ angesehen werden.) Uberdies werden Entscheidungen des Ubergangs zu einer bestimmten benachbarten L¨ osung nicht revidiert: somit wird die GreedyVorgehensweise angewandt. Den Suchraum f¨ ur ein Optimierungsproblem mit einer zu maximierenden Ziel¨ funktion kann man im dreidimensionalen Raum als das Außere einer Bergkette veranschaulichen, wobei die Spitze des h¨ ochsten Berges gesucht wird (Optimum). Die Bergkette besteht aus lauter kleinen Felsen und erstreckt sich der Einfachheit halber nur u ¨ber eine begrenzte Erdfl¨ache. Bei der lokalen Suche ¨ beginnt man mit irgendeinem Felsen im Außeren der Bergkette und bewegt sich quasi blind von Fels zu (benachbartem) Fels. Einziges benutzbares Kriterium, ist bedingt durch die Wahrnehmung der Schwere, also, ob man sich nach oben oder nach unten bewegt (nach oben gehen ≡ Verbesserung des Zielfunktionswertes). Es ist klar, dass man bei einer lokalen Suche im engeren Sinne zu der Spitze eines kleinen Berges (oder, im schlimmsten Fall, eines H¨ ugels) geraten kann, von dem man nicht entkommen kann.
5.2 Allgemeine L¨ osungsprinzipien
139
5.2.5 Metaheuristiken und naturanaloge Verfahren Metaheuristik ist eine Bezeichnung f¨ ur heuristische Verfahren, die nicht auf spezielle Problemtypen beschr¨ ankt sind (vgl. z. B. [Michalewicz u. Fogel 2002], [Reeves 1995]). Vielmehr bezeichnen sie Verfahren, die durch Setzen von vielen Parametern und Trainieren mit Beispielen in die Lage versetzt werden, relativ gute L¨ osungen f¨ ur bestimmte Problemklassen zu finden. Verbesserungen der lokalen Suche, die zu guten heuristischen Algorithmen in den letzten Jahren gef¨ uhrt haben, versuchen Mechanismen daf¨ ur zu schaffen, von kleinen H¨ ugeln zu großen Bergen zu entkommen, um m¨oglichst einen Berg zu erwischen (und auch seine Spitze), dessen H¨ohe nicht sehr viel kleiner als die des h¨ ochsten Berges der Kette ist. Solche Verfahren, die der Leser bei Interesse der Literatur entnehmen kann, basieren auf Simulated Annealing oder Tabu Search. Diese beiden Verfahren z¨ ahlen zu den Metaheuristiken. Weitere verwandte Verfahren, die lokale Suche in anderer Weise verbessern, sind unter den Stichworten genetische Algorithmen und Ant systems (Ameisensysteme) bekannt. Die genetischen Algorithmen versuchen, eine gesamte Population“ von L¨ osungen insgesamt zu verbessern. Die Ameisensysteme ” bilden ameisentypische Laufmuster nach, um zu einer optimalen L¨osung zu gelangen. Weil die prinzipiellen Ideen der oben genannten Verfahren Analogien zu Naturph¨ anomenen aufweisen, spricht man oft von naturanalogen Verfahren. Damit sind insbesondere genetische Algorithmen, neuronale Netze, Simulated Annealing und Ameisensysteme gemeint. 5.2.6 Backtracking und Branch&Bound Das Backtracking-Verfahren bezeichnet eine zum allgemeinen Greedy-Vorgehen gegens¨ atzliche Methode: Entscheidungen, die w¨ahrend des Ablaufs des Verfahrens getroffen wurden, k¨ onnen revidiert werden, indem man zur Stelle, bei der die Entscheidung getroffen wurde, zur¨ uckkehrt (Backtracking), eine der alternativ dazu m¨ oglichen Entscheidungen trifft und das Verfahren weiterf¨ uhrt. In Abb. 5.1 ist ein Backtracking-Beispiel f¨ ur das Rucksackproblem dargestellt. Bounding in Zusammenhang mit Backtracking ist eine ganz wichtige Technik, da man durch das Ableiten von Schranken (bounds) f¨ ur optimale L¨osungen viele Bereiche des Suchbaumes von vornherein ausschließen kann. Abb. 5.2 zeigt ein Beispiel zu Bounding. Eine optimale L¨osung mit dem Wert 130 e wurde bereits gefunden. Man kann f¨ ur den linken Teilbaum aber eine obere Schranke von 90 e ableiten. Somit kann es im linken Teil keinen besseren L¨osungswert als 130 e geben. Man braucht somit den linken Teilbaum gar nicht durchzusuchen. Bei großen Modellen kann so ein entscheidend großer Teil der potenziellen Sucharbeit vermieden werden.
140
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Abb. 5.1. Backtracking am Rucksack-Beispiel
Abb. 5.2. Bounding am Rucksack-Beispiel
5.3 Backtracking und Branch&Bound-Verfahren
141
Das Branch&Bound Verfahren kombiniert intelligente Techniken f¨ ur Branching mit den Bounding-Techniken. Unter Branching verstehen wir die Auswahl des als n¨ achstes zu untersuchenden Teilproblems, so dass eine Variable als Branching-Variable ausgew¨ ahlt wird. Backtracking und Branch&Bound-Verfahren sind die wichtigsten Verfahren zur exakten L¨ osung von gemischt-ganzzahligen Optimierungsmodellen und werden daher im n¨ achsten Abschnitt genauer erl¨autert.
5.3 Backtracking und Branch&Bound-Verfahren 5.3.1 Backtracking-Verfahren und Hamilton-Kreise Dieser Abschnitt widmet sich dem Backtracking-Verfahren anhand eines harten Standardproblems, und zwar der Ermittlung von Hamilton-Kreisen (auch Rundreisen genannt). Hamilton-Kreise Ein Reiseveranstalter m¨ ochte Rundreisen veranstalten, bei denen jeweils n St¨ adte je genau einmal besucht werden. Dabei sollen nur bestimmte St¨adteverbindungen benutzt werden. F¨ ur seine Planung m¨ochte er zun¨achst alle M¨ oglichkeiten solcher Rundreisen bestimmen. Allgemeiner: Gegeben ist ein ungerichteter zusammenh¨angender Graph G = (N, E). N ist die Menge der Knoten 1,2, ..., n (Knoten ≡ Stadt) und E ist die Menge der Kanten (≡ St¨ adteverbindungen). Gesucht sind alle HamiltonKreise von G. Dabei ist ein Hamilton-Kreis eine Abfolge von Knoten und verbindenden Kanten (abwechselnd), die alle Knoten aus G genau einmal betrachtet. Diese Abfolge kann auch als Rundreise bezeichnet werden, wobei alle St¨ adte genau einmal besucht werden. Beispiel: Hamilton-Kreis N = {a, b, c, d, e} ist eine Menge von 5 St¨adten. a HK1 = {a, c, d, e, b, a} ist ein Hamilton-Kreis. b
c
d
e
Zur Bestimmung aller Hamilton-Kreise kann man mit einem festen Knoten, z.B. a, anfangen, da es sich bei einem Hamilton-Kreis wie HK1’ := {c, d, e, b, a, c} um den gleichen Hamilton-Kreis wie HK1 handelt (nur mit einer anderen Stadt beginnend). Ausgehend von Knoten a kann man das Backtracking-Prinzip benutzen. Backtracking-Verfahren Typisch bei der Anwendung dieser Methode ist, dass eine L¨osung des Problems sich als ein n-Tupel (x1 , x2 , ...., xn ) darstellen l¨asst, wobei die xi aus einer
142
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle a
d
c
d
e
d
c
b
b
e
e
d
d
e
c
b
Backtracking e
e
... etc.
HK0 a
HK1 a
Abb. 5.3. Backtracking-Baum f¨ ur obiges Beispiel
festen Menge N (i.a. endlicher Zustandsraum) stammen. Das Problem ist, ein solches (oder alle) n-Tupel zu bestimmen, das ein bestimmtes Kriterium ullt, maximiert oder minimiert. P(x1 ,x2 ,....,xn ) erf¨ Die n-Tupel k¨onnen in manchen Anwendungen verschiedene L¨angen haben. F¨ ur folgende Betrachtungen wird angenommen, n sei fest. Wie bei dem vorliegenden Problem k¨onnen Knoten (Zust¨ande) nur einmal in einem n-Tupel vorkommen. Ein Aufz¨ahlungs- oder Enumerationsverfahren w¨ urde alle Permutationen der Menge {1,2,...,n} generieren. Das sind n! n-Tupel – eine sehr hohe Zahl! Werden all diese n-Tupel als Baum organisiert, in dem ein Knoten der Tiefe i ein i-Tupel (x1 , x2 , ...., xi ) darstellt, so durchforstet Backtracking die Knoten dieses Baumes in einer strukturierten Reihenfolge: Es wird zuerst in die Tiefe“ des Baumes gegangen, so dass die Entscheidungsvariablen eine nach ” dem anderen auf einen festen Wert gesetzt werden, ohne eine bisher getroffene Entscheidung zu revidieren. Wenn man (aus welchen Gr¨ unden auch immer) nicht mehr tiefer kann oder muss, wird die zuletzt getroffene Entscheidung (m¨oglichst tief im Baum) revidiert und das Gegenteil untersucht (s. Abb. 5.3). Diese strukturierte Vorgehensweise wird in der Informatik Depth-First-Search (DFS, Tiefe zuerst) genannt. Die Implementierung eines solchen Suchverfahrens kommt mit relativ wenig Speicherplatz aus: man braucht keine Tabelle f¨ ur wartende Knoten zu speichern, weil der n¨achste zu untersuchende Knoten auf Basis des gerade zu untersuchenden Knotens direkt bestimmt werden kann. Bei Erreichen eines Knotens wird gepr¨ uft, ob das i-Tupel zu einem kompletten L¨osungs-n-Tupel erg¨anzt werden kann; wenn nein, er¨ ubrigt sich das weitere Durchforsten des Teilbaumes mit dieser Wurzel. Das Backtracking-Verfahren generiert in einer DFS-weise im Allgemeinen nur einen kleinen Teil dieses Baumes, da man in der Regel viele Teilb¨aume, die sich nicht zu einem HamiltonKreis vervollst¨andigen lassen nicht untersuchen muss.
5.3 Backtracking und Branch&Bound-Verfahren
143
Im obigen Beispiel ist die Anzahl aller Permutationen 120 (= 5! > 25 ), aber im Endeffekt werden beim Backtracking-Verfahren nur 23 Knoten besucht. Jeder mit i beschriftete Knoten im Backtracking-Baum stellt ein i-Tupel (x1 , x2 , ...., xi ) dar, wobei x1 , x2 , .., xi die Beschriftungen der Knoten des Astes von der Wurzel bis zum Knoten i sind. Da bei der Speicherung eines Baumes jeder Knoten mit seinem Vater direkt verbunden ist, wird ein i-Tupel bei Bedarf r¨ uckw¨ arts von i u ¨ber Vater-Beziehungen bis hin zur Wurzel gebaut. F¨ ur die Realisierung des Backtracking-Verfahrens braucht man immer nur die Knoten des aktuellen Astes zu kennen, und f¨ ur jeden dieser Knoten einen Verweis auf (den ersten) der Liste seiner noch nicht betrachteten S¨ohne. F¨ ur die Implementierung von Backtracking bietet sich eine Prozedur an, die rekursiv die S¨ ohne eines Knotens generiert und nur Knoten des aktuellen Astes als besucht markiert. Damit kann das Mehrfachvorkommen desselben Knotens in einem Tupel in effizienter Weise verhindert werden. Diese Markierungen er¨ ubrigen sich bei Aufgabenstellungen, wo der Suchraum an sich ein kreisloser Graph oder ein gerichteter azyklischer Graph ist. Dies ist auch der Fall, wenn kein Problemgraph vorliegt, sondern ein Entscheidungs-(teil)-baum von Zustandsknoten generiert wird. Im n¨ achsten Kapitel wird bei der Behandlung von Tourenplanung das Travelling-Salesman-Problem eingef¨ uhrt, bei dem nach ganz bestimmten Rundreisen (Hamilton-Kreise) gesucht wird, und zwar nach denen, die u ¨ber alle m¨oglichen Rundreisen die minimale L¨ ange besitzen. 5.3.2 Das Rucksackproblem und Job Sequencing Im vorigen Abschnitt wurde das Backtracking f¨ ur das Rucksackproblem beispielhaft demonstriert (s. Abb. 5.1). In diesem Abschnitt wird dieses Problem mit seinen leichten“ und harten“ Varianten sowie verwandten Problemen, ” ” wie Job Sequencing auf einer Maschine allgemein eingef¨ uhrt. Im n¨achsten Unterabschnitt wird das Rucksackproblem herangezogen, um nicht offensichtliche Abschneidungen des Backtrackingbaumes mittels Bounding-Technik aufzuzeigen. Im Allgemeinen handelt es sich beim Rucksackproblem um eine Menge I = {1,2,...,n} von G¨ utern, die in einen Rucksack (bzw. Transportmittel) geladen werden k¨ onnen. Sei G die maximale Kapazit¨ at des Rucksacks (bez¨ uglich Gewicht). Jedes Gut i ∈ I hat ein Gewicht gi und bringt einen Nutzen pi , falls es im Rucksack geladen wird. (G, gi , pi sind positiv.) Es soll eine Teilmenge J ⊆ I von G¨ utern bestimmt werden, die im Rucksack (ohne G zu u ¨berschreiten) mit maximal erzielbarem Gesamtgewinn geladen werden k¨ onnen. In der Praxis sind viele Varianten des Rucksackproblems verbreitet, zum Beispiel:
144
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Rucksackproblem mit Mehrfachg¨ utern Bei Beladung eines Transportmittels (z.B. LKW) ist es oft in der Praxis m¨oglich, ein Gut mehrfach auch mit mehrmaligen Nutzen zu beladen. Dieses Problem ist einfacher als das Standardproblem, aber immer noch ein hartes Problem. Rucksackproblem mit Teilg¨ utern Manchmal ist es m¨ oglich, beliebige Anteile eines Gutes zu laden. Es gibt hier zwei m¨ ogliche Varianten (beide sind leicht“): ” • Falls hier Mehrfachg¨ uter zugelassen sind, ist das Problem trivial, da man einfach den ganzen Rucksack mit dem Gut i mit maximalem Wert pi /gi (maximaler durchschnittlicher Nutzen pro Gewichteinheit) bel¨adt. Es werden dann genau G/gi Einheiten von diesem Gut i geladen mit dem Nutzen (G/gi ) · pi = G · (pi /gi ). • Auch falls Mehrfachg¨ uter nicht zugelassen sind, kann man alle G¨ uter i achst G¨ uter i mit h¨ochsten pi /gi nach pi /gi absteigend sortieren, dann zun¨ beladen, bis ein Gut nicht mehr in den Rucksack passt. Davon w¨ urde man nur einen noch in den Rucksack passenden Anteil laden. Dies entspricht einem Greedy-Verfahren. Eine Anwendung (und zugleich kleine Erweiterung) des Rucksackproblems ist: Job Sequencing auf einer Maschine Gegeben ist eine Menge I = {1,2,...,n} von Auftr¨agen (Jobs), die auf einer Maschine M bearbeitet werden k¨ onnen. Sei D ZE die insgesamt verf¨ ugbare Zeit. Die Bearbeitung soll am Zeitpunkt d0 := 0 anfangen. Jeder Auftrag i ∈ I braucht ti ZE auf M zu seiner Bearbeitung. Auftr¨age k¨onnen auf M nur sequenziell nacheinander bearbeitet werden. Wird der Auftrag i bis zu seinem Schlusstermin di ≤ D bearbeitet, wird ein Gewinn pi GE erzielt. Es soll eine Teilmenge J ⊆ I von Auftr¨ agen bestimmt werden, die auf Maschine M bis Zeitpunkt D mit maximal erzielbarem Gesamtgewinn bearbeitet werden k¨ onnen. Ein Auftrag kann nur ganz und h¨ ochstens einmal bearbeitet werden, so dass wir hier eine Entsprechung zum Standard-Rucksackproblem haben. Maschine und Zeit entsprechen Rucksack und Gewicht und ein Auftrag i einem Gut i. (D ≡ G und ti ≡ gi .) Falls beim Job-Sequencing-Problem alle Auftr¨age den ur alle Auftr¨age i, erhalten wir gleichen Schlusstermin haben, d. h. di = D f¨ eine genaue Entsprechung zum Rucksackproblem, ansonsten handelt es sich um eine kleine Erweiterung desselben. Was macht das Standard-Rucksackproblem (und Job Sequencing) und die erste Variante mit Mehrfachg¨ utern hart“unter der Kenntnis, dass die glei” chen Probleme mit Teilg¨ utern leicht“ sind? Eine plausible Begr¨ undung ist ” wiederum der Unterschied zwischen kontinuierlichen und ganzzahligen (bzw.
5.3 Backtracking und Branch&Bound-Verfahren
145
gemischt-ganzzahligen) Modellen: Die zu maximierende Zielfunktion beim Rucksackproblem kann man als i∈I pi xi darstellen, unter der Nebenbedin ur das Standard-Problem (diskrete) gung i∈I gi xi ≤ G. Dabei sind die xi ’s f¨ 0/1-Variablen und f¨ ur das Problem mit Teilg¨ utern kontinuierliche Variablen! 5.3.3 Anwendung von Backtracking mit Bounding Zur¨ uck zur Besprechung von Backtracking und Branch&Bound: Das Rucksackproblem kann mit Hilfe des 0 Backtracking-Verfahrens gel¨ost werX X =0 den. Dabei stellt der Backtracking1 Baum einen bin¨aren Entscheidungsbaum dar. Ein Knoten der Tiefe i ... • • stellt eine Teilentscheidung (Zustand) • dar¨ uber dar, welche von den ersten i i G¨ utern 1, 2, ..., i im Rucksack hinzu X =1 X =0 genommen wurden und welche nicht. • • Die zwei Kanten, die aus einem Kno• • • ten der Tiefe i hinausgehen, stellen je• ... ... • weils die Zusatzentscheidungen xi+1 = n 1 bzw. xi+1 = 0 dar, und gehen zu Zustandsknoten der Tiefe i+1 u ¨ber. Ein Blattknoten (der Tiefe n) stellt eine m¨ogliche L¨osung, die zul¨assig oder unzul¨assig sein kann. Es gibt genau 2n Bl¨atter (m¨ogliche Entscheidungsketten). Wie kann der Teilbaum, der vom Backtracking-Verfahren durchsucht (bzw. generiert) werden muss, kleingehalten werden? – Angelehnt an das Rucksackproblem mit Teilg¨ utern werden alle G¨ uter i nach pi /gi absteigend sortiert. Dies hat den Grund, dass viele der G¨ uter mit hohem pi /gi wahrscheinlich in den Rucksack genommen werden und es deswegen sinnvoll erscheint, sie als erste im Backtracking-Prozess zu beachten. Der linke (zuerst zu bearbeitende) Zweig nimmt das Gut hinzu (xi+1 = 1), um m¨oglichst schnell eine L¨osung zu bekommen (Rucksack wird schneller voll). Nat¨ urlich kann man, falls der Rucksack voll wird, den linken Zweig abschneiden und nur den rechten Zweig weiterf¨ uhren (Gut nicht hinzunehmen). Dies ist eine erste M¨oglichkeit, den Suchraum einzuschr¨anken. Wird eine L¨osung gefunden (Tiefe n), so speichern wir diese L¨osung als bisher beste. 1
1
i+1
i+1
Der Leser mag folgendes Beispiel f¨ urs Rucksackproblem durchrechnen und dabei die Diskussion weiterverfolgen: Es seien 6 G¨ uter mit jeweils den Gewichten (gi ) := (15, 20, 25, 30, 50, 70) und den Nutzen (pi ) := (135, 140, 300, 330, 400, 700) gegeben. Die Kapazit¨ at des Rucksacks sei G := 115.
146
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Um den Suchraum weiter einzuschr¨ anken, kann die Bounding-Technik benutzt werden: Bei einem Knoten K der Tiefe i im Backtracking-Baum kann man eine obere Schranke der Zielfunktionswerte (untere Schranke f¨ ur den Fall einer MinZielfunktion) aller m¨ oglichen L¨ osungen bestimmen, die man im Teilbaum mit Wurzel K noch erreichen kann. Wichtig ist, dass die dazu erforderlichen Berechnungen effizient durchgef¨ uhrt werden (weit unter dem Aufwand f¨ ur das vollst¨ andige Durchsuchen des Teilbaumes). Falls diese obere (untere) Schranke den Zielfunktionswert der bisher besten L¨osung unterschreitet (oder u ¨berschreitet im Falle der Minimierung), kann man diesen Knoten K mit dem Vermerk bounded“ versehen und auf weiteres Durchsuchen des Teilbaumes ” mit Wurzel K verzichten (Bounding). Wie kann eine obere (bzw. untere) Schranke in effizienter Weise ermittelt werden? Sei g(K) die Summe der Gewichte der G¨ uter, die bis zum Knoten K in den Rucksack genommen wurden. Ab Knoten K liegt eigentlich mit einem Rucksackproblem kleinerer Gr¨ oße vor: Die G¨ uter sind i+1, i+2, ....,n; die Kapazit¨at ist G - g(K) (Restkapazit¨ at des urspr¨ unglichen Rucksacks). Um eine obere Schranke zu bestimmen, kann hier speziell die effiziente Berechnung der optimalen L¨ osung des Rucksackproblems mit Teilg¨ utern herangezogen werden (Greedy-Vorgehensweise): Die restlichen G¨ uter sind schon nach pi /gi absteigend sortiert. Man nimmt nun zun¨ achst die G¨ uter j := i+1, i+2, ... mit h¨ochsten pj /gj , bis ein Gut nicht mehr in den Rucksack passt; Kapazit¨ at G-g(K). Von diesem wird noch ein in den Rucksack passender Anteil genommen. Diese Berechnung liefert eine obere Schranke der Zielfunktionswerte aller m¨oglichen L¨ osungen, die man im Teilbaum mit Wurzel K erreichen kann. Dies liegt daran, dass eine m¨ ogliche ganzzahlige L¨osung von der berechneten Teilg¨ uter-L¨ osung sich nur dadurch unterscheiden kann, dass G¨ uter mit kleineren pj /gj geladen werden und/oder insgesamt weniger geladen wird. Falls die Teilg¨ uter-L¨ osung ganzzahlig f¨ ur alle Variablen sein sollte, so haben wir schon die best erreichbare L¨ osung im Teilbaum bestimmt und man kann außer dem entsprechenden Ast alle anderen Alternativen beschneiden. Abgesehen von den Feinheiten f¨ ur die L¨ osung des Rucksackproblems, die teilweise besprochen wurden, k¨ onnen an dieser Stelle verallgemeinerte Aussagen u ur MIP-Modelle mit ¨ber die Bestimmung oberer/unterer Schranken f¨ max/min-Zielfunktion gewonnen werden: Das Rucksackproblem l¨ asst sich mathematisch als ein MIP-Modell beschreiben (speziell liegt hier ein rein ganzzahliges Modell vor, ein IP-Modell): pj xj max j∈I
s.t.
j∈I
gj xj ≤ G
5.3 Backtracking und Branch&Bound-Verfahren
xj ∈ {0, 1}
147
f¨ ur alle j ∈ I.
Bei einem Knoten K im Backtracking-Baum betrachtet man eigentlich ein einfacheres MIP-Modell (MIP(K)), da die Variablen x1 , x2 , ..., xi schon auf 0 oder auf 1 gesetzt sind (wie die Beschriftungen der Kanten von der Wurzel bis K): pj xj max j∈I
s.t.
gj xj ≤ G
j∈I
x1 , x2 ...xi gesetzt auf 0 oder 1, xj ∈ {0, 1} f¨ ur alle j ∈ I und j ≥ i + 1. Die MIP-Modelle f¨ ur die zwei S¨ ohne K1 und K2 von K im Backtracking-Baum sind: MIP(K1): max pj xj j∈I
s.t.
gj xj ≤ G
j∈I
x1 , x2 ...xi xi+1 = 1
gesetzt auf 0 oder 1,
xj ∈ {0, 1}
MIP(K2): max
f¨ ur alle j ∈ I und j ≥ i + 2.
pj xj
j∈I
s.t.
gj xj ≤ G
j∈I
x1 , x2 ...xi gesetzt auf 0 oder 1, xi+1 = 0 xj ∈ {0, 1} f¨ ur alle j ∈ I und j ≥ i + 2. In einem Entscheidungsknoten K der Tiefe i wird immer nach xi+1 =1 und xi+1 =0 verzweigt, wobei das (i+1)-te Gut (bzgl. nach pi /gi geordneter Liste) diejenige Variable festsetzt, nach der das Branching geschieht. Diese Variable nennt man allgemein die Branching-Variable. Sie ist nicht immer wie hier festgesetzt. Bei einem Knoten K kann eine obere Schranke berechnet werden, in dem das vereinfachte MIP(K) Modell mit Teilg¨ utern gel¨ost wird. Dabei werden eigentlich nur die im MIP-Modell enthaltenen Integer-Forderungen aufgehoben. Ein
148
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
aus solch einer Relaxation der Forderungen resultierendes LP nennt man eine LP-Relaxation von MIP(K): pj xj MIP(K2): max j∈I
s.t.
gj xj ≤ G
j∈I
x1 , x2 ...xi 0 ≤ xj ≤ 1
gesetzt auf 0 oder 1, f¨ ur alle j ∈ I und j ≥ i + 1.
D. h., die optimale L¨ osung einer LP-Relaxation eines MIP-Modells bietet eine obere/untere Schranke des optimalen Wertes der Max-/Min-Zielfunktion. Falls die bisher beste L¨ osung gr¨ oßer/kleiner als diese obere/untere Schranke ist, kann ein Bounding an dem jeweiligen Knoten erfolgen, da bei allen Knoten des darunter liegenden Teilbaumes kein besserer Zielfunktionswert als die berechnete Schranke (und der bisher beste Zielfunktionswert) erreicht werden kann. 5.3.4 Branch&Bound-Verfahren f¨ ur allgemeine MIP-Modelle Branch&Bound ist ¨ ahnlich dem Backtracking, indem im gleichen Entscheidungsbaum gesucht wird. W¨ ahrend Backtracking jedoch nur in einer vorher festgelegter Weise den Entscheidungsteilbaum generiert, ist Branch&Bound flexibler: Die Bestimmung des als n¨ achstem zu untersuchenden Knotens unterliegt einer Strategie, die i.A. nicht stur ist, sondern vorhandene Informationen ausnutzt. Bei der Branch&Bound-Methode speichert man die aktiven Entscheidungsknoten, d. h. Knoten des Entscheidungsbaumes, die generiert wurden, aber noch nicht bearbeitet sind (Knoten bearbeitet ≡ Knoten ist schon expan” diert“, d. h. seine S¨ ohne sind als Knoten generiert), in einer Liste, der sogenannten Priority-Queue. In dieser Priority-Queue sind die Knoten gem¨aß ihrer unteren/oberen Schranken aufsteigend/ absteigend geordnet, je nachdem, ob eine Min- oder Max-Zielfunktion vorliegt. Da der erste Knoten der Liste die kleinste/h¨ ochste untere/obere Schranke u ¨ber alle Knoten der Priority-Queue besitzt, verspricht er am ehesten die besten L¨ osungen. Deswegen wird beim Standard Branch&Bound-Verfahren immer der erste Knoten der schon nach den Schranken geordneten Priority-Queue genommen. (F¨ ur die Steigerung der Effizienz nimmt man f¨ ur eine Priority-Queue statt einer Liste einen Heap eine aus der Informatik bekannte Datenstruktur.) Mit Hilfe dieser Priority-Queue, die am Anfang nur die Wurzel des Entscheidungsbaumes enth¨ alt, k¨ onnen nun die zwei Hauptkomponenten von Branch&Bound erkl¨ art werden: Branch(ing): Der aus der Priority-Queue gew¨ ahlte Knoten K wird expandiert, d. h. seine S¨ ohne K1 und K2 werden generiert. F¨ ur das Rucksackproblem kann
5.3 Backtracking und Branch&Bound-Verfahren
149
somit die Branching-Variable xi+1 festgelegt sein (vgl. 5.4.2) oder nach einer Strategie berechnet werden (vgl. unten). Es kann mehr als zwei S¨ohne geben und/oder die benutzten Kanten k¨ onnen aus einem Problemgraphen stammen (vgl. Hamilton-Kreise in 5.3.1). K
Xi+1=1
MIP(K) U{Xi+1 =1}
K1
MIP(K) X i+1 =0 K2
MIP(K) U{Xi+1 =0}
Wesentlich f¨ ur Branching ist es, dass die S¨ohne Unterprobleme darstellen, deren jeweils induzierte L¨ osungsmengen m¨ oglichst disjunkt sind und eine der L¨ osungsmenge von K gleiche Vereinigung besitzen.
Bound(ing): F¨ ur generierte neue Knoten (S¨ohne) Ki werden untere Schranken (f¨ ur Minimierungsprobleme) bzw. obere Schranken (f¨ ur Maximierungsprobleme) berechnet. F¨ ur MIP-Modelle bietet es sich an, eine Schranke durch die L¨osung der entsprechenden LP-Relaxation von MIP(Ki ) zu bestimmen, d. h. man relaxiert“ die Ganzzahligkeitsbedingungen. Es ist intuitiv klar, dass ” die L¨ osung einer LP-Relaxation nicht besser sein kann als die entsprechende L¨osung mit den Ganzzahligkeitsbedingungen. Somit hat man eine Schranke bestimmt. osung. Falls die L¨ osungsmenge f¨ ur ein Ki leer ist, besitzt auch MIP(Ki ) keine L¨ In diesem Fall kommt der Knoten Ki nicht in die Priority-Queue: Ki kann mit Markierung infeasible“ als untersucht im Baum abgeschlossen werden. Sonst ” liegt eine optimale L¨osung der LP-Relaxation vor (lower bound). Oft wird unter Benutzung dieser Berechnung festgestellt, ob eine die Ganzzahligkeitsforderungen des MIP-Modells erf¨ ullende L¨osung schon vorliegt (f¨ ur jeden neu generierten Knoten Ki ): 1. falls ja, wird festgestellt, ob der erreichte Zielfunktionswert z besser als osung ist (z < zbest der bisher beste zbest einer schon gefundenen MIP-L¨ f¨ ur Minimierung und z > zbest f¨ ur Maximierung). Nur dann wird eine neue bisher beste MIP-L¨osung (also zbest := z) gespeichert und ein Bounding durchgef¨ uhrt: Es werden alle Knoten aus der Priority-Queue gestrichen, deren untere/obere Schranken den Wert zbest u ¨berschreiten (lb(z’) ≥ zbest ) bzw. unterschreiten. 2. Falls nein, wird gepr¨ uft, ob die berechnete untere (obere) Schranke lb(z) < aß Schranke zbest ist. Nur dann wird der Knoten in die Priority-Queue gem¨ lb(z) eingeordnet. (Sonst ist der Knoten schon als bounded“ erkannt.) ” Bemerkung: Backtracking vs. Branch&Bound: 1. Falls die Priority-Queue bei Branch&Bound mit dem LIFO-Prinzip verwaltet wird, ohne lower-bound-Information auszunutzen, hat man eine Tiefensuche des Entscheidungsbaumes ¨ahnlich dem Vorgehen von Backtracking. Eine Ordnung der S¨ohne eines Knotens bei der BacktrackingTiefensuche von links nach rechts entspricht dem Einf¨ ugen dieser S¨ ohne
150
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
in umgekehrter Reihenfolge in die Priority-Queue (¨aquivalent zu einem Stack bei LIFO) f¨ ur Branch&Bound. 2. Backtracking realisiert also das Vorgehen von Branch&Bound mit LIFOStrategie mit weniger Speicheraufwand: Statt alle aktiven Knoten (noch nicht fertige S¨ ohne von expandierten Knoten) zu generieren und in der Priority-Queue zu speichern, werden nur Knoten des aktuellen Astes gespeichert, wobei jeweils Verweise auf erste noch nicht bearbeitete S¨ohne die n¨ achsten zu bearbeitenden Knoten angeben. Dieses Vorgehen kann einfach rekursiv realisiert werden, s. o.. 3. Backtracking kann also f¨ ur das rapid prototyping und zum Vergleich als Vorstufe zu einem Branch&Bound-Vorgehen genutzt werden. F¨ ur Branch&Bound ist es noch notwendig, eine geeignete lower bound“” Funktion zu bestimmen und die Priority-Queue und das Bounding zu realisieren. Hat man ein Branch&Bound-Verfahren realisiert, so kann man auch zum Vergleich eine FIFO-Strategie f¨ ur die Priority-Queue (Queue oder Warteschlange im engeren Sinn) testen. 4. Zusammengefasst ist Backtracking n¨ utzlich, nicht als Ersatz f¨ ur Branch& Bound, sondern als Komplement. Branch&Bound bietet nat¨ urlich f¨ ur viele harte Probleme bessere Erfolgsaussichten. Es ist auch denkbar, dass ein Branch&Bound-Verfahren bei einer vollen Priority-Queue einen Backtracking-Modus einschalten kann, da viel weniger Speicherplatz gebraucht wird, bis die Priority-Queue sich abbaut. Anwendung von Branch&Bound auf die L¨ osung allgemeiner MIPModelle Heutige Optimierungssoftware benutzt f¨ ur die L¨osung von MIP-Modellen oft die Branch&Bound-Methode, kombiniert mit der L¨osung von LP-Relaxationen. Wie oben angedeutet, wird bei jedem generierten Knoten K des Entscheidungsbaumes die LP-Relaxation von MIP(K) gel¨ost. Falls die L¨ osungsmenge leer ist, ist MIP(K) infeasible, sonst bestimmt der Wert der Min-/Max-Zielfunktion die untere/obere Schranke, wonach der Knoten K in die Priority-Queue eingeordnet wird. 1. Falls alle Werte der ganzzahlig deklarierten Variablen bei der optimalen L¨ osung der LP-Relaxation von MIP(K), d. h. des Modells MIP(K) ohne Ganzzahligkeitsbedingung, ganzzahlig sind, haben wir schon eine L¨osung zu MIP(K): Kein weiteres Branching ab K n¨otig. Ferner falls die gefundene L¨ osung besser ist als die bisher beste, wird sie als neue bisher beste gespeichert und Bounding (gem¨ aß oben) streicht evtl. einige Elemente aus der Priority-Queue. 2. Sonst sind diejenigen als ganzzahlig deklarierten Variablen, die jedoch in der optimalen L¨ osung der LP-Relaxation von MIP(K) noch nicht ganzzahlig sind, m¨ ogliche Branching-Variablen. Als Beispiel habe eine solche Variable x den Wert 4,356 bei der optimalen L¨osung der LP-Relaxation
5.3 Backtracking und Branch&Bound-Verfahren
151
von MIP(K). Da x in einer L¨ osung f¨ ur MIP(K) integer sein muss, kann man sagen x = 4,356. Damit dies (und somit die gefundene LP-optimale L¨ osung) f¨ ur weitere LP-Berechnungen verhindert wird, fordert man, dass “x ≤ 4 oder x ≥ 5“ gelten muss. Also ergibt sich f¨ ur die S¨ohne K1 und K2 von K: MIP(K1) := MIP(K) ∪ {x ≤ 4} und MIP(K2) := MIP(K) ∪ {x ≥ 5}. Da x im MIP-Modell ganzzahlig sein muss, wird der Suchraum (L¨ osungsmenge) lediglich aufgespalten, aber nicht eingeschr¨ankt (eingeschr¨ ankt nur f¨ ur LP-Relaxationen!!).
y
Zielfunktion MIP(K1)
MIP(K2) 4
5
x
Abb. 5.4. Qualitative Veranschaulichung (Aufspaltung des L¨ osungsraumes)
Bei manchen Branching-Methoden f¨ ur spezielle Probleme k¨onnen die BranchingVariablen anders festgesetzt werden (vgl. benutzte Branching-Strategie f¨ ur das Rucksackproblem, auch anwendbar f¨ ur Branch&Bound). 5.3.5 Beispiel zu Branch&Bound Man betrachtet das folgende ganzzahlige Optimierungsmodell mit zwei Variablen: Max z
= 12y1 + 17y2 ,
s.t. 10y1 + 7y2 ≤ 40 ≤5 y1 + y 2 ≥ 0 und ganzzahlig. y1 , y2 Abb. 5.5 veranschaulicht den L¨osungsraum sowie die optimale LP-L¨osung des oben genannten Beispiels. Wenn die Ganzzahligkeitsbedingungen weggelassen werden, haben beide Variablen in der optimalen L¨ osung fraktionelle Werte: y1 = 5/3, und y2 = 10/3, wobei der optimale Zielfunktionswert 205/3 = 68,33 betr¨agt. Eine Rundung der Variablen (y1 = 2 und y2 = 3) ergibt eine nicht zul¨assige L¨osung, da die Restriktion 10y1 + 7y2 ≥ 40 nicht eingehalten wird.
152
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle x2 10x1 + 7x2 = 40
6
5 Optimal LP-solution x1 = 5/3, x2 = 10/3 4
z(LP) = 205/3 = 68.33
3
x1 + x 2 = 5
2
17x1 + 12x2 = 68.33
1
0 0
1
2
3
4
5
x1
Abb. 5.5. Grafische Veranschaulichung des Beispiels zu Branch&Bound
Eine Rundung nach unten (y1 = 1 und y2 = 3) ergibt eine zul¨assige ganzzahlige L¨osung mit dem Zielfunktionswert z = 53. Dies ist jedoch nicht die optimale L¨ osung. Eine optimale L¨ osung kann mit dem Branch&Bound-Verfahren bestimmt werden. Im Folgenden wird dessen Ablauf skizziert. Initialisierung: In einer Initialisierungsphase wird das Anfangs-LP unter Vergessen“ aller ” Ganzzahligkeitsrestriktionen gel¨ ost. L¨ osung des LP lautet: y1 = 5/3, und y2 = 10/3, z = 205/3 = 68,33 (Vgl. Abb. 5.5). Es ist jetzt klar, dass der optimale Zielfunktionswert nicht besser als 68,33 (genau gesagt 68) sein kann – warum? Auf der anderen Seite ist der optimale L¨ osungswert mindestens 53, weil bereits eine ganzzahlige L¨osung mit diesem Wert bekannt. Es geht nun darum, die Spanne zwischen beiden Grenzen m¨ oglichst zu verkleinern, so dass zum Schluss der optimale Zielfunktionswert mit den entsprechenden Variablenwerten eindeutig bestimmt werden kann. Die Liste der zu bearbeitenden Knoten (L, Priorit¨atenliste) wird mit dem Anfangsknoten 0 initialisiert: L = {0}. Als erstes wird nat¨ urlich der einzige Knoten 0 aus der Priorit¨atenliste gew¨ahlt. Knoten 0: Wahl der Branching-Variable: Willk¨ urlich wird y1 gew¨ahlt, d. h. es werden zwei Knoten generiert, wobei im Knoten 1 die zus¨atzliche Restriktion y1 ≤ 1
5.3 Backtracking und Branch&Bound-Verfahren
153
und im Knoten 2 die Restriktion y1 ≥ 2 gilt. Die LP-Relaxation wird in beiden neuen Knoten gel¨ ost, mit dem Ergebnis (vgl. Abb. 5.6): Knoten 1: zopt = 65 mit den Variablenwerten y1 = 1 und y2 = 4 . Knoten 2: zopt = 68,29 mit den Variablenwerten y1 = 2,00 und y2 = 2,86. Da die L¨ osung des relaxierten Problems im Knoten 1 ganzzahlig ist, ist dieser Knoten vollst¨ andig bearbeitet und braucht nicht weiter untersucht zu werden. (Es gibt keine fraktionellen Variablen mehr.)
0 y1 d 1
1
integer solution z(LP) 65 y 1 1,00 y 2 4,00
z(LP) 68,33 y 1 1,66 y 2
3,33
y1 t 2
2
z(LP) 68,29 y 1 2,00 y 2 2,86
Abb. 5.6. Bearbeitung von Knoten 0 am Beispiel zu Branch&Bound
Aktualisierung der Priorit¨ atenliste: Im Knoten 2 hat Variable y2 einen fraktionellen Wert, so dass dieser Knoten in die Priorit¨ atenliste eingef¨ ugt wird. Nach Entfernung von Knoten 0 ist die Priorit¨ atenliste: L = {2} Wahl des n¨ achsten Knotens: Aus der Liste wird Knoten 2 ausgew¨ ahlt. Knoten 2: Wahl der Branching-Variable: Im Knoten 2 hat die Variable y2 als einzige einen fraktionellen Wert, so dass sie ausgew¨ ahlt wird. Wenn es mehrere fraktionelle Variablen gibt, kann z. B. die Regel der most fractional“, least ” ” fractional“ oder bester Zielfunktionswert“ angewandt werden. ” Es gibt zwei neue Knoten: • Knoten 3 (y1 ≤ 2) mit dem optimalen LP-Zielfunktionswert von 68,20 und entsprechenden Variablenwerten y1 = 2,60 und y2 = 2,00, sowie • Knoten 4 (y1 ≥ 3), dessen relaxierte LP allerdings keine zul¨ assigen L¨ osungen besitzt. Knoten 4 braucht somit nicht weiter betrachtet zu werden. Aktualisierung der Priorit¨ atenliste: Wegen des fraktionellen Wertes von y2 im Knoten 3 wird dieser Knoten in die Priorit¨ atenliste eingef¨ ugt. Nach Entfernung von Knoten 2 ist die Priorit¨ atenliste somit: L = {3}
154
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Wahl des n¨ achsten Knotens: Auch diesmal ist die Wahl einfach: Nur Knoten 3 steht zur Auswahl und wird als n¨ achstes untersucht. Knoten 3: Auch im Knoten 3 werden die Schritte Wahl der Branching-Variable“, Ak” ” tualisierung der Priorit¨ atenliste“ und Wahl des n¨achsten Knotens durchgef¨ uhrt. Einzelheiten sind in Abb. 5.7 dargestellt.
he ms
z(LP)
0
68,33
y 1 1,66 y 2
y1 d 1
3,33
y1 t 2
integer solution
g n
1
z(LP) 65 y 1 1,00 y 2
2 4,00 y2 d 2
z(LP) 68,20 y 1 2,60 y 2 2,00
3
z(LP) y1
68,29
2,00 y 2 y2 t 3
4
y1 d 2
2,86
infeasible
y1 t 3
z(LP) 5 ! zip z(LP) 58 y 1 2,00 y 2
5
2,00
6 y2 d 1
z(LP) 68,10 y 1 3,30 y 2 1,00 y1 d 3
y2 t 2
7
8
infeasible
y1 t 4
z(LP) 9 ! zip z(LP) 63 y 1 3,00 y 2
z(LP) 68,14 y 1 3,00 y 2 1,43
integer solution 1,00
9
10
z(LP) 68 y 1 4,00 y 2
0,00
Abb. 5.7. Der Branch&Bound-Suchbaum f¨ ur das Beispiel
Weitere Knoten: Wie Abb. 5.7 zeigt, wird im Knoten 10 eine optimale ganzzahlige L¨ osung mit dem Zielfunktionswert 68 und Variablenwerten y1 = 4 und y2 = 0 gefunden. Selbst an diesem kleinen Beispiel sieht man, dass (ohne die zweidimensionale
5.4 Bemerkungen zu MIP-Modellen und deren Formulierung
155
Grafik) das Raten einer optimalen L¨ osung sehr schwer sein kann. Viel schwieriger wird das Raten, wenn das Modell Tausende von Variablen hat und nicht geometrisch fassbar ist. Weitere Beispiele zu Branch&Bound befinden sich im Internet: http://www.vorms.org
5.4 Bemerkungen zu MIP-Modellen und deren Formulierung In diesem Abschnitt werden gemischt-ganzzahlige Modelle und deren Formulierung anhand einiger Bemerkungen diskutiert. Zun¨achst wird auf einen entscheidenden Unterschied zu LP-Modellen bez¨ uglich Eigenschaften der optimalen L¨ osung eingegangen (Dualit¨ at), dann werden einige Hinweise zur effizienten MIP-Modellierung angegeben. 5.4.1 Duality Gap Eine Dualit¨ atstheorie wie bei der Linearen Programmierung gibt es bei der MIP-Optimierung nicht.
Minimiere das Duale der LP-Relaxation von MIP
Optimum der primalen und der dualen LP-Relaxation von MIP z.B. z = 8,..
MIP-Optimum
DUALITY GAP
z.B. z = 5 Maximiere LP-Relaxation von MIP
Maximiere MIP
Abb. 5.8. Beziehung zwischen LP- und IP-L¨ osung (vgl. Beispiel unten)
Es gibt i.d.R. eine L¨ ucke (duality gap) zwischen der optimalen LP- und IP-L¨ osung (vgl. Abb. 5.8). Auch Informationen u ¨ber reduzierte Kosten und Schattenpreise f¨ ur MIP-Modelle ergeben keinen Sinn: Obwohl manche Optimierungssoftware solche Informationen m¨ oglicherweise von dem zuletzt gel¨ osten LP im Branch&Bound-Verfahren angibt, f¨ uhrt ihre Interpretation oft zu Fehlschl¨ ussen.
156
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Es ist zu beachten, dass die L¨ osung eines MIP-Modells unterschiedlich weit von der L¨ osung der Relaxation desselben MIP-Modells sein kann. Insbesondere entspricht die Ab- bzw. Aufrundung“ der L¨osung der LP” Relaxation i.s.R. nicht der MIP-L¨ osung. Manchmal bringt uns eine Rundung sogar zu einer unzul¨ assigen L¨ osung des MIP-Modells (vgl. Abb. 5.9). Eine richtige Rundung“ (durch eine effiziente Prozedur) kann es auch f¨ ur den all” gemeinen Fall (wahrscheinlich) nicht geben, da wir dann ein hartes Problem (MIP) mit Hilfe eines leichten“ Problems (LP) l¨osen k¨onnten. ”
y
optimale Lösung der LP-Relaxation des IP-Modells z=8,...
Zielfunktion x+y IP-Optimum
2 "Rundung" nicht zulässig !!! 1
4
6
x
Abb. 5.9. Ganzzahlige vs. kontinuierliche optimale L¨ osung
5.4.2 (Um-)Formulierung ganzzahliger Modelle – total unimodulare Matrizen Weil MIP- und IP-Probleme meistens 2 schwer zu l¨ osen sind, ist ihre richtige 5 Formulierung sehr wichtig. Es gibt oft mehrere M¨ oglichkeiten, wie ein gemischt4 A ganzzahliges Optimierungsproblem formu3 liert werden kann – daher gibt es auch B große Unterschiede beim L¨osungsaufwand. C 2 F Der L¨ osungsaufwand von LP-Modellen korreliert stark mit der Anzahl der VaD E 1 riablen und Restriktionen im Modell. F¨ ur gemischt-ganzzahlige Modelle stimmt 1 0 2 3 4 1 dies nicht – andere Aspekte sind wichtiger, insbesondere werden oft Restriktionen eingef¨ ugt, um die L¨osung zu erleich- Abb. 5.10. Konvexe H¨ulle einer gegebenen IP-L¨ osungsmenge tern.
5.4 Bemerkungen zu MIP-Modellen und deren Formulierung
157
Die optimale L¨ osung eines LP-Modells wird immer in einem Eckpunkt des zul¨ assigen Bereichs gefunden. Die optimale L¨ osung eines gemischt-ganzzahligen Problems kann im internen Bereich liegen! In Abb. 5.10 sind die zul¨ assigen L¨ osungen eines IP-Modells als Punkte dargestellt. Die konvexe H¨ ulle der zul¨ assigen ganzzahligen L¨osungen ist die Strecke ABCDEF. Wenn der zul¨ assige Bereich des LP so beschr¨ankt werden kann, dass er ABCDEF ist, ist die LP-L¨ osung gleichzeitig die IP- oder MIP-L¨osung! Leider ist das Finden der konvexen H¨ ulle ein genauso schwieriges Problem wie das ganzzahlige Optimierungsproblem selbst. In einigen F¨ allen gelingt es mit Hilfe spezieller Techniken, das Problem so umzuformulieren, dass die LP-Relaxation entweder identisch oder m¨oglichst nahe der konvexen H¨ ulle der ganzzahligen L¨ osungen ist. Einige, auf den ersten Blick ganzzahlige Optimierungsmodelle, haben die Eigenschaft, dass die LP-L¨ osung schon die ganzzahlige L¨osung ist (z. B. das Transportproblem und das Min-Cost-Flow-Problem, vgl. Kapitel 6). Totale Unimodularit¨ at einer Matrix: Eine Matrix ist total unimodular, wenn die Determinante jeder quadratischen Untermatrix von A gleich 0, 1 oder -1 ist. Die LP-L¨ osung eines Problems mit einer total unimodularen Koeffizientenmatrix ist gleichzeitig die optimale ganzzahlige L¨osung ! Die folgenden Eigenschaften garantieren die totale Unimodularit¨at von A (hinreichend, aber nicht notwendig): 1. Jedes Element von A ist 0, 1 oder -1, 2. In jeder Spalte sind h¨ ochstens zwei Elemente und 3. Die Zeilen k¨ onnen in zwei Gruppen P1 und P2 aufgeteilt werden, so dass a) Wenn eine Spalte zwei Nichtnullelemente mit dem gleichen Vorzeichen hat, geh¨ oren die Elemente zu unterschiedliche Gruppen; b) Wenn zwei Elemente einer Spalte unterschiedliche Vorzeichen haben, geh¨ oren sie zur selben Gruppe. oren zu P2 . Dann hat jede Spalte entweder Beispiel: P1 ist leer; alle Zeilen geh¨ ein Element +1 oder -1, oder zwei Elemente +1 und -1. Bemerkung: Unimodularit¨ at ist nur f¨ ur reine IP-Modelle (nicht MIP) definiert. Wenn m¨ oglich, sollte ein IP-Problem so umformuliert werden, dass eine unimodulare Koeffizientenmatrix entsteht: z. B. y1 + y2 + . . . + yn − ny ≤ 0
(1)
Dieser Fall kommt h¨ aufig vor und entspricht der logischen Bedingung (y1 = 1) ∨ (y2 = 1) ∨ . . . ∨ (yn = 1) → (y = 1)
(2)
158
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Dies entspricht der Aussage: wenn y = 0, dann y1 = y2 = ... = yn = 0“ ” (Kontraposition). Allgemein gilt: Kontraposition von α → β (wobei α und β beliebige Formeln sind) ist: ¬β → ¬α (≈ ¬¬β ∨ ¬α ≈ ¬α ∨ β ≈ α → β ) also a¨quivalent zur Implikation α → β selbst. Transformation gem¨ aß den Regeln in 4.7 ergibt n Restriktionen (Disaggregation) y1 − y ≤ 0, y2 − y ≤ 0, ..., yn − y ≤ 0
(3)
Das duale Problem dieses Problems hat die drei oben geforderten Eigenschaften, daher ist die Koeffizientenmatrix total unimodular. Ein weiterer Effekt der Disaggregation lautet: (1) und (3) sind ¨ aquivalent, aber nicht im Sinne des LP. (1) erlaubt fraktionelle L¨ osungen, die (3) nicht erlaubt, z. B. y1 = 1/2, y2 = y3 = 1/4, y = 1/n, alle anderen yi = 0. Es ist zu beachten, dass die in Kapitel 4 angegebene Transformation von Formeln zur konjunktiven Normalform (KNF) den Effekt der Disaggregation f¨ ordert.
5.5 Spezielle Techniken und Software In diesem Kapitel wurde gelernt, dass gemischt-ganzzahlige und kombinatorische Modelle grunds¨ atzlich sehr viel schwieriger zu l¨osen sind als reine LP-Modelle. Alle Softwarepakete zur L¨ osung von allgemeinen MIP-Modellen basieren auf der Branch&Bound-Methode, wobei in jedem Knoten ein LP gel¨ ost wird und eine astronomisch hohe Anzahl von Knoten erforderlich sein kann, um eine optimale L¨ osung zu finden. Weil wegen der H¨arte vieler solcher Probleme das Finden einer optimalen L¨ osung in einer vertretbaren Zeit nicht garantiert werden kann, beinhalten MIP-Solver in der Regel auch integrierte Heuristiken, um m¨ oglichst eine zul¨ assige L¨ osung zu finden – allerdings kann auch dies nicht garantiert werden. Seit den 60er Jahren haben Wissenschaftlerinnen und Wissenschaftler im Bereich des angewandten Operations Research und der angewandten Mathematik kontinuierlich an der ganzzahligen Optimierung gearbeitet und dabei spezielle Methoden entwickelt, die es m¨ oglich machen, viele Praxismodelle heute zu l¨ osen, f¨ ur die noch vor einigen Jahren keine L¨osung m¨oglich war. Heute steht uns preiswerte, sehr leistungsf¨ ahige Hardware zur Verf¨ ugung, die es erlaubt, neue spezielle Techniken zu entwickeln, wodurch viele der Praxismodelle optimal gel¨ ost werden k¨ onnen, auch wenn sie zur Problemklasse NP geh¨ oren. Einige der wichtigsten Techniken sind (s. [Nemhauser u. Wolsey 1988] bzw. [Wolsey 1998] sowie [Suhl/U. 2000]):
5.5 Spezielle Techniken und Software
• • • • • •
159
Preprocessing Effizient implementierte LP-Solver Generierung von Schnittebenen Heuristiken spezielle Branching-Regeln spezielle Knoten-Auswahlregeln
Preprocessing Eine Preprocessing-Phase ist f¨ ur die L¨ osbarkeit schwieriger Modelle sehr wichtig. Ziel des Preprocessing ist es, das Modell so zu vereinfachen und zu modifizieren, dass es leichter l¨ osbar ist. Man kann z. B. redundante Variablen und Restriktionen beseitigen und Koeffizienten ¨andern, ohne dass die optimale L¨ osung sich ¨ andert. Das Preprocessing f¨ ur ganzzahlige Modelle ist fundamental anders als das LP-Preprocessing: Bei Modellen mit ganzzahligen Variablen darf man den zul¨ assigen Bereich verkleinern, wenn man nur nicht den optimalen ganzzahligen L¨ osungswert abschneidet. Der optimale LP-Wert kann dabei abgeschnitten werden. Diese Erkenntnis f¨ uhrt in eine sehr wichtige Preprocessing-Technologie: Generierung von Schnittebenen (Cuts, siehe unten). Beim Preprocessing werden insbesondere f¨ ur 0/1-Variablen auch Konsequenzen bestimmter Variablenwerte abgeleitet und gespeichert. Es kann beispielsweise sein, dass das Setzen einer bestimmten Variable auf 0 oder 1 das Problem unzul¨ assig macht, so dass dieser Fall ausgeschlossen werden kann. Weiterhin kann das Setzen einer Variable weitgehende Implikationen f¨ ur die Werte anderer Variablen haben, die beim L¨ osungsprozess zu entscheidenden Verbesserungen der Anzahl der zu untersuchenden Knoten haben und somit die gesamte L¨osungszeit signifikant reduzieren kann. Generierung von Schnittebenen Es wird ein ganzzahliges Optimierungsmodell betrachtet, z. B. das Modell in Abb. 5.10. Wenn man es schafft, den zul¨ assigen Bereich durch Geraden (im Allgemeinen Hyperebenen) so abzugrenzen, dass nur die konvexe H¨ ulle der ganzzahligen L¨ osungspunkte u ¨brig bleibt, ist die optimale LP-L¨osung dieses modifizierten Modells gleich der optimalen IP-L¨osung. Weil das LP in der Regel sehr viel einfacher zu l¨ osen ist als das IP, ist dies ein w¨ unschenswerter Zustand. Es ist jedoch vorteilhaft, durch das Einf¨ ugen von Schnittebenen in Form von g¨ ultigen Ungleichungen ( valid inequalities“) jeweils einen Teil des zul¨assigen ” Bereichs abzuschneiden, so dass man schrittweise der konvexen H¨ ulle n¨aher kommt (auch wenn man dies nicht erreicht). Es gibt in der Regel eine extrem hohe Anzahl von m¨ oglichen Schnittebenen, so dass es keinen Sinn hat zu versuchen, diese alle ins Modell zu integrieren. Besonders g¨ unstig ist es aber,
160
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
solche Schnittebenen einzuf¨ ugen, die das LP-Optimum, aber keine zul¨assigen ganzzahligen Punkte abschneiden. Nach einem nochmaligen L¨osen des LP hat man einen besseren Bound f¨ ur den entsprechenden Suchbaum bekommen, was wiederum f¨ ur das weitere Bounding g¨ unstig auswirkt. Bereits in den 50er und 60er Jahren hat Gomory einige Verfahren zur Generierung von Schnittebenen vorgestellt (Gomory-Cuts). Man hat diesen zun¨achst eine große theoretische, aber kaum praktische Bedeutung gemessen. Erst in den 90er Jahren, mit schneller und preiswerter Hardware, haben die Schnittebenen von Gomory zusammen mit vielen anderen Schnittebenen-Verfahren Einzug in kommerzielle Software gefunden. Viele Modelle sind ohne solche Verfahren u osbar. Interessierte Leserinnen und Leser k¨onnen ne¨berhaupt nicht l¨ ben der Originalliteratur in [Wolsey 1998] sowie [Nemhauser u. Wolsey 1988] dazu mehr lesen. Integration von Heuristiken Man kann versuchen, die fraktionellen Werte der ganzzahligen Variablen bei der L¨ osung eines Anfangs-LP zu runden: allerdings erreicht man somit nur selten eine zul¨ assige oder sogar optimale ganzzahlige L¨osung. Intelligentes ” Raten“ in Form von Heuristiken kann jedoch in einigen F¨allen zu guten ganzzahligen Anfangsl¨ osungen f¨ uhren, wodurch der L¨osungsprozess signifikant beschleunigt werden kann. Heuristiken geh¨ oren heute als Pflicht zu einem MIPSolver, der den Stand der Technik implementiert. Effiziente LP-Solver In diesem Kapitel war ersichtlich, dass man bei der L¨osung von gemischtganzzahligen Modellen in der Regel sehr viele LP hinter einander l¨osen muss. Es gibt heute drei grunds¨ atzliche Algorithmen, um LP zu l¨osen: der primale Simplex, der duale Simplex und die Interior-Point-Methode. Keine dieser Methoden ist den anderen generell u ur jede Methode Praxis¨berlegen, es gibt f¨ modelle, f¨ ur die sie am schnellsten l¨ auft. Allerdings kann man sagen, dass f¨ ur die meisten sehr großen Modelle die Interior-Point-Code am schnellsten ist. Es gibt aber heute keine M¨ oglichkeit, den Interior-Point-Algorithmus zur Reoptimierung in Branch&Bound-Knoten zu nutzen; schon aus diesem Grund sind der primale und der duale Simplex notwendig. Allerdings erfordern diese Implementationen heute sehr komplexe Spezialalgorithmen und Datenstrukturen, deren Realisierung nur in einer jahrzehntelangen Implementierungsarbeit m¨oglich ist. Spezielle Branching-Regeln Unter einer Branching-Regel versteht man das Prinzip, wonach die Variable gew¨ ahlt wird, deren Wert die n¨ achsten zwei zu untersuchenden Teilprobleme bestimmt. Es muss sich um eine Variable handeln, die ganzzahlig sein soll, aber in der optimalen LP-L¨osung einen fraktionellen Wert hat.
5.5 Spezielle Techniken und Software
161
Neben den einfachen Regeln (am meisten fraktionell oder am wenigsten fraktionell) sind auch problembasierte Regeln m¨oglich: Der Benutzer kann die Wichtigkeit einiger Variablen angeben, weil zu erwarten ist, dass einige von Bedeutung her wichtige“ Variablen den Suchbaum nach den Regeln von ” Divide-and-Conquer“ effizient aufteilen. ” Weiterhin kann man das Prinzip von Strong Branching“ implementieren, ” wobei f¨ ur mehrere Kandidaten zur Branching-Variable die entsprechenden zwei LP-Modelle gel¨ ost werden. Die LP-Werte werden miteinander verglichen, und die Variable mit dem g¨ unstigsten Wert wird schließlich zur BranchingVariable gew¨ ahlt. Spezielle Knoten-Auswahlregeln Auch bei der Auswahl des als n¨ achstes zu untersuchenden Knotens k¨onnen spezielle Regeln genutzt werden. Ein Optimierer muss neben der Depth-FirstSuche standardm¨aßig mehrere Regeln zur Auswahl haben: diese basieren meistens auf dem LP-Wert oder auf der Anzahl und den Werten der fraktionellen Variablen. Durch die rasante Entwicklung von Software zusammen mit Hardware k¨onnen heute viele MIP-Modelle optimal gel¨ ost werden, f¨ ur die eine L¨osung noch vor wenigen Jahren vollkommen unm¨ oglich war. Solche Modelle geh¨oren oft zur Klasse NP-hart – nat¨ urlich kann nicht jedes Modell aus einer solchen Problemklasse gel¨ ost werden, aber f¨ ur immer mehr Praxismodelle ist dies der Fall. Oft wird die Sicht verbreitet das Modell ist NP-hart, also nicht l¨osbar“. Es ” stimmt zwar f¨ ur einen speziellen NP-harten Problemtyp, dass man immer große Modelle konstruieren kann, die mit der heutigen Technologie nicht optimal l¨ osbar sind. Allerdings sollte man immer versuchen, Praxismodelle zu l¨osen, weil Probleme mit speziellen, individuellen Daten oft l¨osbar sind (auch wenn sie in die Klasse NP-hart geh¨ oren). Fortschritte beim L¨ osen von schweren MIP-Modellen
Jahr Version Oil (5563 x 6181) 1994 2.0 PII (500 MHr) LIFO-MIP 1995 2.5 PII (500 MHr) general node selection 1999 4.0 PIV (2,2 GHz) IPM for initial LP 2003 6.3 PIV (2,2 GHz) various improvements 2005 7.9 PIV (3,0 GHz) Gomory cuts, dual in B&B
Sek. 1794,3 450,1 75,2 39,6 12,9
Tabelle 5.2. Fortschritte in der IP-Optimierung mit MOPS am Beispiel des Modells Oil
162
5 L¨ osung gemischt-ganzzahliger Optimierungsmodelle
Tabelle 5.5 demonstriert die Entwicklung der L¨ osungszeit f¨ ur das Modell Oil“ ” mit der MOPS-Software. Die Verbesserungen sind etwa zu gleichen Anteilen durch die schnellere Hardware und schnellere Algorithmen erzielt worden.
5.6 Was sollte ich gelernt haben? Komplexit¨ at von Problemklassen Wie charakterisiert man Probleme aus der Klasse P bzw. NP? Zu welcher Klasse geh¨ ort das LP-Problem? Und das MIP-Problem? Erkl¨aren Sie die ONotation! Grunds¨ atzliche L¨ osungsmethoden f¨ ur MIP Auf welcher Idee basieren die folgenden L¨ osungsverfahren: • • • • • • •
Greedy-Methode Divide-and-Conquer Backtracking Depth-first-Search Branch&Bound Heuristiken Metaheuristiken LP-basierte Branch&Bound-Methode
• • • •
Welche Operationen sind in jedem Knoten notwendig? Was heißt Branching konkret? Nach welchen Kriterien kann die Branching-Variable gew¨ahlt werden? Nach welchen Kriterien kann der n¨ achste zu bearbeitende Knoten gew¨ahlt werden? • Warum wird i.d.R. nur ein kleiner Teilbaum des gesamten riesigen Suchbaumes untersucht? • In welchen F¨ allen muss ein Teilbaum nicht weiter untersucht werden? Entwicklung von MIP-Software Charakterisieren Sie die Entwicklung der L¨ osungsgeschwindigkeit in den letzten 15 Jahren! Welche speziellen Methoden und Techniken wurden angewandt, um die L¨ osbarkeit zu verbessern?
6 Netzwerkorientierte Optimierungsmodelle
Lernziele: • • • • •
Typische Optimierungsmodelle in Netzwerken Grundbegriffe der Graphentheorie Minimal spannende B¨ aume K¨ urzeste-Wege-Algorithmen Min-cost-flow-Problem und dessen Umformung
Online-Lernmodule: • • • •
Minimale Spannb¨ aume K¨ urzeste Wege Transportproblem Umladeproblem http://www.vorms.org
6.1 Typische Optimierungsmodelle in Netzwerken Viele Optimierungsmodelle besitzen naturgem¨aß eine Netzwerkstruktur, z. B. Transport-, Fluss- und Distributionsmodelle sowie Modelle der Versorgungsnetz-, Touren- und Standortplanung. In diesem und den n¨achsten Kapiteln werden solche Probleme definiert, ihre Praxisbedeutung betont und effiziente Algorithmen f¨ ur ihre L¨ osung behandelt. Netzwerkmodelle k¨ onnen als lineare Programme dargestellt werden, lassen sich jedoch wegen ihrer speziellen Struktur meist mit Hilfe spezieller Algorithmen effizienter als unter Benutzung von allgemeiner Optimierungssoftware l¨ osen.
164
6 Netzwerkorientierte Optimierungsmodelle
Formulierungen von Netzwerkmodellen als mathematische Programme sind dennoch sehr wichtig, nicht nur, weil sie genaue Problemdefinitionen angeben, sondern auch weil viele Praxisoptimierungsaufgaben zwar eine Netzwerkstruktur aufweisen, aber dazu noch zus¨ atzliche Restriktionen besitzen, die nicht direkt in ein Standardnetzwerkproblem zu integrieren sind. Durch Formulierung dieser zus¨ atzlichen Restriktionen bekommt man mathematische Programme, die man mittels Standardoptimierungssoftware l¨osen kann. In manchen F¨allen lassen sich diese Probleme auch in Teilprobleme aufteilen, die mit speziellen Netzwerkalgorithmen gel¨ ost werden k¨ onnen. Das Transportproblem Das klassische Transportproblem (TPP) kann wie folgt beschrieben werden: Von mehreren Anbietern (in Angebotsorten) Ai (i = 1,...,m) werden jeweils ai ME (Mengeneinheiten) eines bestimmten Gutes angeboten; bei Nachfragern (in Nachfrageorten) Bj (k = 1,...,n) besteht ein Bedarf von jeweils bj ME an diesem Gut. Das Gesamtangebot ist gleich dem Gesamtbedarf. Die Kosten f¨ ur den Transport einer ME von Ai nach Bj betragen cij GE. Bestimmung minimaler Spannb¨ aume (Minimum-Spanning-Tree-Problem) F¨ ur n Orte ist ein Versorgungsnetz (z. B. Wasser-, Gas- oder Telefonleitungen) so zu planen, dass je zwei verschiedene Orte – direkt oder u ¨ber andere Orte – durch Leitungen miteinander verbunden sind und sich Verzweigungspunkte des Netzes nur in den Orten befinden. Gesucht ist ein Versorgungsnetz, dessen Gesamtkosten (Baukosten oder Summe aus Bau- und Betriebskosten f¨ ur einen bestimmten Zeitraum) minimal sind. Ein kostenminimales Netz hat die Struktur eines Baumes: d. h. jeder Knoten ist evtl. u ¨ber andere Knoten mit einer Wurzel verbunden, und der Graph ist kreisfrei. Eine Kante von einer Kreisverbindung zu entfernen, senkt die Gesamtkosten. Bestimmung k¨ urzester Wege (Shortest-Path-Problem) Die Bestimmung k¨ urzester Wege in Transport- oder Kommunikationsnetzwerken ist meist eines der grundlegenden Probleme. In bestimmten Netzwerken (z. B. Netzpl¨ ane f¨ ur Projekte) k¨ onnen auch verschiedene Sachverhalte, wie die Bestimmung der Durchlaufzeit eines Projektes, mit Hilfe k¨ urzester Wege gel¨ ost werden. Ferner treten K¨ urzeste Wege“-Probleme h¨aufig im Rah” men der L¨ osung komplexer Optimierungsprobleme auf, wie das TravellingSalesman-Problem, das Tourenplanungsproblem, das Brieftr¨agerproblem und das Min-Cost-Flow-Problem (siehe unten). Bestimmung maximaler Fl¨ usse (Maximum-Flow-Problem) Das Maximalflussproblem tritt im Rahmen von Kapazit¨atsuntersuchungen f¨ ur Transportnetze auf. Es wird die maximale G¨ utermenge bestimmt, die von allen Anbietern (Quellen) zu allen Nachfragern (Senken) transportiert werden kann.
6.1 Typische Optimierungsmodelle in Netzwerken
165
Bestimmung kostenminimaler Fl¨ usse (Min-Cost-Flow-Problem) Das Min-Cost-Flow-Problem stellt einen allgemeinen Rahmen f¨ ur Distributions-, Transport- und Flussprobleme dar. Hier wird in einem Netzwerk mit Kapazit¨ atsrestriktionen der Fluss (Transportplan oder Distributionsplan) von Anbieterknoten zu Nachfrageknoten mit allen Routen eventuell u ¨ber einen oder mehrere Umladeknoten bestimmt, so dass die Summe der Kosten f¨ ur die Transporte (durch den Fluss verursachte Kosten auf Kanten) minimiert wird. Das Problem ist in der Literatur auch bekannt als Umladeproblem (engl. transshipment problem: Verschiffungsproblem). Travelling-Salesman-Probleme Ein Handlungsreisender m¨ ochte eine Anzahl von Kunden in verschiedenen Orten besuchen und nach Abschluss der Besuche in seinen Ausgangsort zur¨ uckkehren. Welchen Weg soll er w¨ ahlen, damit die dabei insgesamt zur¨ uckzulegende Entfernung so gering wie m¨ oglich ist? Brieftr¨ agerproblem (Chinese-Postman-Problem) Ein Brieftr¨ ager hat die H¨ auser eines Stadtteils mit Post zu beliefern. Dabei muss er jede Straße einmal oder (bei breiten Straßen) zweimal durchlaufen. Ein geschlossener Weg minimaler L¨ ange soll bestimmt werden, der jede zu bedienende Straße (oder Straßenseite) mindestens einmal enth¨alt. Dabei soll die L¨ ange der unproduktiven Strecken minimiert werden. Probleme der Tourenplanung Beispiel der Tourenplanung: Eine Anzahl von Kunden, deren Bedarfe und Standorte bekannt sind, soll mit einer Anzahl von Fahrzeugen mit bestimmten Kapazit¨ aten von einem Depot aus mit einem bestimmten Gut beliefert werden. Welche Fahrten sind durchzuf¨ uhren, damit unter Einhaltung bestimmter Nebenbedingungen (z. B. Zeit- und Kapazit¨ atsrestriktionen) die Gesamttransportkosten minimiert werden? Probleme der Standortplanung Ein typisches Beispiel der Standortplanung ist die Situation, in der ein Unternehmen n Kunden beliefert, die pro Periode b1 ,...,bn ME der von ihm angebotenen G¨ uter nachfragen. Das Unternehmen m¨ochte seine Vertriebskosten senken, indem es Auslieferungslager einrichtet und betreibt. Hierf¨ ur stehen m potenzielle Standorte zur Verf¨ ugung. Wird am potenziellen Standort i ein Lager errichtet, so entstehen Fixkosten der Lagerhaltung in H¨ohe von fi GE pro Periode. Die Transportkosten betragen cij , falls der Kunde j voll (mit bj ME) durch ein am Standort i eingerichtetes Lager beliefert wird. Wie viele Lager sind vorzusehen und an welchen der potenziellen Standorten sind sie einzurichten, wenn bei voller Befriedigung der Kundennachfrage die Summe aus (fixen) Lagerhaltungskosten und Transportkosten minimiert werden soll?
166
6 Netzwerkorientierte Optimierungsmodelle
L¨ osungskomplexit¨ at von Netzwerk-Modellen F¨ ur die Leserin und den Leser ist es wichtig, ein Gef¨ uhl u ¨ber die L¨osungskomplexit¨ at der vorgestellten Modelle zu entwickeln. Im Gegensatz zu den gemischt-ganzzahligen Modellen aus den Kapiteln 4 und 5 sind die meisten der oben erw¨ ahnten Modelle relativ einfach, sprich auch im schlechtesten Fall mit einem polynomiellen (manchmal linearen oder noch weniger aufw¨andigen) Algorithmus, l¨ osbar. Dies gilt f¨ ur die folgenden Modelle: • • • • • •
Transport-Problem Minimum-Spanning-Tree-Problem K¨ urzeste-Wege-Problem Maximum-Flow-Problem Min-Cost-Flow-Problem Chinese-Postman-Problem mit vollst¨ andig gerichteten bzw. ungerichteten Kanten
In diesem Kapitel werden wir zeigen, dass viele der bekannten Modelle Spezialf¨ alle des Min-Cost-Flow-Problems sind und somit polynomiell l¨osbar (s. Abschnitt 6.6.2). Es kann gezeigt werden, dass die Koeffizientenmatrix des Min-Cost-Flow-Problems (wenn als IP mit ganzzahligen Parametern und Variablen dargestellt) die Eigenschaft totale Unimodularit¨at besitzt, so dass es reicht, das Modell als LP zu l¨ osen – auch wenn es als ganzzahlig definiert wird (vgl. 5.4.2). Die folgenden Modelle dagegen leiden unter der kombinatorischen Explosion und geh¨ oren der Klasse NP an, wof¨ ur (f¨ ur alle Datenkonstellationen) keine effizienten Algorithmen bekannt sind. • Travelling-Salesman-Problem • Chinese-Postman-Problem mit einer Mischung von gerichteten und ungerichteten Kanten • Tourenplanungsproblem • Warehouse-Location-Problem Bei der L¨ osung dieser schwierigen Modelle haben ambitionierte Forscher in den letzten Jahren viele wichtige Fortschritte erreicht, auch wenn große Instanzen aus der Praxis meistens (noch) nicht optimal gel¨ost werden k¨onnen. Diese Modelle werden nicht in diesem, sondern in den nachfolgenden Kapiteln besprochen.
6.2 Grundbegriffe der Graphentheorie In diesem Abschnitt werden Begriffe im Bereich der Graphentheorie erl¨autert. In den nachfolgenden Abschnitten werden diese Begriffe f¨ ur einzelne Algorithmen benutzt.
6.2 Grundbegriffe der Graphentheorie
167
Gerichteter Graph Ein gerichteter Graph (directed graph, auch Digraph genannt) G = (N,A) ist eine Struktur, bestehend aus zwei Mengen: eine Knotenmenge N (nodes) und eine Menge gerichteter Kanten oder Pfeile A (arcs). Eine gerichtete Kante vom Knoten i zum Knoten j, wobei i = j immer vorausgesetzt ist, wird als Paar (i, j) dargestellt. Beispiel (vgl. Abb. 6.1): N = {1, 2, 3, 4} und A = {(1, 2), (2, 3), (3, 4), (4, 3), (4, 1)}.
Abb. 6.1. Ein gerichteter Graph
Ungerichteter Graph Bei einem ungerichteten Graphen G = (N,E) sind die Kanten aus E (edges) ungerichtet. Eine ungerichtete Kante aus E verbindet ohne Pfeilrichtung zwei Knoten i und j aus N. Sie wird (1) als 2-elementige Menge {i,j} oder auch (2) als (i,j) und/oder (j,i) dargestellt. Bipartiter Graph Ein Graph wird ein bipartiter Graph genannt, wenn seine Knotenmenge N in zwei disjunkte Teilmengen N1 und N2 zerlegbar (d. h. N1 ∪ N2 = N und N1 ∩ N2 = ∅) ist, und Kanten ausschließlich Knoten aus N1 mit Knoten aus N2 verbinden (mit anderen Worten: keine zwei Knoten nur aus N1 (oder nur aus N2 ) sind miteinander verbunden). Dem Transportproblem liegt ein bipartiter gerichteter Graph G = (N1 ∪N2 ,A) asentiert N1 die Menge der Anbieter mit A ⊆ N1 × N2 zugrunde. Dabei repr¨ und N2 die Menge der Nachfrager. (vgl. Abb. 6.8). Kette Eine Kette ist eine Folge [e1 ,e2 ,...,et ] von Kanten aus E (bzw. A) eines ungerichteten (bzw. gerichteten) Graphen G (t ≥1), die in der gegebenen Reihenfolge durch Knoten verbunden sind; d. h. f¨ ur t + 1 Knoten etwa i0 ,i1 ,...,it , ur alle k = 1,...,t. F¨ ur gerichtete gilt: ek = (ik−1 , ik ) oder ek = (ik , ik−1 ) f¨ Graphen spielt somit die Richtung der Pfeile keine Rolle. F¨ ur ungerichtete Graphen wird eine Kette auch als Knotenfolge [i0 ,i1 ,...,it ] dargestellt. F¨ ur gerichtete Graphen ist dies nicht eindeutig. Zum Beispiel sind im gerichteten Graphen von Abb. 6.1. die Ketten [(2,3),(3,4),(4,1)] und [(2,3),(4,3),(4,1)] nicht gleich.
168
6 Netzwerkorientierte Optimierungsmodelle
Weg Ein Weg in einem gerichteten Graphen ist eine Kette [e1 ,e2 ,...,et ] wobei die Pfeile nur in eine Richtung zeigen, genauer gesagt es existieren t + 1 Knour alle k=1,...,t. Somit wird ten, z. B. i0 ,i1 ,...,it , so dass ek = (ik−1 , ik ) f¨ ein Weg durch die Knotenfolge [i0 ,i1 ,...,it ] eindeutig dargestellt. Die Kette [(2,3),(3,4),(4,1)] im gerichteten Graphen von Abb. 6.1. ist ein Weg (∼ = [2,3,4,1]), aber die Kette [(2,3),(4,3),(4,1)] ist kein Weg. Bemerkung: F¨ ur Ketten und Wege werden wird meist stillschweigend vorausgesetzt, dass sie elementar sind, d. h. abgesehen von der eventuellen Gleichheit des Anfangs- und Endknotens kein wiederholtes Knotenauftreten in Ketten und Wegen erlaubt ist. Kreis/Zyklus In einem ungerichteten Graphen heißt eine (elementare) Kette [i0 ,i1 ,...,it ] ein Kreis, falls Anfangsknoten = Endknoten (i0 = it ) gilt. In einem gerichteten Graphen heißt ein Weg [i0 ,i1 ,...,it ,] mit i0 = it ein Zyklus. Zusammenh¨ angender Graph Ein ungerichteter oder gerichteter Graph G heißt zusammenh¨ angend genau dann, wenn in G je zwei beliebige verschiedene Knoten i und j (evtl. u ¨ber andere Knoten) miteinander verbunden sind (d. h. es existiert eine Kette zwischen i und j). Stark zusammenh¨ angender Graph Ein gerichteter Graph G heißt stark zusammenh¨ angend genau dann, wenn f¨ ur je zwei beliebige verschiedene Knoten i und j in G sowohl Knoten j von i aus erreichbar (d. h. es existiert ein Weg von i nach j) als auch Knoten i von j aus erreichbar ist. Teilgraph/Komponente Ein Graph G’ = (N’,E’) heißt Teilgraph von G = (N,E), falls N’ ⊆ N und E’ ⊆ E ist. Ein maximaler zusammenh¨ angender Teilgraph von G heißt eine Komponente von G. Jede Graph ist in eindeutiger Weise in (Zusammenhangs-)Komponenten zerlegbar. Ein maximaler stark zusammenh¨ angender Teilgraph von einem gerichteten Graphen G heißt eine starke Zusammenhangskomponente (SZK) von G. Baum/Wald Ein zusammenh¨ angender, ungerichteter, kreisloser Graph heißt Baum. Ein ungerichteter kreisloser Graph heißt Wald (da seine Komponenten B¨aume sind).
6.3 Minimale Spannb¨ aume
169
Abb. 6.2. Baum (links), Wald (rechts)
Directed Acyclic Graph Ein gerichteter azyklischer Graph (d. h. ohne Zyklen) heißt Directed Acyclic Graph (DAG). Diese Eigenschaft ist sehr wichtig, da viele Netzwerkstrukturen, wie Netzpl¨ ane f¨ ur Projektabh¨ angigkeiten, als DAG dargestellt werden k¨ onnen und Algorithmen auf DAG meist viel schneller als auf allgemeinen Graphen mit Zyklen durchf¨ uhrbar sind. Bemerkung: Eigenschaften von Graphen wie Zusammenhang, Kreisfreiheit und Baumstruktur lassen sich effizient testen und Zusammenhangskomponenten effizient ermitteln. Solche Verfahren finden sich in Grundlagenb¨ uchern zu Graphen und effizienten Algorithmen. Eine wichtige benutzte Technik ist Depth-First-Search auf Graphen, die u. a. ein effizientes Duchlaufen der Knoten und Kanten eines Netzwerks erlaubt. Diese Verfahren sind auch f¨ ur das Testen von Voraussetzungen f¨ ur allgemeinere Probleme, die im Folgenden behandelt werden, wichtig. Zum Testen des Vorliegens einer DAG-Struktur sowie zur effizienten Behandlung von Problemen auf DAG ist die Technik der topologischen Sortierung (der Knoten) eines DAG von großer Bedeutung. Dabei heißt ein Graph topologisch sortiert, wenn seine Knoten so nummeriert sind, dass f¨ ur jede Kante (i,j) ∈ A die Beziehung i < j gilt. Jeder DAG l¨asst sich in effizienter Weise topologisch sortieren (in O(m), d. h. in linearer Zeit bez¨ uglich der Anzahl der Kanten m).
6.3 Minimale Spannb¨ aume Spannbaum Sei G = (N,E) ein zusammenh¨ angender ungerichteter Graph. Ein ebenfalls zusammenh¨ angender Teilgraph T von G, der dieselbe Knotenmenge N besitzt und Baum ist, heißt Spannbaum von G.
170
6 Netzwerkorientierte Optimierungsmodelle
oder
Spannbaum Von G
G
Abb. 6.3. Spannb¨ aume
Problem MSB (Minimale Spannb¨ aume) Gegeben: Ein zusammenh¨ angender ungerichteter Graph G = (N,E) zusammen mit einer Gewichtsfunktion w: E → , die zu jeder Kante e ∈ E ein Gewicht w(e) – als reelle Zahl – zuordnet. Gesucht: Ein Spannbaum T von G mit minimalem Gesamtgewicht w(T) = Summe der Gewichte w(e) f¨ ur alle Kanten e ∈ T. D. h.: f¨ ur alle spannenden B¨aume T’ von G muss gelten: w(T) ≤ w(T’). Anwendung: Das MSB-Problem findet bei der Planung von Versorgungsnetzen (z. B. Wasser-, Gas- oder Telefonleitungen) Anwendung. Dabei stellt N die Menge der Verzweigungspunkte bzw. Knotenvermittlungsstellen des Netzes und w(e) > 0 die Entfernung f¨ ur jede m¨ogliche Verbindung e ∈ E im Netz dar. Gesucht ist eine Verkn¨ upfung aller Knoten mit minimaler Leitungsgesamtl¨ ange (bzw. Gesamtkosten). Diese Verkn¨ upfung muss einen Baum darstellen, da eine Kante aus jeder Kreisverbindung mit Senkung der Gesamtkosten entfernt werden kann. Algorithmen zur L¨ osung von MSB-Problemen Zur L¨ osung des MSB-Problems kann die oben genannte Greedy-Methode angewendet werden. Diese Methode ist anwendbar, wenn eine (Schleifen-)Invariante formuliert werden kann, die beim Treffen von Entscheidungen bis zur L¨osungsfindung erhalten bleibt.
6.3 Minimale Spannb¨ aume
1,7
2,3
1,7
2,3
Minimaler spannender Baum von G:
G
171
2,7 1,8
14,2
2,0
2,7 1,8
2,0
3,1
oder
3,3
3,3
1,7
2,3
2,7 1,8
2,0
14,9
3,3
Abb. 6.4. Minimaler Spannbaum
Im genannten Beispiel wird ein minimaler spannender Baum T Kante f¨ ur Kante aufgebaut. Angefangen mit einer leeren Teill¨osung wird bei jedem Entscheidungsschritt entweder eine Kante kleinen Gewichts blau gef¨ arbt (geh¨ort zu T) oder eine Kante großen Gewichts rot gef¨ arbt (geh¨ort nicht zu T). Die Invariante lautet: Es existiert ein MSB, der alle blauen Kanten und keine roten Kanten enth¨ alt. Zul¨ assige F¨ arberegeln, die diese Invariante erhalten, werden nach folgender Definition angegeben: Eine Zerlegung der Menge der Knoten N eines Graphen G = (N,E) in zwei disjunkte Teilmengen S und S − (d. h. mit S ∩ S − = ∅ und S ∪ S − = N) definiert einen Schnitt ( cut) [S ,S − ] von G, der als die Menge der Kanten aus E angesehen werden kann, von deren Endknoten einer in S und der andere in S − liegen. Regel f¨ ur Blauf¨ arbung: W¨ ahlen Sie einen Schnitt ohne blaue Kanten. W¨ahlen Sie weiter aus den ungef¨ arbten Kanten dieses Schnittes eine mit minimalem Gewicht und f¨ arben Sie sie blau. Regel f¨ ur Rotf¨ arbung: W¨ ahlen Sie einen Kreis ohne rote Kanten. W¨ahlen Sie weiter aus den ungef¨ arbten Kanten dieses Kreises eine mit maximalem Gewicht und f¨ arben Sie sie rot. Der F¨ arbeprozess versucht den Zusammenhang und die Kreisfreiheit der L¨osung durch die erste bzw. zweite Regel zu gew¨ahrleisten und terminiert mit der F¨ arbung aller Kanten in G, ohne die obige Invariante zu verletzen
172
6 Netzwerkorientierte Optimierungsmodelle
(ohne Beweis). Ferner ist der F¨ arbeprozess so nichtdeterministisch, da es Freiheitsgrade bei der Regelauswahl bzw. -anwendung und bei der Kantenauswahl gibt. Durch Festlegung der Reihenfolge, in der Kanten bis zur L¨osungsfindung gef¨ arbt werden, erh¨ alt man verschiedene MSB-Algorithmen, von denen zwei bekannte aufgef¨ uhrt werden sollen: Kruskal (1956) Die Kanten werden in der Reihenfolge nichtfallender Gewichte gef¨arbt. Eine Kante, deren beide Endknoten im gleichen blauen Baum liegen, wird rot gef¨ arbt; alle anderen werden blau gef¨ arbt. Kruskals Algorithmus neigt dazu, kleine blaugef¨arbte B¨aume zu bilden, die nach und nach zu einem gr¨ oßeren MSB-L¨ osungsbaum zusammengef¨ ugt werden. F¨ ur die Implementierung von Kruskal werden fortgeschrittene Heapund Union-Find-Techniken (fortgeschrittene Datenstrukturen in der Informatik) angewandt, die eine Reduzierung der Laufzeit bis auf das f¨ ur das Sortieren Notwendige reduzieren. Ein anderes Vorgehen zur L¨osung von MSBProblemen bietet Prims Algorithmus, der den MSB als alleinigen Baum schrittweise aufbaut. Prim (1957) Ausgehend von einem festen Knoten s wird ein einziger blaugef¨arbter Baum schrittweise aufgebaut. Ist T dieser blaugef¨ arbte Baum, so f¨arbt der n¨achste Schritt eine Kante mit minimalem Gewicht blau, die T mit einem Knoten i ∈ / T (außerhalb von T) verbindet. Zur Systematisierung des Vorgehens von Prim werden die Knoten des Graphen G in drei Teile aufgeteilt: die Knotenmenge NT von T, die Menge G (Grenze von T) der Knoten, die mit T durch eine Kante verbundenen sind, und die Restmenge R der u ¨brigen Knoten. Bei jedem Schritt wird einer der Knoten ugt, der von T aus mit einer Kante minimalen der Grenze G zu NT hinzugef¨ Gewichts erreichbar ist (entspricht der Blauf¨ arbung der letzteren Kante). Das Verfahren endet, wenn |NT | = n (d. h. NT = N). Hier werden zur effizienten Implementierung ebenfalls Heaps verwendet. Im Allgemeinen erreicht man ein besseres Laufzeitverhalten als bei Kruskal. Falls aber die Kanten nach Gewicht sortiert vorliegen, erreicht man mit Kruskal ein besseres Laufzeitverhalten.
6.4 Ku ¨ rzeste-Wege Probleme und Algorithmen Bestimmung k¨ urzester Wege ausgehend von einer festen Quelle In diesem Abschnitt werden k¨ urzeste Wege von einem gegebenen Knoten in andere Knoten (single source shortest path problem) betrachtet. Gegeben: Ein gerichteter Graph G = (N,A) sowie eine Entfernungs- bzw. Kostenfunktion c: A → , die zu jeder Kante e ∈ A die Entfernung c(e) dieser
6.4 K¨ urzeste-Wege Probleme und Algorithmen
173
Kantenverbindung bzw. die Kosten des Transports u ¨ber diese Kante – als reelle Zahl – zuordnet. Gesucht: Ein k¨ urzester bzw. preisg¨ unstigster Weg ausgehend von einer Quelle s zu einem bestimmten Zielknoten z (bzw. zu jedem der Knoten des Netzes). Ein k¨ urzester Weg vom Knoten s zum Knoten z ist einer, der unter allen Wegen von s nach z die k¨ urzeste (kleinste) Entfernung (L¨ange) besitzt. Dabei wird die L¨ ange eines Weges P = [i0 ,i1 ,...,it ] von s = i0 nach z = it als c(P) = Summe der Entfernungen c(ik−1 ,ik ) u ¨ber alle Kanten (ik−1 ,ik ) dieses Weges (d. h. Summe u ber k = 1, ..., t) definiert. ¨ Ermitteln Sie einen k¨ urzesten Weg von Stadt 1 bis 6 im Graphen von Abb. 6.5. Anwendungen: Sende Dinge“ (z. B. Fahrzeuge, Telekom-Anrufe, Datenpake” te in Computernetzen) zwischen zwei vorgegebenen Punkten in einem Netzwerk (Transport- oder Telekommunikationsnetzwerk) so schnell / g¨ unstig / zuverl¨ assig wie m¨ oglich.
3
2
4
4
1 1
2
3
5
6 2
3
3
Abb. 6.5. Sechs St¨ adte mit m¨ oglichen Verbindungen
Das K¨ urzeste-Wege-Problem ist eines der einfachsten Netzwerkprobleme, besitzt einfache L¨ osungsmethoden und taucht als Teilproblem f¨ ur kombinatorische und netzwerkorientierte Optimierungsprobleme auf. Die Begriffe L¨ ange einer Kette und k¨ urzeste Kette in ungerichteten Graphen lassen sich analog definieren und die folgenden Algorithmen (evtl. mit Anpassungen) erweitern. 6.4.1 Der Dijkstra-Algorithmus Von Dijkstra stammt der wohl ber¨ uhmteste Algorithmus zur Ermittlung k¨ urzester Wege in Graphen. Gegeben: Alle L¨ angen der Kanten sind nichtnegativ. Zyklen sind zul¨assig, aber Zyklen negativer L¨ ange k¨ onnen nicht auftreten, da keine negativ bewerteten Kanten im Graphen vorkommen d¨ urfen. Gesucht: K¨ urzeste Wege von einem festen Knoten s zu allen anderen Knoten.
174
6 Netzwerkorientierte Optimierungsmodelle
Der Dijkstra-Algorithmus verf¨ ahrt ¨ ahnlich wie die Greedy-Vorgehensweise der Prim-Methode zur Ermittlung minimaler Spannb¨aume. F¨ ur die Ermittlung k¨ urzester Wege werden hier die Knoten von G auch in drei Teilmengen unterteilt: 1. Die Menge A der Knoten von G, zu denen schon k¨ urzeste Wege bekannt sind. Diese Knoten werden mit der jeweiligen k¨ urzesten Entfernung permanent gelabelt. Anfangs wird nur der Knoten s mit dem permanenten Label 0 markiert. 2. Die Menge B der Knoten von G, zu denen Wege bekannt sind, aber f¨ ur die noch nicht feststeht, ob sie k¨ urzeste Wege sind oder nicht. Diese Knoten werden mit der jeweiligen bisher bekannten Entfernung tempor¨ ar gelabelt. Anfangs werden alle direkten Nachfolger i von Knoten s mit dem tempor¨ aren Label c(s,i) markiert. Die Menge B bildet die Grenze (vgl. Prim-Algorithmus) zur Menge A, d. h. die Menge der direkten Nachfolger von permanent gelabelten Knoten (aus A), die selbst nicht permanent gelabelt sind. 3. Die Menge C der Knoten von G, zu denen noch keine Wege von Knoten s aus bekannt sind. Diese Knoten werden mit dem Label +∞ markiert. In C sind anfangs alle Knoten außer s und dessen direkte Nachfolger. Nach und nach werden diese Knoten erst tempor¨ar, dann permanent gelabelt. Bei jedem Schritt wird ein Knoten i aus B mit kleinstem tempor¨aren Label gew¨ ahlt und sein Label als permanent erkl¨ art (zu A hinzugef¨ ugt). Der Knoten i ist somit u uft und ein k¨ urzester Weg vom Knoten s zu ihm ist nun ¨berpr¨ endg¨ ultig bekannt. Alle seine direkten Nachfolger werden dann tempor¨ar gelabelt bzw. ihre tempor¨ aren Labels werden korrigiert. D. h. wenn es einen Pfeil vom Knoten i zu j gibt, wird ein (neues) tempor¨ ares Label von j berechnet als: MIN {jetziges tempor¨ ares Label (von j), permanentes Label von i + L¨ange der Kante (i,j)}. Das neue tempor¨are Label von Knoten j ist die L¨ange des bis jetzt bekannten k¨ urzesten Weges von s bis j, der nur Knoten mit einem permanenten Label enth¨ alt. Der Prozess wird wiederholt, bis keine Knoten mehr tempor¨ar gelabelt (d. h. in B) sind. Beispiel: Dijkstra-Algorithmus Die Anwendung des Dijkstra-Algorithmus auf obiges Beispiel ergibt folgende 6 Schritte (i-te Zahl ist das Label des Knotens i; * bedeutet: das Label ist permanent, sonst tempor¨ ar): (1) [0* 4 3 ∞∞∞] (4) [0* 4* 3* 7 5* 7] (2) [0* 4 3* ∞ 6 ∞] (5) [0* 4* 3* 7* 5* 7] (3) [0* 4* 3* 7 5 ∞] (6) [0* 4* 3* 7* 5* 7*]
6.4 K¨ urzeste-Wege Probleme und Algorithmen
175
Abb. 6.6. Ein Beispiel f¨ ur den Dijkstra-Algorithmus 1/2
Der ermittelte k¨ urzeste Weg von 1 bis 6 (L¨ange 7) ist P = [1,2,5,6] (= [(1,2),(2,5),(5,6)]). Die Grafiken in Abb. 6.6 und 6.7 sollen den L¨ osungsweg noch einmal anschaulich verdeutlichen. In der Grafik sieht man deutlich, wie sich die Mengen A, B der permanent bzw. tempor¨ ar markierten Knoten und C der nicht markierten Knoten im Laufe des Algorithmus ver¨ andern. Man kann sich begn¨ ugen mit der Speicherung der tempor¨ ar markierten Knoten (Menge B), da sich dann die anderen Knoten leicht in markierte (also zu A geh¨ orende) und nicht markierte (also zu C geh¨ orende) aufteilen lassen. Außerdem baut Dijkstra schrittweise eine Baumstruktur auf, die ausgehend von der Quelle alle bisher bekannten k¨ urzesten Wege zu den bis dahin erreichten Knoten aufzeigt. Die Kanten des Baumes zwischen Knoten von A werden nicht mehr ver¨ andert, aber die Kanten des Baumes von Knoten aus
176
6 Netzwerkorientierte Optimierungsmodelle
Abb. 6.7. Ein Beispiel f¨ ur den Dijkstra-Algorithmus 2/2
A zu Knoten aus B k¨ onnen sich verbessern. Im Beispiel wurde im Schritt 3 f¨ ur Knoten 5 das tempor¨ are Label verbessert und dadurch die Baumstruktur ge¨ andert. Die Ausgabe des k¨ urzesten Weges kann also effizient realisiert werden, wenn man f¨ ur jeden Knoten i seinen Vorg¨ anger V[i] in dem aktuell bekannten k¨ urzesten Weg w¨ ahrend des Dijkstra-Algorithmus aktualisiert. (Das Feld V[1..n] speichert die oben angesprochene Baumstruktur.) Der k¨ urzeste Weg wird anschließend unter Benutzung von V ausgehend von Knoten j r¨ uckw¨arts durch eine rekursive Prozedur gebildet.
6.4 K¨ urzeste-Wege Probleme und Algorithmen
177
Es wird nun der Algorithmus von Dijkstra in Pseudo-Code angegeben. Dabei benutzt man die beiden n-elementigen Felder (oder Arrays) d (k¨ urzeste Entfernungen) und V (Vorg¨ anger). Dijkstra-Algorithmus Algorithmus 2 Dijkstra-Algorithmus Voraussetzungen wie oben: B := {s}; d[s] := 0; V[s] := 0; 1: forall i ∈ N − {s} do 2: d[i] := ∞ Initialisierung 3: end forall 4: while B = ∅ do so lange B nicht leer ist 5: W¨ ahle i ∈ B mit d[i] = min{d[j] |j ∈ B} 6: Eliminiere i aus B 7: forall j ∈ N(i) do 8: if j ∈ / B ∧ d[j] = ∞ then 9: d[j] := d[i] + c(i,j) 10: V[j] := i 11: B:= B ∪ {j} 12: end if 13: if j ∈ B ∧ d[i] + c(i,j) < d[j] then 14: d[j] := d[i] + c(i,j) 15: V[j] := i 16: end if 17: end forall 18: end while Zeile 5 stellt die Durchsuchung aller Elemente aus B sicher. Die in Zeile 7 angegebene Menge N(i) mit N(i) = {j| (i,j) ∈ E} beschreibt die Menge der n¨ achsten Nachfolger von i. Wenn in Zeile 8 j von a aus noch nicht erreicht wurde, wird j tempor¨ ar markiert und zu B hinzugef¨ ugt. Ist j bereits tempor¨ ar markiert, wird das tempor¨ are Label falls n¨ otig korrigiert (vgl. Zeile 13ff.). F¨ ur den Fall, dass j schon permanent markiert ist, ist nichts zu tun. Ergebnis: Ist Knoten i von 1 aus erreichbar, so enth¨ alt d[i] die k¨ urzeste Entfernung von 1 nach i (w = [1,...,V[V[i]], V[i], i] ist ein k¨ urzester Weg), ansonsten ist d[i] = ∞.
Bei Dijkstra wird nach dem Prinzip der Greedy-Methode eine getroffene Entscheidung zur Markierung mit permanentem Label nicht revidiert. Dijkstra wird deswegen als LS-Verfahren (Label-Setting) bezeichnet. Bei sog. LCVerfahren (Label-Correcting) wird ein Knoten eventuell mehrfach u uft, ¨berpr¨ aber es entsteht kein Rechenaufwand f¨ ur die Suche eines Knotens. Dabei bezeichnet der Repetierfaktor RF die Anzahl der im Durchschnitt f¨ ur jeden ¨ Knoten des Graphen erforderlichen Uberpr¨ ufungen. Allgemein erlauben LC-Verfahren, die als n¨ achstes behandelt werden, auch die Verarbeitung von Graphen mit negativ bewerteten Kanten.
178
6 Netzwerkorientierte Optimierungsmodelle
Bei Dijkstra wird jeder Knoten nur einmal u uft (bei LS-Methoden ist ¨berpr¨ RF = 1), jedoch entsteht ein Rechenaufwand f¨ ur die Suche eines entfernungsminimalen markierten Knotens. Im schlimmsten Fall dauert diese Suche O(n) f¨ ur jeden Knoten, der permanent markiert wird. d. h. das Worst-Case-Laufzeitverhalten von Dijkstra ist O(n2 ). Beachten Sie, dass der Gesamtaufwand f¨ ur alle Durchl¨ aufe der forall-Schleife O(m) ist, wobei m die Anzahl der Kanten im Graphen darstellt, also weniger als O(n2 ). D. h. wenn man den Aufwand der Suche f¨ ur den permanent zu markierenden Knoten sparen k¨ onnte, w¨ urde man einen linearen Algorithmus bez¨ uglich m erhalten [O(m)]. In diesem Falle hat man ein LC-Verfahren mit RF=1. Dies ist z. B. m¨oglich, wenn der Graph zyklenfrei ist (DAG-Struktur) oder wenn alle Kanten des Graphen dieselbe Bewertung haben (Algorithmus wird gleichbedeutend mit einer Breadth-First-Suche). Daher sind LC-Methoden den LS-Methoden vorzuziehen, wenn ihr Repetierfaktor RF in der N¨ ahe von 1 liegt. 6.4.2 LC-Verfahren f¨ ur k¨ urzeste Wege Folgend werden nun LC-Verfahren f¨ ur k¨ urzeste Wege behandelt, die auch negativ bewertete Kanten verarbeiten k¨ onnen, aber Zyklen negativer L¨ange nicht erlauben. Der Worst-Case-Rechenaufwand wird sich auf O(nm) f¨ ur eine FIFO-Variante des LC-Verfahren von Ford und Moore erh¨ohen. Beim Vorliegen von Zyklen negativer L¨ ange kann man theoretisch beliebig kleine Entfernungen (abfallend in Richtung -∞) erhalten. Dabei werden auch nicht-elementare Wege beachtet. Will man sich auf elementare Wege beschr¨ anken, so wird das K¨ urzeste-Wege-Problem f¨ ur Graphen mit Zyklen negativer L¨ ange viel schwieriger. Das Erkennen, dass ein Zyklus negativer L¨ ange im vorliegenden Graphen existiert, kann jedoch mit Hilfe einer kleinen Erweiterung des Ford/MooreAlgorithmus realisiert werden. ¨ vgl. Ubungen http://www.vorms.org Hat man dagegen u ¨berhaupt keine Zyklen im Graphen (DAG-Struktur), so l¨ asst sich ein sehr effizienter Algorithmus (lineare Zeit) formulieren. K¨ urzeste Wege in DAG-Strukturen haben viele Anwendungen, z. B. Ermittlung sog. kritischer Pfade beim Projektmanagement. LC-Verfahren f¨ ur k¨ urzeste Wege Gegeben: Kanten k¨ onnen auch negativ bewertet sein. Aber: Zyklen negativer L¨ange d¨ urfen im Graphen nicht auftreten. Gesucht: K¨ urzeste Wege von einem festen Knoten s zu allen anderen Knoten. Idee: Verfahre wie beim Dijkstra-Algorithmus; nur markiere hier keine Knoten permanent, sondern betrachte alle Labels als tempor¨ar. Wird das Label eines
6.4 K¨ urzeste-Wege Probleme und Algorithmen
179
Knotens zum ersten Mal gesetzt oder verbessert, so wird er in eine Liste, die hier mit B bezeichnet wird, eingetragen. Die Bearbeitung eines Knotens dieser Liste B erfolgt dann, indem das (tempor¨ are) Label eines jeden seiner n¨achsten Nachfolger gesetzt bzw. – falls m¨ oglich – verbessert wird. Das Verfahren endet, sobald B leer wird. Verschiedene LC-Verfahren bekommt man, wenn man die Strategie der Listenverwaltung variiert. So f¨ uhrt eine FIFO-Strategie (d. h. First-In First-Out: Liste als Schlange oder Queue) zum folgenden Algorithmus: Ford/Moore-Algorithmus Algorithmus 3 Ford/Moore-Algorithmus B := [s]; d[s] := 0; V[s] := 0; 1: forall i ∈ N – {s} do d[i] := ∞ Initialisierung 2: end forall 3: while B = ∅ do 4: i := first(B) w¨ ahle erstes Element aus B (FIFO) 5: B := B \ {i} Eliminiere i aus B 6: forall j ∈ N(i) do 7: if d[i] + c(i,j) 0 : Knoten i ist ein Anbieterknoten (supply node) mit Angebotsmenge b(i) FE • b(i) < 0 : Knoten i ist ein Bedarfsknoten (demand node) mit Nachfragemenge -b(i) FE • b(i) = 0 : Knoten i ist ein (reiner) Umladeknoten (transshipment node): Umladung und evtl. Aufteilung von eingehenden Sendungen zum Weitertransport in verschiedene Richtungen m¨ oglich. Zu beachten ist, dass Umladung und evtl. Aufteilung und Weitertransport auch bei Angebots- und Bedarfsknoten in dem Netzwerkmodell zugelassen sind. Die Entscheidungsvariablen in diesem Netzwerkmodell sind: F¨ ur jede Kante oße des Flusses durch Kante (i,j). (i,j) ∈ A → xij (Variable) Gr¨ Durch die Variablen xij f¨ ur alle Kanten von A wird der Fluss x im Netzwerk dargestellt.
188
6 Netzwerkorientierte Optimierungsmodelle
Mathematische Formulierung als allgemeines Min-Cost-Flow Problem Das Min-Cost-Flow-Problem kann folgendermaßen als ein mathematisches Optimierungsmodell dargestellt werden:
min
cij xij
(1)
(i,j)∈A
s.t.
{j:(i,j)∈A}
xij −
{j:(j,i)∈A}
xji = b(i) f¨ ur alle Knoten i ∈ N
lij ≤ xij ≤ uij wobei
(2)
f¨ ur alle Kanten (i, j) ∈ A, (3)
b(i) = 0 gilt.
(i∈N )
Die Zielfunktion (1) dr¨ uckt die durch den Fluss x entstehenden Gesamtkosten aus, die minimiert werden sollen. Die Restriktionen (2) entsprechen den verallgemeinerten Balance-Gleichungen f¨ ur das Flusserhaltungsgesetz. F¨ ur einen reinen Umladeknoten i bedeutet die Gleichung, dass die in den Knoten i hineingehende Flussmenge (inflow (i)) gleich der aus dem Knoten i hinausgehenden Flussmenge (outflow (i)) ist, d. h. es gilt outflow(i) - inflow(i) = 0 f¨ ur Umladeknoten i. Falls outflow(i) > inflow(i), dann entsteht ein Angebotsknoten und die Differenz ist gleich b(i). Im anderen Fall outflow(i) < inflow(i) handelt es sich um einen Bedarfsknoten. Die Differenz ist negativ und entspricht wieder b(i). Also ergibt sich insgesamt (2), n¨ amlich outflow(i) - inflow(i) = b(i) f¨ ur alle Knoten i. Die Restriktionen (3) legen die Schranken f¨ ur den zul¨assigen Fluss durch jede Kante (i,j) fest. Vereinbarung: Falls die lij in einem Netzwerk nicht angegeben sind, dann ur alle Kanten (i,j) ∈ A. Es wird weiterhin angenommen, dass gilt lij = 0 f¨ die Gr¨ oßen uij , lij ganzzahlige und cij rationale Werte haben. Dies bietet in manchen F¨ allen vereinfachte Untersuchungen an, stellt √ aber in der Praur numerische xis keine Einschr¨ ankung dar, da irrationale Werte (z. B. 2) f¨ Computer-Berechnungen durch rationale Werte approximiert werden (z. B. 1,141). Rationale Werte wiederum k¨ onnen durch Multiplikation und Benutzung hinreichend kleiner Einheiten als Integer dargestellt werden (z. B. 1,141 als 1141 darstellen, wobei die Einheit Tausend mal kleiner ist). 6.6.2 Spezialf¨ alle des Transshipment-Modells Eine St¨ arke des im letzten Unterabschnitt aufgestellten Transshipment-Modells ist seine Allgemeinheit. Viele praxisrelevante Netzwerkprobleme, wie z. B. das Transportproblem, lassen sich als Spezialf¨ alle dieses Modells beschreiben. In diesem Abschnitt werden die wichtigsten weiteren Spezialf¨ alle kurz vorgestellt.
6.6 Das Transshipment-Modell
189
Das s-t-Flussproblem (klassisches Min-Cost-Flow-Problem) Es existiere nun eine Quelle s und eine Senke t (single source, single target); d. h. nur ein Anbieter bzw. ein Nachfrageknoten, und alle anderen Knoten sind Umladeknoten i, wobei inflow(i) = outflow(i) oder outflow(i) - inflow(i) = 0. Dieser Spezialfall des allgemeinen Min-Cost-Flow-Transshipment-Problems wird manchmal als das (klassische) Min-Cost-Flow-Problem betrachtet. Interessanterweise l¨ asst sich das allgemeine Problem auf das letztere s-t-Flussproblem reduzieren. Das K¨ urzeste-Wege-Problem In Abschnitt 6.4 wurden K¨ urzeste-Wege-Probleme ausf¨ uhrlich behandelt. An dieser Stelle sei bemerkt, dass es sich hierbei um einen Spezialfall des s-t-MinCost-Flow-Problems handelt, wobei die Kosten wichtig sind, aber Flusskapazit¨ aten keine Rolle spielen. Gesetzt sei (in der allgemeinen Formulierung des Min-Cost-Flow-Problems): b(s) := 1; b(t) := -1; und b(i) := 0 f¨ ur alle anderen Knoten i ∈ N \ {s,t}. Ein kostenminimaler Fluss ist nichts anderes als eine L¨osung des Min-CostFlow-Problems, die eine Flusseinheit von s nach t u urzesten ¨ber einen k¨ Weg schickt. Falls (von der Gegenseite betrachtet) ein Min-Cost-(s-t-)Flowur Problem auf einem unkapazitierten Netzwerk (d. h. uij = ∞ und lij = 0 f¨ alle Kanten (i,j)) vorliegt, so kann es mit Hilfe k¨ urzester-Wege-Algorithmen in folgender Weise gel¨ ost werden: Schicke b(s) Flusseinheiten auf einem k¨ urzesten Weg von s nach t. Das Zuordnungsproblem Bei Zuordnungsproblemen (assignment problems) wird wie beim StandardTransportproblem ein bipartiter Graph G = (N,A) zugrundegelegt; A ⊆ N1 × N2 . Hier ist aber speziell |N1 | = |N2 |; d. h. die Teilmengen N1 und N2 von N haben die gleiche Gr¨ oße. Die Elemente von N1 (z. B. Mitarbeiter, Jobs, ...) sollen zu den Elementen von N2 (z. B. Projekte, Maschinen, ...) zugeordnet werden. Jede Kante (i,j) ∈ A stellt eine m¨ ogliche Zuordnung des Elements i zu dem Element j dar, wobei cij die mit dieser Zuordnung verbundenen Kosten sind. Beim Zuordnungsproblem wird jedem Element i aus N1 genau ein Element N2 zugeordnet (bijektive Zuordnung), wobei die damit verbundenen Gesamtkosten minimal sind. Als spezielles Min-Cost-Flow-Problem l¨ asst sich das Zuordnungsproblem wie ur alle Kanten (i,j) ∈ A seien gegeben. folgt beschreiben. Die Kosten cij f¨ Setze
190
6 Netzwerkorientierte Optimierungsmodelle · ··
·
b(si )··
s
i
d
l
·· ·
b(dk ) k
·· ·
b(s j )
b(dl )
s
0
d
j
· · ·
·· ·
·· ·
· · ·
s
(0,b(s i ))
d
i
b(i)
i
l
b(j)
(c ij , u ij )
j
0 k
(0, -b(dk))
b(s)
s
1
·· ·
· ··
· · ·
· ··
k
0 (0, b(s j))
· ··
s
j
·· ·
b(s) + b(t) = 0
b(t) b ( s ) :=
0
dl
t
(0, -b(d l ))
·· ·
6
b ( i)
{i:b(i) > 0}
6
b ( t ) := {j:b(j) < 0}b (j)
Abb. 6.11. Reduktion Transshipment-Problem → s-t-Flussproblem
b(i) = 1 f¨ ur alle Knoten i ∈ N1 ; b(j) = -1 f¨ ur alle Knoten j ∈ N2 ; ur alle Kanten (i,j) ∈ A; uij = 1 f¨ ugen, Eigentlich m¨ usste man nun noch die Forderung xij ∈ {0,1} hinzuf¨ aber wegen der speziellen Netzwerkstruktur ist eine Integer-L¨osung mit den meisten Netzwerkalgorithmen sowie mit Simplex-basierten LP-Optimierern gew¨ahrleistet. Da ferner der Fluss auf den Kanten durch die b(i) auf h¨ochstens ur alle Kanten (i,j) ∈ A 1 beschr¨ankt ist, kann man genauso gut uij = ∞ f¨ setzen. Mit diesen Bemerkungen ergibt sich, dass das Zuordnungsproblem ein Spezialfall des (unkapazitierten) Standard-Transportproblems ist, wobei alle Angebote und Nachfragen gleich 1 sind. Das Matchingproblem Gegeben sei ein ungerichteter Graph G = (N,E). Ein Matching in G wird definiert als eine Menge von Kanten, so dass jeder Knoten mit h¨ochstens einer Kante des Matching inzident ist. Dabei heißt ein Knoten an einer Kante inzident, falls er einer ihrer Endknoten ist. Somit ist ein Matching eine Paarung von einigen (oder allen) Knoten von G unter Benutzung von Kanten aus E. Ein typisches Problem ist die Bestimmung eines gr¨oßten Matchings, d. h. eines Matchings maximaler Gr¨oße. Standard-Matching-Probleme setzen einen bipartiten Graphen voraus, wobei ussen. Somit ist hier N1 und N2 (N1 ∪ N2 = N) nicht die gleiche Gr¨oße haben m¨
6.6 Das Transshipment-Modell
191
ein gr¨ oßtes Matching eine Zuordnung m¨ oglichst vieler Elemente aus N1 und N2 . Dieses Problem l¨ asst sich als spezielles Max-Flow-Problem darstellen, nachdem die Reduktion des Problems auf ein s-t-Flussproblem erfolgt. Das Zirkulationsflussproblem In einem Zirkulationsfluss sind alle Knoten Umladeknoten, also gibt es keine Anbieter- und keine Nachfrageknoten. Die so entstehenden Netzwerke werden f¨ ur manche Min-Cost-Flow-Algorithmen als Hilfsnetzwerke genutzt. Sie k¨ onnten aber auch praktisch von Bedeutung sein, z. B. zur Modellierung periodischer Sachverhalte oder von unabh¨angig von ¨außeren Einfl¨ ussen ” funktionierenden Netzwerken“. s-t-Flussprobleme und somit auch allgemeine Transshipment-Probleme lassen sich auf Zirkulationsflussprobleme reduzieren. Das Max-Flow-Problem Das Max-Flow-Problem ist das Standard-Flussproblem (f¨ ur Netzwerke mit Quelle s und Senke t), bei dem keine Kosten, sondern nur Flusskapazit¨atsrestriktionen betrachtet werden. Also ist dieses Problem in gewissem Sinne komplement¨ ar zum K¨ urzeste-Wege-Problem. Im Transshipment-Modell, das zu einem s-t-Flussproblem transformiert werden kann, sucht das Max-Flow-Problem die maximale G¨ utermenge, die von Quellen zu Senken u ¨ber Umlade-Orte transportiert werden kann. Dabei wird ogliche Transportkapazit¨ at angesehen, mit der u uij als maximal m¨ ¨ber (i,j) in einer betrachteten Periode transportiert werden kann. Im Rahmen von Kapazit¨ atsuntersuchungen von Netzwerken sucht das Max-Flow-Problem den maximal m¨ oglichen best¨ andigen Flussstand, den ein Netzwerk von s nach t pro Zeiteinheit fließen lassen kann. Dabei wird uij als maximal m¨ogliche Flussrate angesehen, mit der der Fluss von i nach j u ¨ber (i,j) fließen kann. Beispiel: Ermittlung des maximal m¨ oglichen best¨andigen Flussstandes von (1) Petroleum-Produkte in Pipeline-Netzwerken, (2) Autos in einem Verkehrsnetzwerk oder (3) Nachrichten bzw. Datenpakete in einem Telekommunikationsnetzwerk. Ferner dient das Max-Flow-Problem als Hilfsmittel zur Bestimmung zul¨ assiger Fl¨ usse, die auch als Anfangsl¨ osungen f¨ ur Algorithmen benutzt werden. Das Max-Flow-Problem l¨ asst sich durch die folgende mathematische Formulierung beschreiben (z stellt die Gr¨ oße oder den Wert des Flusses x dar): Max z
⎧ ⎨ z 0 xij − xji = s.t. ⎩ {j:(i,j)∈A} {j:(j,i)∈A} −z lij ≤ xij ≤ uij f¨ ur alle Kanten (i,j) ∈ A
fu ¨r fu ¨r fu ¨r
(1) i=s i ∈ N − (s, t) (2) i=t (3)
192
6 Netzwerkorientierte Optimierungsmodelle
Ferner l¨ asst sich das Max-Flow-Problem als Spezialisierung des Min-CostFlow-Problems wie folgt beschreiben: ur alle Kanten (i,j) ∈ A; Setze b(i) := 0 f¨ ur alle Knoten i ∈ N; cij := 0 f¨ F¨ uhre zus¨ atzliche Kante (t,s) ein mit cts := -1 und uts hinreichend groß. Das Min-Cost-Flow-Problem maximiert den Fluss u ¨ber die Kante (t,s). Jeder Fluss durch (t,s) muss aber u ¨ber Kanten von A (d. h. im Ausgangsnetzwerk) von s nach t fließen. In diesem Abschnitt wurde die Vielf¨ altigkeit von Problemen aufgezeigt, die als Spezialf¨ alle des allgemeinen Min-Cost-Flow-Problems angesehen werden k¨onnen. Wegen ihrer Wichtigkeit gibt es fast zu jedem dargestellten Problem spezielle Algorithmen, die immer effizienter werden. Ihre Behandlung w¨ urde den Rahmen dieses Buches sprengen. In den verbleibenden Abschnitten werden Min-Cost-Flow- und Max-Flow-Probleme in begrenzter Form behandelt.
6.7 Umformung des Transshipment-Modells Im Allgemeinen Fall kann das Transshipment-Modell mehrere Senken und Quellen sowie obere und untere Flussrestriktionen auf Kanten beinhalten. In diesem Abschnitt wird gezeigt, wie man jedes Modell dieser Art in ein Basismodell u uhren kann, das nur eine Quelle und eine Senke beinhaltet (s-t¨berf¨ Flussmodell) sowie keine positiven unteren Flussgrenzen hat. Positive obere Flussgrenzen sind nat¨ urlich m¨ oglich und stellen die Kapazit¨aten der Kanten dar. Somit ist der Nullfluss von der Quelle zur Senke eine m¨ogliche L¨osung und kann zur Anfangsl¨ osung gew¨ ahlt werden, die schrittweise verbessert wird. Beim Transshipment-Modell geht es darum, die geforderte Menge von den Quellen in die Senken mit minimalen Kosten zu transportieren. Somit ist der Nullfluss in dem Sinne nicht zul¨ assig, da es die geforderte Menge nicht transportieren w¨ urde. Allerdings ist er sehr gut als Anfangsl¨osung geeignet, weil er ein in der Praxis realisierbarer Fluss ist. Weiterhin wird in diesem Kapitel diskutiert, wie man gegebene Kapazit¨atsrestriktionen auf Knoten sowie ungerichtete Kanten in dieser Standardform darstellen kann. 6.7.1 Transformation der unteren Schranken ur einige Kanten Es ist nun das s-t-Flussproblem f¨ ur Netzwerke mit lij = 0 f¨ (i,j) ∈ A zu betrachten. In diesem Fall ist es nicht-trivial, einen m¨oglichen Fluss als Anfangsl¨ osung zu finden, weil der Nullfluss nicht zul¨assig ist. Man kann jedoch mit relativ einfachen Techniken das Netzwerk so transformieren, dass alle Untergrenzen der Fl¨ usse = 0 sind. Allerdings k¨onnen dabei neue
6.7 Umformung des Transshipment-Modells
193
Quellen und Senken entstehen. Diese Prozedere wird im Folgenden beschrieben: Sukzessiv f¨ ur jede Kante mit einer positiven Fluss-Untergrenze wird die folgende Transformation durchgef¨ uhrt: Setze xij =: xij + lij . lij ≤ xij ≤ uij ⇒ 0 ≤ xij ≤ uij − lij Eingesetzt in die Balance-Constraints bekommt man als neue Werte f¨ ur b(i) und b(j) jeweils b(i) - lij und b(j) + lij . Diese Vorgehensweise beinhaltet zwei Phasen, die folgendermaßen interpretiert werden k¨ onnen: 1. Schicke lij Flusseinheiten u ¨ber Kante (i,j), also verringert sich b(i) um lij und b(j) steigt um lij . 2. Messe (durch xij ’) den u ¨ber lij hinaus zu schickenden Fluss.
b(i)
b(j)
(l ij, u ij) X ij
b(i)-l ij
b(j)+l ij
(0, uij - lij ) X'ij
Abb. 6.12. Transformation der unteren Schranken
Nach allen Transformationsschritten seien uij ’ und lij ’ f¨ ur (i,j) ∈ A sowie b’(i) f¨ ur i ∈ N die neuen Werte. Die b’(i) f¨ ur alle Knoten i ∈ N k¨ onnen auch direkt ermittelt werden: b (i) := b(i) +
{(j:(j,i)∈A}lji
−
{(j:(j,i)∈A}lij
Somit sind alle Untergrenzen auf Kanten = 0, und eine L¨ osung mit dem Nullfluss u osung bestimmt werden (s. Abb. 6.12). ¨berall kann als Anfangsl¨ Bemerkung: Der Zielfunktionswert unter Benutzung von x’ ¨ andert sich nur um eine Konstante vom entsprechenden Zielfunktionswert unter Benutzung von x. Somit entspricht ein kostenminimaler Fluss x’ einem kostenminimalen
194
6 Netzwerkorientierte Optimierungsmodelle
Fluss x, der mit der Vorschrift xij := xij ’ + lij f¨ ur alle (i,j) ∈ A konstruiert werden kann. 6.7.2 Transformation in ein s-t-Flussproblem In Section 6.6.2 wurde erw¨ ahnt, dass jedes Transshipment-Modell in ein st-Flussproblem mit nur einer Quelle und einer Senke transformiert werden kann. Dies basiert auf einer einfachen Technik (s. Abb. 6.11): Zun¨ achst wird eine neue Superquelle“ und Supersenke“ eingef¨ uhrt. Zu je” ” der Quelle si wird dann eine neue Kante von dieser Superquelle konstruiert, mit einer Fluss-Untergrenze = 0 und -Obergrenze = b(si ). Somit wird die M¨ oglichkeit einger¨ aumt, die ben¨ otigte Flussmenge aus der Superquelle in Quelle si zu holen“. ” Entsprechend wird von jeder Senke tk eine Kante in die Supersenke eingef¨ uhrt, deren Fluss-Untergrenze = 0 und -Obergrenze = −b(tk ). Dadurch wird die in der Senke tk gelandete Fluss virtuell“ in die Supersenke weitergeleitet. ” 6.7.3 Bestimmung von Zirkulationsfl¨ ussen Jedes s-t-Flussproblem kann in ein Zirkulationsflussproblem transformiert werden. Diese Form ist f¨ ur manche L¨ osungsalgorithmen g¨ unstig und wird daher im Folgenden kurz skizziert. Idee: Eine neue Kante wird von der Senke t zur Quelle s eingef¨ uhrt. Die Parameterwerte werden modifiziert, wie in Abb. 6.13 dargestellt. (Falls eine Kante (t,s) schon existiert, dann wird zuerst ein neuer Knoten ts eingef¨ uhrt und (t,s) durch (t,ts) und (ts,s) ersetzt. Dabei gelten die gleichen Kapazit¨aten wie f¨ ur (t,s), und ct,ts :=0; cts,s := ct,s .)
b (s )
b (t) s
· · · · · ·
t
b ( i)
(c
ij
, l ij
, u
ij
0
j
0 s
· · · · · ·
b ( j)
)
i
t
b (s )= -b (t)
(0 , b (s ), b (s ))
Abb. 6.13. Reduktion: s-t-Flussproblem ⇒ Zirkulationsflussproblem
6.7 Umformung des Transshipment-Modells
195
6.7.4 Kapazit¨ atsrestriktionen auf Knoten Manchmal hat man in einem Netzwerk Forderungen, dass auf Knoten (z. B. Kreuzungen eines Verkehrsnetzes) h¨ ochstens eine Anzahl an Flusseinheiten fließen darf. Dies kann man als eine Erweiterung des Netzwerkmodells mit Flussschranken auf Knoten verstehen. Diese Situation tritt auch in praktischen Modellierungsaufgaben auf. Beim Vehicle Scheduling“ z. B. kann eine ” Fahrt durch einen Knoten dargestellt werden. Flusseinheiten sind Fahrzeuge, die diese Fahrten bedienen sollen. Die Forderung, dass jede Fahrt mit einem Fahrzeug gefahren werden muss, wird mit einer oberen und einer unteren Flussschranke auf Knoten (beide gleich 1) modelliert. Erfreulicherweise kann dieses Problem mit dem Standardmodell beschrieben werden, wenn man das sog. Node-Splitting (Knotenaufspaltung) f¨ ur Knoten mit Flussschranken vornimmt (vgl. Abb. 6.14):
i'
i ( c i j , l i j, u
j
( c i , l i, u
i)
b ( i ')
( ci , l i , u i )
ij )
( c i j , l i j, u
ij )
i"
b (i" )
j'
Abb. 6.14. Node-Splitting
Jeder Knoten i mit Flussschranken wird durch zwei Knoten i’ und i“ ersetzt, die durch eine Kante (i’,i”) verbunden sind. Der Knoten i’ u ¨bernimmt die Input-Funktion und i” die Output-Funktion des Knotens i. Falls b(i) = 0, wird b(i’)= b(i”) = 0 gesetzt; falls b(i) > 0: b(i’) = b(i) und b(i”) = 0; und falls b(i) < 0: b(i’) = 0 und b(i”) = b(i). 6.7.5 Ungerichtete und symmetrische Kanten Bisher sind nur Flussnetzwerke mit gerichteten Kanten betrachtet worden. Bei praktischen Problemen k¨ onnten jedoch ungerichtete Kanten ben¨ otigt werden, z. B. zum Modellieren von Rohren, in denen Wasser in beide Richtungen fließen kann. Netzwerke mit sowohl gerichteten als auch ungerichteten Kanten sind ebenfalls sinnvoll (zum Beispiel in einem st¨ adtischen Straßennetz). F¨ ur eine ungerichtete Kante {i,j} kann der Fluss sowohl von i nach j als auch von j nach i fließen. Die Kosten pro Flusseinheit betragen in beiden Richtungen
196
6 Netzwerkorientierte Optimierungsmodelle
cij . Betrachtet man hier nur den (sinnvollen) Fall lij = 0 und cij ≥ 0, so erh¨alt man: ur Flussbeschr¨ankung und 0 ≤ xij + xji ≤ uij als neue Ungleichung f¨ die Zielfunktion: ..... + cij xij + .... + cij xji + .... ur jede existierende optimale L¨osung xij = 0 oder xji Da aber cij ≥ 0, muss f¨ = 0 gelten. Man nennt solche L¨ osungen nicht u ¨berlappend. Denn falls xij > 0 und xji > 0 g¨alten, sei x* wie x definiert, wobei von xij und xji jeweils min(xij , xji ) abgezogen wird. Wegen des Flusserhaltungsgesetzes w¨are x* auch ein zul¨ assiger Fluss, der kosteng¨ unstiger als Fluss x ist. Dies f¨ uhrt aber zum Widerspruch, da x kostenminimal ist. Somit bietet sich also an, die ungerichtete Kante {i,j} durch zwei gerichtete Kanten (i,j) und (j,i) zu ersetzen, wobei uji := uij und cji := cij gesetzt werden. Ein optimaler Fluss x l¨ asst sich aus einem optimalen Fluss x’ im ge¨ anderten Netzwerk wie folgt bestimmen: xij = xij ’ oder xij = xji ’ je nachdem ob xij ’ > 0 oder xji ’ > 0 ist. F¨ ur L¨ osungsalgorithmen ist es jedoch manchmal ung¨ unstig, wenn zwischen zwei Knoten zwei Kanten in entgegengesetzte Richtungen fließen k¨onnen. Daher wird eine weitere Reduktionstechnik eingef¨ uhrt, die ein gegebenes Netzwerk in ein antisymmetrisches Netz umwandelt. Der Begriff Antisymmetrie bedeutet, dass zwischen zwei Knoten nur eine Kante in eine Richtung, aber nicht zwei Kanten in beide Richtungen, existieren darf; formal dargestellt: falls (i,j) ∈ A dann ist (j,i) ∈ / A. Wenn das urspr¨ ungliche Netz Kanten zwischen zwei Knoten in beide Richtungen beinhaltet, also Knoten {i, j}, so dass (i,j) ∈ A und (j,i) ∈ A, dann wird ein neuer Knoten ji eingef¨ ugt und (j,i) durch (j,ji ) und (ji,i) ersetzt. Dabei haben die neuen Kanten die gleichen Kapazit¨ aten wie (j,i); als Obergrenze wird cj,ji := 0; cji,i := ci,j gesetzt.
6.7.6 Netzwerke mit negativen Kantenbewertungen Wenn ein Transshipment-Modell negative Kantenbewertungen besitzt, kann es ohne Einschr¨ ankung in eine Basisform mit nur nichtnegativen Bewertungen auf Kanten u uhrt werden. ¨berf¨ Dabei wird jede Kante (i,j) ∈ A mit cij < 0 umgekehrt“, also durch die Kante ” (j,i) mit cji := - cij und uji := uij ersetzt. Entsprechend muss das Netzwerk folgendermaßen modifiziert werden (vgl. Abb. 6.15): achst uij auf eine sinnvolle große Konstante M Falls uij = ∞ , dann setze zun¨ (s.u.): Setze xij =: uij − xji . 0 ≤ xij ≤ uij ⇒ uij ≤ −xji ≤ 0 ⇒ 0 ≤ xji ≤ uij
6.8 L¨ osung des Min-Cost-Flow-Modells
197
Eingesetzt in die Balance-Constraints bekommt man als neue Werte f¨ ur b(i) und b(j) jeweils b(i) - uij und b(j) + uij .
b(i) i
b(i)-uij i
(cij , u ij) X ij
(-c ij , u ij ) X'ij
b(j) j
b(j)+uij j
Abb. 6.15. Umkehrung einer Kante negativer Kosten
Diesen Vorgang kann man in folgender Weise intuitiv als zwei Schritte verstehen: 1. Schicke uij Flusseinheiten u ¨ber Kante (i,j), also verringert sich b(i) um uij und b(j) steigt um uij . Ersetze Kante (i,j) durch Gegenkante (j,i) mit cji := - cij und uji := uij . 2. Messe (durch xji ’ ) den Fluss, den man aus dem Vollkapazit¨ats“-Fluss ” von 1. der Gr¨ oße uij abziehen kann. (Falls das Netzwerk keine Zyklen negativer L¨ ange besitzt, dann setze M := Summe der Kapazit¨ aten aller Kanten plus die Summe der Angebote aller Angebotsknoten.) Bemerkung: Bei der letzteren Transformation ¨andert sich der Zielfunktionswert unter Benutzung von x’ nur um eine Konstante vom entsprechenden Zielfunktionswert unter Benutzung von x. Denn cij xij = cij (uij − xji ’) = cij uij − cij xji ’ = c0 + cji xji ’, wobei die Konstante c0 := cij uij . Somit entspricht ein kostenminimaler Fluss x’ einem kostenminimalen Fluss x, der mit ur alle (i,j) ∈ A konstruiert werden kann. der Vorschrift xij := uij − xji ’ f¨
6.8 L¨ osung des Min-Cost-Flow-Modells 6.8.1 Standardformat des Min-Cost-Flow-Modells In diesem Abschnitt wird grunds¨ atzlich die L¨ osung des allgemeinen Transshipment-Modells betrachtet, wie in Abschnitt 6.6.1 vorgestellt, d. h. das Modell kann mehrere Quellen und Senken, positive untere Grenzen und ungerichtete
198
6 Netzwerkorientierte Optimierungsmodelle
Kanten beinhalten. F¨ ur die L¨ osung wird das Modell zun¨achst in das klassische Min-Cost-Flow-Modell (s-t-Netzwerk) u uhrt, das nur eine Quelle und eine ¨berf¨ Senke besitzt. Dar¨ uber hinaus kann das Modell nach den oben beschriebenen Transformationsregeln in eine Art Standardformat gebracht werden, das als Basis f¨ ur die unten vorgestellten L¨ osungsalgorithmen dient: Das Standardformat des Transshipment-Modells hat die folgenden Eigenschaften (vgl. Abb. 6.16): • • • • •
alle Flussuntergrenzen sind = 0 nur eine Quelle und eine Senke alle Kantenbewertungen sind nichtnegativ Asymmetrie keine expliziten Kapazit¨ aten auf Knoten.
Formal kann das Standardmodell wie folgt dargestellt Min cij xij (i,j)∈A ⎧ fu ¨r ⎨ z 0 fu ¨r s.t. xij − xji = ⎩ {j:(i,j)∈A} {j:(j,i)∈A} −z fu ¨r 0 ≤ xij ≤ uij f¨ ur alle Kanten (i,j) ∈ A z ≥ b(s)
werden: (1) i=s i ∈ N − (s, t) (2) i=t (3) (4)
Die Restriktion (4) erzwingt, dass die Gr¨ oße des Flusses x (definiert wie beim Max-Flow-Problem) letztendlich mindestens b(s) betr¨agt, d. h. dass mindestens die Nachfrage b(t) = -b(s) am einzigen Nachfrageknoten t vom Angebot b(s) des einzigen Angebotsknotens s erf¨ ullt wird. Weiterhin wird vorausgesetzt, dass das Netzwerk G = (N,A) keine Zyklen negativer L¨ ange mit nur Kanten unendlicher Kapazit¨ at besitzt, da sonst eine beliebige Vergr¨ oßerung des Flusses u ¨ber diese Zyklen die Zielfunktion des Min-Cost-Flow-Problems beliebig (in Richtung -∞) verkleinern kann. Grunds¨ atzlich kann das Transshipment-Modell (ob im Standardformat oder nicht) mit Standardsoftware zur Optimierung gel¨ost werden (s. 6.8.4). Weil es sich um relativ leichte Modelle handelt, ist dies im Einzelfall zu empfehlen, falls man kein besonderes Interesse an Spezialalgorithmen hat. Einige Optimierungspakete haben eine besondere Variante des Simplex-Algorithmus (Netzwerk-Simplex) implementiert, die nach einigen Untersuchungen sogar schneller als speziell zugeschnittene Algorithmen ist. Wenn man das Transshipment-Modell sehr oft, zum Beispiel als Unterproblem eines komplizierteren Modells l¨ osen muss, dann lohnt es sich, daf¨ ur spezielle Algorithmen (oder den Netzwerk-Simplex-Algorithmus) einzusetzen. In diesem Abschnitt werden einige solche Algorithmen vorgestellt und verglichen. Es handelt sich dabei um wichtige Entwicklungen des Operations Research, die der Leser und die Leserin schon aus diesem Grunde kennen sollte.
6.8 L¨ osung des Min-Cost-Flow-Modells
i1
k1
199
j1 k
s
(0, b(i))
i / b(i) > 0 Anbieterknoten
(0, -b(i)) i
j
k / b(k) = 0 Umladeknoten
t
j / b(j) < 0 Nachfrageknoten
Abb. 6.16. Standardformat des Transshipment-Modells
Die grunds¨ atzliche Aufgabenstellung beim Min-Cost-Flow-Problem ist es, eine gegebene Menge an einem Gut von der Quelle in die Senke kostenminimal zu transportieren. Dies ist verwandt mit dem Max-Flow-Problem, das die H¨ ohe des maximalen Flusses von der Quelle zur Senke bestimmt. Weil die Algorithmen f¨ ur maximale Fl¨ usse in der Regel konstruktiv arbeiten und nicht nur die H¨ ohe, sondern auch den Fluss selbst bestimmen, ergibt eine solche L¨ osung in nat¨ urlicher Weise eine zul¨ assige Anfangsl¨osung f¨ ur das Min-CostFlow-Problem. Damit ist gemeint, dass ein Fluss gegeben ist, der die geforderte Menge von der Quelle zur Senke transportiert; allerdings besitzt diese im Allgemeinen nicht die minimalen Kosten. Wenn die H¨ohe des maximalen Flusses aber kleiner ist als die geforderte zu transportierende Menge, hat das urspr¨ ungliche Modell keine zul¨ assige L¨ osung. Daher wird im Folgenden zuerst das Max-Flow-Problem besprochen, um die Ergebnisse dann auf das Min-Cost-Flow-Problem anwenden zu k¨onnen. 6.8.2 Bestimmung maximaler Fl¨ usse Das Max-Flow-Problem hat also als Ziel, einen m¨oglichst hohen Fluss von der Quelle zur Senke zu bestimmen, egal mit welchen Kosten. F¨ ur das Standardnetzwerk ist der Nullfluss im strengen Sinne zul¨assig und kann als Anfangsl¨ osung genutzt werden. Im Folgenden zeigen wir daf¨ ur einen konzeptionell einfachen Algorithmus von Ford und Fulkerson aus den 60er Jahren. Der maximal m¨ ogliche Fluss im transformierten Netzwerk (s. Abb. 6.16) kann h¨ochstens genau die zu transportierende Menge von Quelle zu Senke sein; dies ergibt sich aus den Flussobergrenzen auf den Kanten, die aus der Quelle losgehen bzw. in der Senke enden. Wenn es also gelingt, einen maximalen Fluss
200
6 Netzwerkorientierte Optimierungsmodelle
in dieser H¨ ohe zu finden, kann der Fluss als eine zul¨assige Anfangsl¨osung f¨ ur das Min-Cost-Flow-Problem dienen. Das Verfahren f¨ angt mit dem Nullfluss an, und vergr¨oßert den Fluss schrittweise solange es geht. Die Idee der Flussvergr¨oßerung besteht darin, Wege (eigentlich Ketten) von s nach t zu finden, bei denen es m¨oglich ist, noch Fluss von s nach t zu schicken. Auf solchen flussvergr¨ oßernden Ketten wird der Fluss erh¨ oht. Das Verfahren endet, wenn keine solche Kette mehr existiert. F¨ ur die Gew¨ ahrleistung der Terminierung des Ford&Fulkerson-Verfahrens wird vorausgesetzt, dass alle Kapazit¨ aten ganzzahlig sind (dies ist keine praktische Einschr¨ ankung, vgl. Vereinbarung am Ende von 6.6.1) und dass das Netzwerk keinen Weg von s nach t auf Kanten mit nur unendlicher Kapazit¨at beinhaltet. Ferner sieht man das Netzwerk als zu einem symmetrischen Netzwerk aufgef¨ ullt an, d. h. falls (i,j) ∈ A, aber (j,i) ∈ / A, dann f¨ uge (j,i) mit uji = lji := 0 zu A ein. O.B.d.A. ist also G symmetrisch. (Beachten Sie, dass diese Technik nur funktioniert, wenn das urspr¨ ungliche Netzwerk antisymmetrisch war, daher mussten zuerst die symmetrischen Kantenkombinationen aufgel¨ost werden (s. 6.7.5)). Um den entscheidenden Schritt der Suche nach flussvergr¨oßernden Ketten einfach zu gestalten, wird ein Hilfsnetzwerk eingesetzt, das bei gegebenem Fluss die Information u ¨ber das weitere Vorgehen angibt. Dieses Netzwerk gibt Restflusskapazit¨ aten an, d. h. Kapazit¨ aten des Restflusses. Es wird also die Frage beantwortet, bei welchen unersch¨ opften“ Kanten es die Kapazit¨aten ” noch erlauben, einen Restfluss“ zu schicken. Somit wird das Residuum- oder ” Restproblem f¨ ur das Finden maximaler Fl¨ usse beschrieben. Deswegen nennen wir es: Restflussnetzwerk oder Residuum-Netzwerk. Restflussnetzwerk Auf einem Netzwerk G = (N, A) sei ein Max-Flow-Problem gegeben und sei x ein zul¨ assiger Fluss von s nach t auf dem Netzwerk G. ur jede Kante (i,j) ∈ A (A symmetrisch, vgl. oben) ist Die Restkapazit¨ at r ij f¨ die maximale Gr¨ oße des zus¨ atzlichen Flusses, der von i nach j unter Benutzung der Kanten (i,j) und (j,i) geschickt werden kann. Dabei induziert der Abbau eines Flusses durch (j,i) eine Flussvergr¨ oßerung von i nach j. + (xji − lji ) (*) rij := (uij − xij ) ↑ Rest auf (i,j) ↑ Fluss auf (j,i), den man canceln“ kann ” Das Restflussnetzwerk bez¨ uglich des Flusses x, bezeichnet durch G(x), wird als das Netzwerk definiert, das aus den Knoten von G zusammen mit nur Kanten strikt positiver (oberer Fluss-) Restkapazit¨ at rij besteht (d. h. es enth¨alt nur Kanten mit rij > 0 ). Somit enth¨ alt das Restflussnetzwerk G(x) genau diejenigen Kanten, u ¨ber die man einen Fluss positiver Gr¨ oße schicken kann. Gelingt es also, einen Weg
6.8 L¨ osung des Min-Cost-Flow-Modells
201
von s nach t in G(x) zu finden, so kann der Fluss x auf diesem Weg vergr¨oßert werden. Da der zus¨ atzliche Fluss aus s herausgeht, so erh¨oht sich auch die Gr¨ oße des Flusses. Das Ford&Fulkerson Verfahren nutzt dieses Vorgehen sukzessive aus, bis das aktuelle Restflussnetzwerk keinen Weg mehr von s nach t besitzt. Aus diesem End-Restflussnetzwerk wird dann ein maximaler Fluss gewonnen (siehe unten). Der Augmenting-Path-Algorithmus Der Augmenting Path (≡ flussvergr¨ oßernder Weg) ist ein gerichteter Weg von s nach t im Restflussnetzwerk. P sei ein flussvergr¨ oßernder Weg. Dann wird die Restkapazit¨at dieses Weges definiert als: Restkap(P) := (i, j) ∈ Pmin rij Da alle Kanten eines Restflussnetzwerks per Definition rij > 0 haben, ist Restkap(P) > 0. Ein flussvergr¨ oßernder Weg P auf dem Restflussnetzwerk entspricht einer flussvergr¨ oßernden Kette K mit gleicher Knotenfolge auf dem urspr¨ unglichen Netzwerk, da durchaus Kanten auf P Gegenkanten“ auf K entsprechen ” k¨ onnen. Der Algorithmus wird unten als Algorithm 4 zusammengefasst. Dabei ist zun¨ achst ein zul¨ assiger Fluss x0 von s nach t auf G gegeben. Bildung eines Flusses aus dem Restflussnetzwerk Es soll der letzte Schritt des Augmenting-Path-Algorithmus genauer betrachtet werden. Mit der Ausnutzung der Gleichung (*) wurde ein Restflussnetzwerk bzgl. eines zul¨ assigen Flusses gebildet. Die Updates im Restflussnetzwerk w¨ ahrend des Verfahrens erfolgen derart, dass diese Gleichung (*) immer (als Invariante) bzgl. des aktuellen Flusses gilt. Insbesondere gilt sie f¨ ur das EndRestflussnetzwerk und den (maximalen) Ergebnisfluss x auf G. Es gilt also: (*) rij = (uij − xij ) + (xji − lji ) ⇔ xij − xji = uij − rij − lji (**) ⇔ (xij − lij ) − (xji − lji )= uij − rij − lij Also folgt aus uij − rij > lij , d. h. rechte Seite strikt positiv, dass (xij − lij ) − (xji − lji ) > 0. D. h. xij − lij > xji − lji ≥ 0 (beide Seiten sind nichtnegativ, da Fluss zul¨ assig sein muss). Nun k¨onnen xij und xji evtl. mehrere L¨ osungen haben, aber man w¨ahlt sinnvollerweise die L¨ osung, bei der kein Fluss von i nach j und dann wieder nach i fließt. Im Fall ur (i,j) nicht m¨oglich, uij − rij > lij setzt wird also xji := lji gesetzt (dies ist f¨
202
6 Netzwerkorientierte Optimierungsmodelle
Algorithmus 5 Augmenting-Path-Algorithmus 1: forall (i,j) ∈ A do 2: rij := (uij − x0ij ) + (x0ji − lji ) 3: end forall vgl. (*) oben 4: while G(x) hat gerichtete Wege von s nach t mit Kanten (i,j) | rij > 0 do 5: identifiziere einen solchen, etwa P z. B. durch BFS auf G(x) 6: sei δ := Restkap(P) := (i, j) ∈ Pmin rij 7: forall (i,j) ∈ P do 8: rij := rij - δ 9: rji := rji + δ 10: end forall 11: end while 12: forall (i,j) ∈ A do 13: if uij − rij > lij then 14: xij := uij − rij 15: else 16: xij := lij 17: end if 18: end forall In Zeile 2 wird die Initialisierung durch Bildung des Restflussnetzwerks G(x0 ) bez¨ uglich des Ausgangsflusses x0 vorgenommen. Ab Zeile 4 beginnt die Hauptschleife des Algorithmus, die den Fluss so lange vergr¨ oßert, wie flussvergr¨ oßernde Wege gefunden werden. Ab Zeile 6 wird der Fluss auf P um δ (die Restkapazit¨ at von P) FE erh¨ oht. Anschließend wird das Restflussnetzwerks G(x) entsprechend aktualisiert. Die Ver¨ anderungen des Flusses werden im Restflussnetzwerk eingearbeitet“, ” so dass sie nicht explizit aufgef¨ uhrt werden m¨ ussen. In Zeile 13ff. wird der maximale Fluss x auf G, ausgehend von dem End-Restflussnetzwerk und G, gebildet. Ergebnis: maximaler Fluss x auf G von s nach t der Gr¨ oße z = outflow(s) - inflow(s)
da xij − lij > 0 gilt). Eingesetzt in (**) ergibt sich xij := uij − rij . F¨ ur den else-Zweig des letzten Schrittes, d. h. f¨ ur den Fall uij − rij ≤ lij , bekommt ¨ sollte f¨ ur diesen man xji − lji ≥ xij − lij ≥ 0, und aus analogen Uberlegungen Fall: xij := lij gesetzt werden. Korrektheit des Augmenting-Path-Algorithmus – Vertiefung F¨ ur die Korrektheit des Augmenting-Path-Verfahrens von Ford&Fulkerson muss man zeigen, dass der Ergebnisfluss x maximal ist, d. h. maximale Gr¨oße hat. Als wichtiges Hilfskonstrukt definiert man einen s-t-Schnitt (s-t-cut) [S, S − ] von G als eine Zerlegung der Knotenmenge N in zwei disjunkte Teilmengen S und S − (d. h. mit S ∩ S − = ∅ und S ∪ S − = N), wobei s ∈ S und t ∈ S − ist. Die (obere) Kapazit¨ at eines Schnittes [S,S − ] wird definiert als die Summe der oberen Kapazit¨ aten f¨ ur alle Vorw¨ artskanten des Schnittes (Kanten, die ur alle von S zu S − gehen) minus die Summe der unteren Kapazit¨aten f¨ R¨ uckw¨ artskanten des Schnittes (Kanten, die von S − zu S gehen).
6.8 L¨ osung des Min-Cost-Flow-Modells
203
Nun zeigt man, dass die Gr¨ oße z eines Flusses x gleich der Gr¨oße des durch ” x induzierten Flusses durch jeden s-t-Schnitt“ des Netzwerks G ist. Also muss die Flussgr¨ oße z kleiner oder gleich der Kapazit¨at eines jeden s-t-Schnittes des Netzwerks G sein. Also zeigt das Finden eines s-t-Schnittes mit einer Kapazit¨ at, die gleich der Flussgr¨ oße eines Flusses x ist, dass dieser s-t-Schnitt minimale Kapazit¨ at und der Fluss x maximale Gr¨oße besitzt. Ein solcher minimaler“ s-t-Schnitt wird konstruktiv mit dem obigen Ford&Ful” kerson Algorithmus geliefert: Setze S := Menge der aus s erreichbaren Knoten im Restflussnetzwerk bzgl. alt man einen s-t-Schnitt [S,S − ] des Ergebnisflusses und S − := N − S. So erh¨ mit einer Kapazit¨ at, die gleich der Gr¨ oße des Ergebnisflusses ist. Als Resultat wurde also gezeigt, dass der Ergebnisfluss beim Ford&Fulkerson Algorithmus maximal ist. Das Max-Flow-Min-Cut-Theorem Das Max-Flow-Min-Cut-Theorem stellt ein ganz wichtiges Ergebnis der Kombinatorik dar, das besagt: Maximale Gr¨ oße eines Flusses in einem Netzwerk G von s nach t = Minimale Kapazit¨ at u ¨ber alle s-t-Schnitte von G. Da man einen minimalen s-t-Schnitt, also ein Minimum aller s-t-Schnitte, mit Hilfe maximaler Fl¨ usse finden kann, k¨ onnen einige kombinatorische Probleme durch Reduktion auf das Max-Flow-Problem effizient gel¨ost werden. Heutzutage gibt es sogar polynomielle Algorithmen f¨ ur das Max-Flow-Problem, z. B. den Preflow-Push-Algorithmus, der mit einer FIFO-Strategie in O(n3 ) l¨auft. Bei diesem Verfahren wird versucht, den Fluss nicht u ¨ber Wege, sondern lokal u ¨ber Kanten mit bestimmten Eigenschaften“ zu vergr¨oßern. Durch ” dieses trickreiche Vorgehen vermeidet man die Ineffizienz des Ford&FulkersonVerfahrens, das wegen der Anzahl wiederholter Flussvergr¨oßerungen, die von den Gr¨ oßen der Kapazit¨ aten im Problem und nicht nur von der Gr¨oße des Problems abh¨ angt, ein sogenanntes pseudo-polynomielles (jedoch kein polynomielles) Worst-Case-Zeitverhalten hat. 6.8.3 Bestimmung kostenminimaler Fl¨ usse Nach den Ausf¨ uhrungen in den vorigen Abschnitten liegt es auf der Hand, einen Algorithmus f¨ ur das Min-Cost-Flow-Netzwerk zu formulieren. Es werden einige konzeptionell einfache Algorithmus-Varianten besprochen. Dies dient dem Grundverst¨andnis der Problemstrukturen und als Vorarbeit f¨ ur die Behandlung effizienter Algorithmen, die aber den Rahmen dieses Buches sprengen w¨ urde. Weiterhin wird vorausgesetzt, dass das Netzwerk im Standardformat definiert ist und somit insbesondere keine Zyklen negativer L¨ange besitzt.
204
6 Netzwerkorientierte Optimierungsmodelle
Da ein Netzwerk ohne untere Schranken (d. h. mit lij = 0 f¨ ur alle (i,j) ∈ A) ur alle (i,j) ∈ vorliegt und alle Kosten auf den Kanten nichtnegativ (cij ≥ 0 f¨ ur alle (i,j) ∈ A) einen A) sind, stellt der Nullfluss (d. h. x mit xij := 0 f¨ kostenminimalen Ausgangsfluss der Gr¨ oße 0 dar. Das Ziel ist es nun nun durch geschickte“ schrittweise Vergr¨oßerung dieses ” Flusses einen ebenfalls kostenminimalen Fluss der Gr¨oße b(s) zu bekommen. Dabei kann der folgende Satz ausgenutzt werden (ohne Beweis): Negative-Cycle-Optimalit¨ atskriterium: Sei x* ein zul¨assiger Fluss auf G. Der zul¨ assige Fluss x* ist eine optimale L¨ osung des Min-Cost-Flow-Problems ⇔ Das Restflussnetzwerk G(x*) bzgl. x* beinhaltet keine Zyklen negativer L¨ ange Bereits in den 50er und 60er Jahren wurden die ersten Algorithmen f¨ ur das Min-Cost-Flow-Problem vorgestellt. Es gab dabei zwei Grundvarianten: 1. Man bestimmt mit dem Ford&Fulkerson-Algorithmus irgendeinen Anfangsfluss mit der geforderten Gesamth¨ ohe des Flusses. Weil dabei Kosten nicht beachtet werden, sind die Kosten dieses Flusses im Allgemeinen nicht minimal. In der n¨ achsten Phase werden die Kosten schrittweise gesenkt, ohne die Zul¨ assigkeit zu verlieren. Dies geschieht mit dem so genannten Cycle-Canceling-Algorithmus“ von Klein (1967), der Zyklen mit negati” ver L¨ ange identifiziert und zur Verminderung der Kosten ausnutzt. 2. Der zweite Ansatz (der Successive-Shortest-Path-Algorithmus) wurde unabh¨ angig voneinander von Jewell (1958), Iri (1960) und Busacker&Gowen (1961) vorgestellt; sie basiert auf einer wiederholten Anwendung des K¨ urzeste-Wege-Algorithmus: Man f¨ angt mit dem Nullfluss an und schickt u ber den k¨ u rzesten Weg so viele Flusseinheiten wie m¨oglich (bzw. bis zur ¨ geforderten Flussgr¨ oße). Das darauf konstruierte Restflussnetzwerk besagt nun, wieviele Kapazit¨ aten jeweils auf den Kanten u ¨brig sind. Es wird wiederholt ein k¨ urzester Weg gebildet und ausgenutzt, bis die geforderte gesamte Flussgr¨ oße erreicht wird (oder es wird festgestellt, dass die Kapazit¨ at insgesamt nicht reicht). Diese Vorgehensweise basiert auf der Erurzesten kenntnis (ohne Beweis), dass die Flussvergr¨oßerung u ¨ber einen k¨ Weg nie einen Zyklus negativer L¨ ange im Restflussnetzwerk produzieren kann. Beide Algorithmen benutzen den Begriff eines Restflussnetzwerks, das wegen dem Kostenfaktor leicht ver¨ andert zu dem f¨ ur das Max-Flow-Problem gebildet wird.
6.8 L¨ osung des Min-Cost-Flow-Modells
205
Restflussnetzwerk f¨ ur das Min-Cost-Flow-Problem Ein Min-Cost-Flow-Problem sei auf einem (antisymmetrischen) Netzwerk G = (N, A) gegeben. x sei ein zul¨ assiger Fluss von s nach t auf dem Netzwerk G. ullt“). Sei Asym := A ∪ {(j,i)|(i,j) ∈ A } (Netzwerk symmetrisch aufgef¨ ” Die Restkapazit¨ at r ij f¨ ur jede Kante (i,j) ∈ A ist die maximale Gr¨oße des zus¨ atzlichen Flusses, der von i nach j unter Benutzung der Kante (i,j) geschickt werden kann: ur diese Kanten (i,j) setze: cij ’ := cij . rij := uij − xij ; F¨ Die Restkapazit¨ at r ji f¨ ur jede Gegen“-Kante (j,i) mit (i,j) ∈ A ist die maxi” male Gr¨ oße des Flusses, der von dem Fluss auf (i,j) abgebaut werden kann: rji := xij − lij ; F¨ ur diese Kanten (j,i) setze: cji ’ := −cij . Das Restflussnetzwerk bez¨ uglich des Flusses x, bezeichnet durch G(x), wird als das Netzwerk definiert, das aus den Knoten von G zusammen mit nur Kanten strikt positiver Restkapazit¨ at rij besteht (d. h. es enth¨alt nur Kanten mit rij > 0 ). Zu jeder Kante (i,j) in G(x) werden neben der oberen Flussschranke rij die Kosten cij ’ zugeordnet. Im Folgenden wird eine Grundversion des Successive-Shortest-Path-Algorith” mus“ gegeben. Interessierte Leserinnen und Leser k¨onnen sich beispielsweise in den B¨ uchern [Ahuja et al. 1993] und [Chv´ atal 2002] u ¨ber den Cycle-cancelingAlgorithmus sowie weitere Min-Cost-Flow-Algorithmen, wie den Primal-DualAlgorithmus, Out-Of-Kilter-Algorithmus, Relaxationsalgorithmus und Netzwerk-Simplex, informieren. Der Successive-Shortest-Path-Algorithmus Restflussnetzwerk G(x0 ) bzgl. dem Nullfluss x0 der Gr¨oße z0 = 0 stimmt mit Gu ¨berein. Folgender Algorithmus ist allgemeiner formuliert und l¨auft auch in dem Falle, dass man auf einem Netzwerk mit unteren Schranken arbeiten will und ein kostenminimaler Ausgangsfluss x0 (auch verschieden vom Nullfluss) der Gr¨ oße z0 vorliegt. Bemerkung: Um einen kostenminimalen Fluss maximaler Gr¨ oße zu bestimmen, kann man obigen Algorithmus leicht ver¨ andert benutzen: Streiche {and z < b(s)} aus der while-Bedingung und die ganze {if ... }-Anweisung in der while-Schleife. Bemerkung: Benutze ein LC-Verfahren f¨ ur k¨ urzeste Wege (vgl. 6.4.2), nicht Dijkstra, da Kanten mit negativen Kosten im Restflussnetzwerk vorkommen k¨ onnen. Ermitteln Sie einen kostenminimalen Fluss der Gr¨ oße 11 FE f¨ ur das Netzwerk in Abb. 6.17!
206
6 Netzwerkorientierte Optimierungsmodelle
Algorithmus 6 Successive-Shortest-Path-Algorithmus 1: forall (i,j) ∈ A do 2: rij := uij − x0ij 3: rji := x0ij − lij 4: cji := −cij 5: z := z 0 6: end forall 7: while G(x) hat ger. Wege von s nach t mit (i,j) | rij > 0 ∧ z < b(s) do 8: identifiziere einen k¨ urzesten solchen flussvergr¨ oßernden Weg, etwa P Restkapazit¨ at von P 9: Sei δ := (i, j) ∈ Pmin rij 10: if z + δ > b(s) then 11: δ := b(s) − z 12: z := b(s) Gr¨ oße b(s) u ¨berschritten! 13: else 14: z := z + δ 15: end if 16: forall (i,j) ∈ P do 17: rij := rij − δ 18: rji := rji + δ 19: end forall 20: end while 21: forall (i,j) ∈ A do 22: xij := uij − rij 23: end forall 24: if z < b(s) then 25: print(Es existiert kein Fluss der Gr¨ oße b(s); x ist maximal) 26: end if In der Hauptschleife ab Zeile 7 wird folgendermaßen vorgegangen: solange flussvergr¨ oßernde Wege in G(x) existieren und die Flussgr¨ oße z von x die gew¨ unschte Gr¨ oße b(s) noch nicht erreicht hat, dann vergr¨ oßere den Fluss u urzesten Weg ¨ber einen k¨ von s nach t. Ab Zeile 16 wird das Restflussnetzwerk nach der Erh¨ ohung des Flusses auf P entsprechend aktualisiert. Die Ver¨ anderungen des Flusses werden im Restflussnetzwerk eingearbeitet“, so dass sie nicht explizit aufgef¨ uhrt werden m¨ ussen. Ab ” Zeile 21 wird, ausgehend von dem End-Restflussnetzwerk und G, der Ergebnis-Fluss x auf G gebildet. Dieser ergibt sich aus rij = uij − xij . Ergebnis: Kostenminimaler Fluss x auf G von s nach t der Gr¨ oße b(s), falls existiert.
Beispiel: Successive-Shortest-Path-Algorithmus Abb. 6.18 zeigt die Schritte zur L¨ osung des Min-Cost-Flow-Problems vom Beispiel mit Hilfe des Successive-Shortest-Path-Algorithmus. Resultat: Aus dem End-Restflussnetzwerk (5) l¨asst sich ein kostenminimaler Fluss x wie folgt konstruieren: xsa := 10 - 7 = 3; xsb := 8 - 0 = 8; xbc := 10 - 6 = 4; xba := 5 - 1 = 4; xac := 2 - 2 = 0; xat := 7 - 0 = 7; xct := 4 - 0 = 4 (z = xsa + xsb = 3 + 8 = 11).
6.8 L¨ osung des Min-Cost-Flow-Modells
i
C ij , U ij
207
j
a (1,7) (4,10)
Quelle
s
(6,2)
(2,5)
t
Senke
(2,4)
(1,8) b
c (3,10)
Abb. 6.17. Beispielnetzwerk f¨ ur kostenminimalen Fluss
6.8.4 L¨ osung mit Hilfe von Standard-Optimierungssoftware In diesem Kapitel wurden verschiedene mathematische Formulierungen f¨ ur Netzwerkmodelle angegeben. F¨ ur die behandelten Basisprobleme sind die Modelle immer lineare Programme. Hier kommt der Einsatz von LP-Software als Alternative zur Realisierung eines speziellen effizienten Verfahrens in Frage. Manche praktische Fragestellungen haben außer der Netzwerkstruktur auch weitere Anforderungen, die bei den Basismodellen nicht passen“. Beispiels” weise werden bei der Standortplanung Transportmodelle mit 0/1-Variablen kombiniert. Hier wird außer der Bestimmung eines optimalen Transportplans auch entschieden, welche Auslieferungslager an potenziellen Standorten errichtet werden sollen. Auch f¨ ur allgemeinere Min-Cost-Flow-Probleme gibt es entsprechende Erweiterungen, wie das Netzwerkdesign-Problem, bei welchem zus¨ atzlich zu den variablen Flusskosten Fixkosten f¨ ur die Benutzung von Kanten des Netzwerks zugeordnet werden. In der Praxis trifft man selten auf reine Lehrbuchprobleme“, trotzdem sollte man diese kennen. Netzwerke ” haben vielf¨ altige Anwendungen (vgl. n¨ achsten Abschnitt und [Ahuja et al. 1993]), die meist mit erweiterten bzw. abgewandelten Verfahren oder direkt mit Hilfe von Optmierungssoftware l¨ osbar sind. Bei der L¨ osung der resultierenden Modelle ist der Einsatz von MIP-Software gerade bei m¨ aßigen Problemgr¨ oßen einfacher als die Entwicklung und Realisierung einer speziellen exakten Methode. F¨ ur manche Problembereiche lassen sich auch sehr große praxisrelevante Problemgr¨oßen mit Hilfe von Flussnetzwerken modellieren und mittels Einsatz von state-of-the-art Optmierer optimal l¨ osen. Ein solcher Problembreich, der ausf¨ uhrlich in Kapitel 7 dargestellt wird, ist die Ressourcen-Einsatzplanung im o ffentlichen Personenverkehr. ¨ Spaltenweise Eingabe von Flussmodellen: Bei einem Matrixgenerator (vgl. Kapitel 3) zur Eingabe von Netzwerkflussmodellen bietet sich eine spaltenweise Vorgehensweise an. Flussvariablen f¨ ur Kanten stellen Spalten des Modells dar. Bei Knoten gelten ja die BalanceGleichungen der Form inflow = outflow bzw. outflow – inflow = 0 (Modellzeilen). Da eine Kante aus genau einem Knoten stammt und zu genau einem
208
6 Netzwerkorientierte Optimierungsmodelle
R e s tflu ß n e tz w e r k e : i
a
(1 ) (4 ,1 0 )
r ij )
j
(1 ,7 )
Q u e lle
s
( c ij ,
(2 ,5 )
t
(6 ,2 )
(1 ,8 )
(2 ,4 )
b
c
(3 ,1 0 )
Senke
z := 0 + 5
N e u e F lu ß g rö ß e = a lte F lu ß g rö ß e + Z u s a tz a u f flu ß v e rg rö ß e rn d e m W e g
a
(2)
(-1,5)
(4,10)
s
(-1,5)
(-2,5)
t
(-1,7)
s
(-2,5)
t
(6,2)
(2,4)
b
c
(3,10)
a
(-1,5)
(2,4)
(1,3)
b
z := 5 + 2
(-1,7)
(4,8)
s
a
(4,8)
(6,2)
(1,3)
(-4,2)
(4)
(-4,2)
(3)
(1,2)
a
(-4,3)
(5)
c
(3,10)
z := 7 + 3
(-1,7)
(4,7)
(-2,5)
(6,2)
t (-2,3)
s
(-2,4)
t
(6,2) (2,1)
(-2,4)
(2,1) (3,7)
(-1,8)
b
(-3,3)
c
(-1,8)
z := 10+1 = 11
(3,6)
b
c
(-3,4)
z < 11 gilt nicht
Abb. 6.18. Berechnung eines kostenminimalen Flusses
Knoten f¨ uhrt, setzt man bei einer spaltenweisen Formulierung f¨ ur jede durch eine Kante und Flussvariable definierte Spalte den Koeffizienten +1 bei der Balance-Gleichung des Knotens, von dem die Kante stammt (outflow ), und den Koeffizienten –1 bei der Balance-Gleichung des Knotens, zu dem die Kante f¨ uhrt (inflow ).
6.9 Praxisbeispiele
209
6.9 Praxisbeispiele 6.9.1 Netzwerkflussmodell f¨ ur Helsinki Wasserwerke Quelle: Prof. Dr. L. Suhl, Universit¨ at Paderborn Das Trinkwasser f¨ ur die Stadt Helsinki kommt aus den finnischen Seen und wird in mehreren Reinigungsanlagen gereinigt, f¨ ur den Verbrauch vorbereitet und in das st¨ adtische Rohrleitungsnetz eingef¨ uhrt (Abb. 6.19). Das Wassernetz beinhaltet weitere Pumpanlagen, durch die der Druck im Netz erh¨oht werden kann; das Stadtgebiet ist nach H¨ ohenlage in mehrere Druckgebiete eingeteilt, zwischen denen Ventile und Pumpanlagen eingerichtet sind. In Pumpstationen stehen i.d.R. mehrere Pumpen zur Verf¨ ugung, die unterschiedliche Energieverbr¨ auche haben und in Gruppen ein- und ausgeschaltet werden k¨onnen. Der Energieverbrauch einer Pumpanlage ist dabei nichtlinear von der gepumpten Wassermenge abh¨ angig.
P P P
P
P
Abb. 6.19. Wassernetz der Stadt Helsinki (schematisch)
Bei den Helsinki Wasserwerken wurde ein Entscheidungsunterst¨ utzungssystem entwickelt, dessen Zielsetzung es ist, die prognostizierte Nachfrage in jedem (aggregierten) Verbrauchsknoten f¨ ur jede Zeitperiode (im Modell ca. 3 Std.) mit minimalen Pump- und Reinigungskosten zu befriedigen. Die Pump- und Reinigungskosten variieren je nach Anlage und Tageszeit; z. B. ist Nachtstrom preiswerter als Strom w¨ ahrend des Tages. Im Vorrat gepumptes Wasser kann in Speicheranlagen (u. a. in sieben Wassert¨ urmen, die obere und untere Grenzen der F¨ ullh¨ ohe haben) f¨ ur den sp¨ ateren Verbrauch gelagert werden.
210
6 Netzwerkorientierte Optimierungsmodelle
Im Rahmen einer rollierenden Planung soll f¨ ur jede Woche ein Betriebsplan unter Einhaltung aller Restriktionen erstellt werden. Das entwickelte System basiert grunds¨ atzlich auf einem Min-Cost-Flow-Netzwerk, wof¨ ur der Successive-Shortest-Path-Algorithmus implementiert wurde. Allerdings ist das Netzwerkflussmodell wegen der Nichtlinearit¨aten nur approximativ korrekt. Die nichtlinearen Energie-Mengenrelationen wurden st¨ uckweise linearisiert, und die Parameter durch iteratives L¨ osen des Modells immer genauer bestimmt. 6.9.2 Netzausbauplanung im Gasnetz Quelle: [Suhl/U. u. Hilbert 1998] Lieferanten von Erdgas sind daran interessiert, in Neubaugebieten ein Gasnetz auszubauen, wenn es gen¨ ugend potenzielle Kunden gibt. In einem Gebiet wird somit f¨ ur alle Straßenabschnitte gesch¨ atzt, wie profitabel eine Verrohrung mit Gas w¨ are – was davon abh¨ angt, wie hoch der Anteil der an einer Gasheizung interessierten Bewohner ist. Das Netz muss dabei zusammenh¨angig verrohrt werden – ansonsten kann kein Erdgas fließen. Bei der EON-Ruhrgas werden Gasnetz-Ausbauprobleme mit Hilfe der mathematischen Optimierung gel¨ ost: Das Ausbauplanungsproblem l¨asst sich als ein so genanntes generalisiertes Steiner-Tree-Problem mit mehreren Perioden formulieren, das wegen vieler logischer Restriktionen NP-hart ist. Solche Modelle k¨ onnen somit nicht mit reinen Netzwerk-Algorithmen gel¨ost werden. Sie lassen sich aber in der Praxis unter Nutzung des Standardoptimierers MOPS im Regelbetrieb l¨ osen. 6.9.3 Flugnetzoptimierung bei UPS Quelle: [Butchers et al. 2004] Dieses Praxisbeispiel will verdeutlichen, wie UPS mit Hilfe der Optimierungssoftware VOLCANO seine Flugrouten verbessern und somit einige Millionen US Dollar einsparen konnte. United Parcel Service, besser bekannt als UPS, ist der weltweit f¨ uhrende Express- und Paketzustelldienst. Sie transportieren im Durchschnitt mehr als 13 Millionen Packungen t¨aglich zu ungef¨ahr 8 Millionen Kunden in u andern. UPS ist die elftgr¨oßte Fluggesellschaft der ¨ber 200 L¨ Welt, zu ihnen z¨ ahlen 256 Flugzeuge. Bei Bedarf wird die Flotte durch gemietete Flugzeuge erweitert. Die Fluggesellschaft ist die Schl¨ usselinfrastruktur, die es erm¨ oglicht, spezielle Lieferungsdienstleistungen anzubieten, z. B. die Zustellungen am gleichen oder n¨ achsten Tag. Zur Unterst¨ utzung des N¨ achsten-Tag-Zustellungsservices entwickelte und implementierte UPS mit Hilfe des Massachusetts Institute of Technology (MIT) einen Flugzeug-Netz-Optimierter (VOLCANO). Das System optimiert gleichzeitig Flugzeugstrecken und Flottenzuweisungen.
6.9 Praxisbeispiele Manuelle Planerlösung
211
VOLCANO-Lösung
Zwischenstation (Nabe)
Flugplatz
Flugzeugroute
Abb. 6.20. Beispielnetz von VOLCANO
Durch den Einsatz von VOLCANO, basierend auf der Linearen Programmierung mit zusammengesetzten Variablen, konnten die Betriebskosten herabgesetzt und Millionen US-Dollar eingespart werden. Das Modell bewirkt eine Einsparung der eingesetzten Flugzeuge von 10,7%. VOLCANO ben¨otigt eine Laufzeit von ca. zwei Stunden, um ein optimales Flugnetz f¨ ur den N¨achstenTag-Zustellungsservice zu generieren. Im Vergleich dazu ben¨otigen Planer sechs bis neun Monate. Bedeutend ist auch, dass das Modell das grunds¨atzliche Design des Netzes ver¨ andert. In den manuellen L¨osungen neigen Planer dazu, spiegelbildliche Routen zu schaffen, VOLCANOs L¨osung beinhaltet auch nichtintuitive Flugzeugstrecken (s. Abb. 6.20). Bezogen auf die L¨osungen der Planer erlaubt das Modell eine bedeutende Herabsetzung der Kosten und eingesetzten Flugzeuge. Insgesamt sind die L¨osungen mit VOLCANO weniger kostspielig als die manuellen L¨ osungen. Die Netz- und die Spitzenplaner setzen VOLCANO seit 2000 ein. Betriebskosten (haupts¨achlich Treibstoff und Besatzungskosten), Besitz-Kosten (Kosten von gekauften Flugzeugen), PachtKosten (typisch w¨ ahrend der Hauptsaison, wenn UPS zus¨atzliche Kapazit¨aten durch Leasingflugzeuge schafft) werden auf Grund der Optimierung reduziert. Diese Ergebnisse bef¨ ahigen die Planer und Finanzanalytiker, dazu kommende Einsparungen der Betriebskosten f¨ ur das n¨achste Jahrzehnt von u ¨ber 189 Millionen US Dollar vorherzusagen.
212
6 Netzwerkorientierte Optimierungsmodelle
¨ 6.10 Ubungsaufgaben Aufgabe 6-1: Netzwerk-Transformation Das Netzwerk in Abb. 6.21 beinhaltet sowohl positive obere als auch untere Grenzen der Kantenfl¨ usse. Bestimmen Sie zuerst einen zul¨assigen, dann einen maximalen Fluss von s nach t.
a
(1,4)
(2,5) (lij, uij)
s
t
(2,5) (1,5)
i
j
(2,7) b
Abb. 6.21. Netzwerk mit positiven unteren Flussgrenzen
Aufgabe 6-2: Wasserversorgungsnetz Im folgenden Wasserversorgungsnetz (s. Abb. 6.22) sollen innerhalb eines Tages 10 Tm3 Wasser von s nach t transportiert werden. Neben jedem Pfeil sind zuerst die Einheitskosten (in 10 e), dann die Kapazit¨at [in Tm3 ] angegeben. Untere Flussgrenze ist stets 0. Um welchen Modelltyp handelt es sich? Stellen Sie f¨ ur die Aufgabenstellung ein mathematisches Optimierungsmodell auf! L¨osen Sie das Modell mit einer Standardsoftware und geben Sie die L¨ osung als Handlungsempfehlung ab!
a
2;4
c
3;10
1;5 s
t
5;12
2;9
5;12
2;3
3;12 b
d 1;8
Abb. 6.22. Wasserversorgungsnetz
¨ Weitere Ubungen und L¨ osungen befinden sich im Internet. http://www.vorms.org
6.11 Was sollte ich gelernt haben?
213
6.11 Was sollte ich gelernt haben? Typische Netzwerkprobleme Was versteht man unter den folgenden bekannten Optimierungsproblemen: • • • • • • • • •
Das Transportproblem Minimale Spannb¨ aume Das K¨ urzeste-Wege-Problem Das Max-Flow-Problem Das Min-Cost-Flow-Problem Das Travelling-Salesman-Problem Das Chinese-Postman-Problem Das Tourenplanungsproblem Das Standortplanungsproblem
Welche der Probleme sind mit einem polynomiellen Algorithmus l¨osbar? Grundbegriffe der Graphentheorie Sie sollten die folgenden Begriffe verstehen und definieren k¨onnen: • • • • • •
Graph (gerichtet, ungerichtet, bipartit) Kette, Weg Kreis, Zyklus (stark) zusammenh¨ angender Graph Baum/Wald DAG Minimale Spannb¨ aume
Wie kann man die Greedy-Methode zur Bestimmung von einem minimal spannenden Baum in einem Graphen anwenden? Ergibt die Greedy-Methode in diesem Fall eine exakt optimale L¨osung? Warum? Welche zwei Varianten wurden vorgestellt? Erl¨autern Sie jeweils die Grundidee. Das K¨ urzeste-Wege-Problem Welche drei Algorithmen wurden vorgestellt? Welche unterschiedlichen Zwecke bzw. Voraussetzungen haben diese? Wie lautet jeweils das Grundprinzip der Algorithmen?
214
6 Netzwerkorientierte Optimierungsmodelle
Welcher Zusammenhang existiert zwischen dem Prim-Algorithmus f¨ ur minimale Spannb¨ aume und dem Dijkstra-Algorithmus f¨ ur k¨ urzeste Wege? Welche Komplexit¨ at haben diese Algorithmen? Was verstehen wir unter einem LS- und LC-Algorithmus? Geben Sie Beispiele! Warum nennt man den Floyd/Warshall-Algorithmus auch den Tripel-Algorithmus? Transshipment-Netze Was versteht man unter einem Transshipment-Netz? Was ist ein Min-Cost-Flow-Netzwerk? Wie lautet die mathematische Formulierung des allgemeinen Min-Cost-FlowProblems? Welche bekannten Modelle sind dessen Spezialf¨alle? Wie lautet das Max-Flow-Min-Cut-Theorem? Transformation des Transshipment-Netzes Wie lautet das Standardformat des Min-Cost-Flow-Problems? Durch welche Schritte kann ein allgemeines Transshipment-Modell ins Standardformat u uhrt werden? ¨berf¨ Wie werden genau genommen Untergrenzen der Kantenfl¨ usse auf 0 transformiert? Was ist ein s-t-Flussnetzwerk? Wie wird die Transformation in ein s-t-Flussnetzwerk durchgef¨ uhrt? L¨ osung von Min-Cost-Flow-Modellen Auf welchem Theorem basieren die ersten Algorithmen f¨ ur das Min-CostFlow-Modell? Wie nennt man diese Methoden? Was ist ein Restflussnetzwerk? Erkl¨ aren Sie das Prinzip des Successive-Shortest-Path-Algorithmus und wenden Sie es an einem Beispiel an! Warum braucht man die negativ bewerteten Kanten im Restflussnetzwerk f¨ ur das Min-Cost-Flow-Problem? Was heißt es, wenn eine solche Kante bei der L¨ osung traversiert wird? Unter welchen Bedingungen terminiert der Successive-Shortest-Path-Algorithmus? Warum macht es oft Sinn, Min-Cost-Flow-Modelle mit Standard-Optimierungssoftware zu l¨ osen? Welchen K¨ urzeste-Wege-Algorithmus sollte man als Sub-Algorithmus bei der Implementierung des Successive-Shortest-Path-Algorithmus nutzen? Warum?
7 ¨ Fallstudie Transportlogistik im OPV: Netzwerkbasierte Modellierung und Optimierung
Lernziele: • Praxisanwendung netzwerkbasierter Modellierung und Optimierung • Prozess der Produktionsplanung und -steuerung am Beispiel des ¨offentlichen Personenverkehrs • Ressourcen-Einsatzplanung und das Umlaufplanungsproblem • Modellierung des Umlaufplanungsproblems mit Hilfe kostenminimaler Fl¨ usse • Anwendung und Nutzen von Netzwerktransformationen • L¨ osung gemischt-ganzzahliger Optimierungsmodelle mit hunderttausenden Variablen unter Benutzung mathematischer Optimierungssoftware
7.1 Motivation ¨ Anbieter von ¨ offentlichem Personenverkehr (OPV), seien es Bus-, Bahn- oder Fluggesellschaften, sind angesichts der Privatisierung und der Globalisierung der M¨ arkte einem hohen Wettbewerbsdruck unterworfen. Um aus ihrer ehemals meist monopolistischen zu einer effizienzsteigernden, marktorientierten Stellung zu gelangen, setzen Verkehrsbetriebe vermehrt auf • Kundenzufriedenheit durch besseren Service und Informationsfluss, • Mitarbeitermotivation, • Abstimmung des Flug- oder Fahrplans und Varianz der einzusetzenden Transportmittel gem¨ aß Nachfrage (Rightsizing des Angebots), • einen effizienteren Einsatz von immer teurer werdenden Ressourcen: Transportmittel oder Vehicles (Flugzeuge, Zugwagen, Busse) und Crews (Piloten, Fahrer, Besatzungen). Computergest¨ utzte Informations- und Entscheidungsunterst¨ utzungssysteme spielen dabei eine entscheidende Rolle. Unternehmen des ¨offentlichen Verkehrs m¨ ussen sich mit komplexen Produktionsplanungs- und Steuerungsprozessen,
216
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
wie Nachfrageprognose, Fahrplanung, Ressourceneinsatzplanung und dispositive Kontrolle (Operations Control), auseinandersetzen. Beim Auftreten von Versp¨ atungen in der Durchf¨ uhrungsphase des Fahrplans werden die Passagieranschl¨ usse zeitlich abgestimmt sowie Ver¨ anderungen in den Passagierrouten und Ressourceneinsatzpl¨ anen vorgenommen. Ein wichtiger Schritt der Planungsphase ist die Umlaufbildung f¨ ur Vehicles und Crews, die gewissen Praxisanforderungen gen¨ ugen muss. Hier k¨ onnen die Handlungsvorbereitung und die Entscheidungsfindung mit Hilfe von Methoden des Operations Research unterst¨ utzt werden. Zun¨ achst wird in diesem Kapitel der Prozess der Produktionsplanung und steuerung eingef¨ uhrt sowie die Besonderheiten dieses Prozesses am Fallbeispiel des ¨ offentlichen Personenverkehrs erl¨ autert. Als Beispiel von Ressourcenzuordnungsproblemen bei der Produktionsplanung wird das Umlaufplanungsproblem f¨ ur Transportmittel im ¨ offentlichen Personenverkehr n¨aher betrachtet. Dieses Kapitel erl¨ autert exemplarisch die Anwendung netzwerkbasierter Modellierung und mathematischer Optimierung in der Praxis. Am Beispiel des Umlaufplanungsproblems wird die Modellierung mit Hilfe kostenminimaler Fl¨ usse erl¨ autert und die Transformation in eine ¨aquivalente Problemformulierung als Quasi-Assignment-Problem“ dargestellt. Hier wird Schritt f¨ ur ” Schritt das Umlaufplanungsproblem definiert und als Netzwerkflussmodell dargestellt, worauf dann bekannte Netzwerktransformationen aus Kapitel 6 angewandt werden k¨ onnen. In einem weiteren forschungsorientierten Teil dieses Kapitels werden neue netzwerkbasierte Modelle f¨ ur die Umlaufplanung vorgestellt, die in der Habilitationsschrift [Mellouli 2003] entwickelt und in mehreren Projekten am DS&OR Lab der Universit¨ at Paderborn in Kooperation mit Unternehmen, wie der Deutschen Bahn AG und PTV AG, erfolgreich eingesetzt wurden (vgl. [Mellouli u. Suhl 2003], [Kliewer 2005]). Hierbei wird gezeigt, wie die Ausnutzung der durch zeitliche und ¨ ortliche Faktoren bedingten Problemstruktur der ¨ Ressourceneinsatzplanung im OPV in ein effektives Netzwerkflussmodell integriert werden kann, das somit f¨ ur große Problemstellungen aus der Praxis mit Hilfe von State-of-the-Art-Optimierern, wie z. B. CPLEX und MOPS, gel¨ost wird.
7.2 Produktionsplanung und -steuerung (PPS) Ein wichtiges Anwendungsfeld f¨ ur OR-Methoden inklusive Optimierung stellen (Teil-)Aufgaben des betriebswirtschaftlichen Prozesses der Produktionsplanung und -steuerung (PPS) dar. Es existieren eine Reihe computergest¨ utzter Systeme zur L¨ osung dieser Aufgaben, die auf Techniken des Operations Research beruhen. Dass die Begriffe Produkt“ und Produktion“ nicht ” ” nur im Sinn typischer Produktions- oder Fabrikationsfirmen (z. B. in der Lebensmittel- oder Autoindustrie) zu sehen sind, wird anhand des Fallbeioffentlicher Verkehr“ als Industriezweig gezeigt. spiels ¨ ”
7.2 Produktionsplanung und -steuerung (PPS)
217
7.2.1 Hauptschritte eines PPS-Prozesses Im Folgenden werden die Hauptschritte des PPS-Prozesses kurz erl¨autert. Diese Schritte sind in Abb. 7.1 veranschaulicht und f¨ ur das Fallbeispiel offentlicher Verkehr“ angewandt (vgl. n¨ achster Unterabschnitt). ¨ ” Produktplanung: Zun¨ achst wird nach einer eingehenden Nachfrageanalyse und -prognose entschieden, welche Produkte zu fertigen sind. Auch eine Marktanalyse kann helfen, neue Produkte oder Produkttypen zu entwerfen oder weiterzuentwickeln, die auf dem Markt eine Erfolgschance haben. Produktionsplanung und -scheduling: Hier wird der Produktionsprozess grob bis mittelfein geplant. D. h. unter Beachtung verf¨ ugbarer Ressourcenkapazit¨ aten (Maschinen und Personal) soll m¨ oglichst genau berechnet werden, wann und wieviel von jedem Produkt hergestellt werden kann und soll. Hier sollte man bei den Ressourcen Pufferzeiten f¨ ur eventuelle Ausf¨alle oder Engp¨ asse einplanen. Ressourcenzuordnung: Die Feinplanung des Produktionsprozesses erfolgt in diesem letzten Schritt der Planungsphase. Einige Zeit vor der eigentlichen Produktion wird eine Zuordnung der Ressourcen zu den einzelnen Produktionsschritten vorgenommen. Hier k¨ onnte eine Korrektur der Produktionsplanung f¨ ur die n¨ achsten Perioden (z. B. Tagen) erfolgen, falls man mehr (bei freien Kapazit¨ aten) oder weniger (bei Engp¨ assen) produzieren kann, als im vorherigen Schritt grob berechnet wurde. Produktionssteuerung bzw. dispositive Kontrolle (Operations Control): Bei der eigentlichen Durchf¨ uhrung des Produktionsprozesses besteht nun die Aufgabe eines Disponenten darin, den Produktionsprozess zu kontrollieren und ein Rescheduling der Produktionsschritte bei Ressourcen-Ausf¨allen zu berechnen. Rescheduling bedeutet, dass planm¨aßige Produktionszeitpunkte f¨ ur einzelne Produkte zeitlich verschoben werden und/oder dass manchen Produktionsschritten andere Ressourcen zugeordnet werden. Die Erfahrung des Disponenten kann dabei zwecks einer besseren Produktionsplanung f¨ ur sp¨ atere Perioden herangezogen werden, beispielsweise k¨onnen Pufferzeiten dadurch genauer ermittelt werden. 7.2.2 Produktionsplanung und dispositive Kontrolle im offentlichen Verkehr ¨ Im ¨ offentlichen Verkehr stellt die Fahrt“ oder der Flug“ das Produkt dar. ” ” Dieses Produkt ist – im Gegensatz zu konventioneller industrieller Produktion – kein Gegenstand, der an einer oder mehreren St¨atten produziert wird. Es kann nicht geteilt, montiert, (zwischen-)gelagert oder transportiert werden, vielmehr ist es selbst ein Transportleistungsangebot mit festgelegten Abfahrtsund Ankunftszeiten und -orten, die die Verf¨ ugbarkeit der (beweglichen) Ressourcen – in Zeit und Ort – bestimmen und ver¨andern. Somit ergeben sich bei der Produktionsplanung im ¨offentlichen Verkehr spezielle Optimierungs-
218
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
aufgaben, die die Autoren in Praxisprojekten mit Bus-, Bahn- und Fluggesellschaften erforscht haben. Es handelt sich um Probleme der Planung von Uml¨ aufen f¨ ur Transportmittel und von Diensteins¨atzen f¨ ur Crew, beide unter komplexen Nebenbedingungen wie Wartungsanforderungen f¨ ur Z¨ uge und Arbeitszeitregelungen f¨ ur Crew-Personal. In weiteren Projekten wird auch Simulation als eine zentrale Technik eingesetzt, um Disponenten im Bereich Operations Control im Bahnverkehr zu unterst¨ utzen. In Abb. 7.1 sind die Hauptschritte des PPS-Prozessesveranschaulicht; auf der linken Seite werden sie allgemein angegeben; rechts werden Teilaufgaben f¨ ur das Beispiel ¨ offentlicher Verkehr“ spezifiziert. Diese Teilaufgaben werden im ” Folgenden erl¨ autert.
Product Forecasting and Planning - which products are to be produced -
- Demand estimation - Network and capacity planning - Transport time determination
Production Planning and Scheduling - when and how much of each product will be produced -
- Flight/trip scheduling - Fleet assignment - Generating logical rotations for vehicles (and crews)
Resource Allocation - which resources are to be used for individual production steps -
- Crew scheduling - Scheduling of physical vehicles - Scheduling of station operations
Operations Control - how to control the production process and perform rescheduling in case of disturbances -
- Rescheduling of trip connections in case of delays and disturbances - Rescheduling of vehicles and crews - Determining alternative passenger routes
Abb. 7.1. Prozess der Produktionsplanung und -steuerung
Produktplanung: Bei der Bedarfsprognose werden anhand von fr¨ uheren Belegungsdaten, z. B. aus Platzreservierungssystemen, und Trendanalysen das Passagieraufkommen in der Planungsperiode prognostiziert. Darauf basierend wird das Transportnetzwerk entworfen, und zwar als eine Menge von Linien mit Kapazit¨ aten (f¨ ur Anzahl Passagiere) und Takt der Bedienung (der Fahrten/Fl¨ uge auf der Linie). Die Fahrt- oder Flugzeiten auf diesen Linien werden bestimmt. Anschließend werden die Produkte, jedes als eine Untermenge von Fahrten/Fl¨ ugen mit gleicher Startzeit auf der gleichen Linie in einem/mehreren/allen Tag(en) einer Kalenderwoche f¨ ur z. B. Sommer- oder Wintersaison geplant (mit m¨ oglichen Abweichungen z. B. in ¨ den Schulferien). Ublicherweise werden Startzeiten der Fahrten bzw. Fl¨ uge am Ende der Produktplanungsphase festgelegt. F¨ ur manche Airlines wird der Flight-Scheduling-Schritt mit sp¨ ateren Produktionsplanungsschritten kombi-
7.2 Produktionsplanung und -steuerung (PPS)
219
niert und mit Hilfe gemischt-ganzzahliger Programmierung gel¨ost (vgl. Suhl 1995). Produktionsplanung und -scheduling: Kernschritte bei der Produktionsplanung und -scheduling sind die Flottenzuordnung, die Generierung logischer Uml¨ aufe f¨ ur Vehicles (Busse, Z¨ uge oder Flugzeuge) und eine Vorbereitung f¨ ur die Diensteinsatzplanung f¨ ur Crews (Crew Scheduling). Bei der Flottenzuordnung geht es darum, die Fahrten/Fl¨ uge auf die Vehicle-Typen zuzuordnen, wobei Anforderungen der Fahrten/Fl¨ uge bez¨ uglich Sitzkapazit¨at und verf¨ ugbarer Vehicles bei jeder Flotte (Vehicles gleichen Typs) ber¨ ucksichtigt werden. Fahrten/Fl¨ uge werden dann sogenannten logischen Uml¨aufen f¨ ur Vehicles verkettet. Klassischer Weise werden hier die technischen Anforderungen der Z¨ uge/Flugzeuge, wie regul¨ are Wartung, noch nicht ber¨ ucksichtigt. Wie f¨ ur Vehicles k¨ onnen im Vorfeld der eigentlichen Zuordnung von Fahr-/Flugpersonal logische Dienstst¨ ucke gebildet werden. Diese k¨onnen eint¨agige Dienste f¨ ur Busfahrer oder bis zu 5-t¨ agige Flugketten mit Ausw¨arts¨ ubernachtungen f¨ ur Flugpersonal sein, wobei alle Fahrten/Fl¨ uge des Fahr-/Flugplans abgedeckt werden m¨ ussen. Ressourcenzuordnung: Fahrten/Fl¨ uge werden auf individuelle Ressourcen (physische Vehicles bzw. einzelne Crew-Mitglieder) zugeordnet. Beim Crew Scheduling werden Diensteinsatzpl¨ ane f¨ ur Crew-Mitglieder u ¨ber die Planungsperiode gebildet, wobei vorbereitete Dienstst¨ ucke unter Beachtung der Verf¨ ugbarkeit von Crew (Urlaub, andere T¨ atigkeiten) zusammengestellt werucke f¨ ur den. Beim Physical Vehicle Scheduling“ geht es darum, Umlaufst¨ ” Vehicles so zusammenzustellen, dass z. B. Wartungsanforderungen der einzelnen Vehicles erf¨ ullt werden.
Vehicle Scheduling Umlaufplanung
Crew Scheduling Diensteinsatzplanung
Vehicle Typen Wartung (Züge/Flugzeuge) Mehrere Depots (Busse)
Arbeitszeitregeln Dienstzeiten Ruhezeiten Requests Allgemeine Aufgabenstellung:
Plan-Flüge/Fahrten überdecken Kosten minimieren Praxis-Nebenbedingungen beachten
Abb. 7.2. Ressourcen-Einsatzplanung im ¨ offentlichen Personenverkehr
220
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
Die Ressourcen-Einsatzplanung (vgl. Abb 7.2) erfolgt in den Schritten Produktionsplanung und -scheduling sowie Ressourcenzuordnung. Eine Integration der Bildung von logischen Uml¨ aufen und der Beachtung von regul¨aren Wartungsanforderungen wird in [Mellouli 2000] f¨ ur Bahn- und Flugverkehr diskutiert, wobei ein effizient l¨ osbares MIP-Modell vorgestellt wird. Eine solche Integration beim Crew Scheduling f¨ ur den Flugverkehr wird auch vorgeschlagen, wobei bei der Zusammenstellung von Flugketten f¨ ur bestimmte Crew-Mitglieder deren vorher geplante Aktivit¨aten, wie Flugsimulator-Tage, B¨ urotage, Urlaub etc., gleich mit ber¨ ucksichtigt werden. Dispositive Kontrolle (Operations Control): Verkehrsunternehmen m¨ ussen den geplanten Fahrplan in bestm¨ oglicher Qualit¨at durchf¨ uhren, da deren Kundenakzeptanz durch Versp¨ atungen und verpasste Anschl¨ usse negativ beeinflusst wird. Im ¨ offentlichen Verkehr k¨ onnen viele Typen von extern beeinflussten St¨ orungen nicht verhindert werden, die prim¨are Versp¨atungen verursachen. Wenn eine gr¨ oßere St¨ orung eintritt, muss der Disponent unter sehr hohem Zeitdruck u anderungen im Fahrplan (z. B. Verz¨ogerungen von ¨ber Ver¨ Anschl¨ ussen) entscheiden, um induzierte Versp¨atungen und Nachteile f¨ ur die Passagiere zu reduzieren. Die Anforderungen einer Computerunterst¨ utzung auf diesem Gebiet werden in [Suhl u. Mellouli 1999] diskutiert, wobei eine Architektur f¨ ur ein Disponentenunterst¨ utzungssystem vorgeschlagen wird. Dieses System soll Disponenten verschiedener Transportleitzentralen bei u. a. folgenden Aufgaben unterst¨ utzen: • Bewertung der Ist-Situation im Netz insbesondere bei mehreren gleichzeitig auftretenden Versp¨ atungen • Anwendung globaler und lokaler Vorschriften, z. B. (Wartezeit-)Regeln • Erkennen der von ihnen zu bearbeitenden Konflikte (z. B. verpasste Anschl¨ usse f¨ ur mehrere Passagiere oder Ausfall einer Strecke) im Netz uhrung der zur Aufl¨ osung des Konflikts notwendigen Aufgaben, die • Durchf¨ – unterschieden nach Konflikttypen – meist aus einer Checkliste“ stam” men • Bearbeitung aufw¨ andiger What-If-Analysen m¨oglicher Handlungen • Auswertung der Analysen und Ausarbeitung einer Entscheidung zur Konfliktl¨ osung Unsere Systemarchitektur f¨ ur die Computerunterst¨ utzung der dispositiven Kontrolle integriert vielf¨ altige Probleml¨ osungs-, Simulations- und Analysekomponenten mit wissensbasierter Verarbeitung von Wartezeit- und Expertenregeln (f¨ ur weitere Ausf¨ uhrung vgl. [Suhl und Mellouli 1999]).
7.3 Das Umlaufplanungsproblem Bei der Ressourcen-Einsatzplanung im ¨ offentlichen Verkehr handelt es sich um die effiziente Nutzung der Ressourcen (Vehicles und Crew). Ausgehend
7.3 Das Umlaufplanungsproblem
221
vom Fahrt- oder Flugplan werden Uml¨ aufe bzw. Diensteinsatzpl¨ane f¨ ur die vorhandenen knappen Ressourcen gesucht, wobei jede(r) Fahrt/Flug genau einmal bedient wird und die dabei enstehenden Kosten minimiert werden (vgl. Abb. 7.3). Ein Umlauf ist dabei eine Aneinanderreihung von Fahrten, die zeit-
MindestWendeZeiten Fahr-/Flugplan
Dauer und Kosten möglicher Leerfahrten
Umlaufplan:
Abb. 7.3. Umlaufplanung im o ¨ffentlichen Personenverkehr
lich und ¨ ortlich nacheinander bedient werden k¨onnen. Dabei k¨onnen gerade im Busverkehr (aber auch bei Flotten des Zugverkehrs) Leerfahrten benutzt werden, um die Anzahl der ben¨ otigten Ressourcen zu minimieren. Leerfahrten sind Bewegungen von Transportmitteln ohne Bef¨orderung von Personen. Auf den ersten Blick verursachen diese Leerfahrten nur Kosten, da nur die Bedienung von Planfahrten profitabel erscheinen. Die betriebswirtschaftliche Notwendigkeit von Leerfahrten kann man jedoch anhand eines kleinen Beispiels erkl¨ aren. Ein kleines Taxiunternehmen hat Auftr¨age f¨ ur drei Fahrten erhalten: • Fahrt F1 vom Stadtzentrum Z mit Abfahrtszeit 7:30 zu einer bestimmten Schule S mit einer berechneten Ankunftszeit 8:00 • Fahrt F2 von einem Krankenhaus K mit Abfahrtszeit 8:30 zum Stadtzentrum Z (8:50). • Fahrt F3 von Stadtzentrum Z mit Abfahrtszeit 9:00 zum Krankenhaus K (9:20). W¨ urde man keine Leerfahrten zulassen, w¨ are der Einsatz von 2 Taxen erforderlich, eines f¨ ur F1 (Z → S) und eines f¨ ur F2 gefolgt mit F3 (K → Z → K). Mit einer Leerfahrt von S nach K zwischen 8:00 und 8:30 muss lediglich ein einziges Taxi und ein einziger Fahrer eingesetzt werden, da die Planfahrten F1 und F2 mit einer Leerfahrt verkn¨ upft werden k¨onnen. Zwei Arten von Fahrtverkn¨ upfungen, die bei Umlaufplanungsproblemen zu bestimmen sind, sind hier ersichtlich:
222
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
1. Anschl¨ usse am gleichen Ort, wie die Verkn¨ upfung der Fahrten F2 und F3, wobei Ankunf tsort(F 2) = Abf ahrtsort(F 3) und Endzeit(F 2) + W endezeit(Ankunf tsort(F 2)) ≤ Startzeit(F 2) gelten 2. Verkn¨ upfungen mit Leerfahrten, wie die Verkn¨ upfung der Fahrten F1 und F2, wobei gilt Endzeit(F 1) + W endezeit(Ankunf tsort(F 1))+ Dauer(Leerf ahrt(Ankunf tsort(F 1), Abf ahrtsort(F 2))) ≤ Startzeit(F 2) Beim Umlaufplanungsproblem ( Vehicle Scheduling“, vgl. Abb. 7.2 und 7.3) ” werden also, ausgehend von einem gegebenen Fahr-/Flugplan, Uml¨aufe f¨ ur Vehicles (Umlaufplan) gebildet. Dabei sind simultan • alle Plan-Fahrten/-Fl¨ uge zu bedienen, • alle Praxis-Nebenbedingungen zu erf¨ ullen, • die Gesamtkosten zu minimieren (Optimierung). Als Kern-Entscheidungsproblem sind hier aus allen m¨oglichen Anschl¨ ussen und Leerfahrten solche als Fahrtverkn¨ upfungen in Uml¨aufen auszuw¨ahlen, dass Anzahl Vehicles (Fixkosten) sowie Kosten f¨ ur Leerfahrten (variable Kosten) minimiert werden.
7.4 Netzwerkbasierte Modellierung des Umlaufplanungsproblems Im Folgenden wird das Umlaufplanungsproblem mit Hilfe von Flussnetzwerken (vgl. Kapitel 4) modelliert. F¨ ur die Modellierung als Flussmodell stellen wir uns vor, dass Fahrzeuge in unserem Modellnetzwerk fließen“ sollen und ” dabei die Planfahrten in irgendeine Weise u ¨berdecken. Um dies zu erreichen, bietet es sich an, Planfahrten als Knoten oder Kanten darzustellen. Fahrtverkn¨ upfungen m¨ ussen auch modelliert werden, damit der Ergebnisfluss in Pfade zerlegt werden kann, die g¨ ultigen Uml¨ aufen entsprechen. Fahrtverkn¨ upfungen f¨ ur Fahrzeuge an einer Station (Vehicle-Anschl¨ usse) sind analog zu Passagieranschl¨ ussen (vgl. Abb. 7.4): Ein Passagier benutzt Teilfahrten und ein Vehicle bedient ganze (Plan-)Fahrten, wobei je zwei aufeinderfolgende (Teil-)Fahrten einen g¨ ultigen Anschluss darstellen m¨ ussen. Unter Benutzung dieser Analogie werden alle m¨oglichen Anschl¨ usse an einer Station in Abb. 7.4 mit Hilfe der bekannten weiß-grauen Ankunftspl¨ane (links) un der gelben Abfahrtspl¨ ane (rechts) der Deutschen Bahn veranschaulicht. Die dargestellten Anschl¨ usse kann man als gerichtete Kanten – von Ank¨ unften zu Abfahrten – darstellen. Auf dieser Sicht basieren klassische Netzwerkmodelle f¨ ur die Umlaufplanung, wobei Planfahrten selbst oder Planfahrtereignisse (Ank¨ unfte und Abfahrten) als Knoten dargestellt werden. Man erh¨alt Formulierungen des Umlaufplanungsproblems als Min-Cost-Flow- bzw. als Quasi” Assignment“-Problem, das dem Zuordnungsproblem (Assignment) ¨ahnlich ist. Nachdem wir die Formulierung pr¨ azisiert haben, werden durch Netzwerktrans¨ formationen die Aquivalenz dieser Sichtweisen aufzeigt.
7.4 Netzwerkbasierte Modellierung des Umlaufplanungsproblems
223
Abb. 7.4. M¨ ogliche Anschl¨ usse, Motivation Netzwerkmodell
Um das Min-Cost-Flow-Problem genauer zu betrachten und zu erkl¨aren, wird folgendes Fahrplanbeispiel betrachtet: Fahrt Ab-Ort An-Ort Ab-Zeit F1 A B 8:00 F2 C B 8:15 F3 B A 10:00 F4 C A 11:45 F5 A C 12:00
An-Zeit 9:30 9:15 11:30 12:45 13:00
Im Modellnetzwerk von Abb. 7.5 haben wird f¨ ur jede dieser f¨ unf Fahrten einen Knoten gezeichnet und zus¨ atzlich eine Quelle und eine Senke, damit der Vehicle- Fluss“ einen Ursprung und ein Ziel hat. Außerdem sind Kanten ” mehrerer Typen im Netzwerk integriert: • • • •
f¨ ur Anschl¨ usse an der gleichen Station, wie (F1,F3), (F2, F3) und (F3,F5) f¨ ur Planfahrtverkn¨ upfungen mit Leerfahrten , wie (F1,F4) und (F2,F5) von Quelle zu jeder Planfahrt, um Uml¨ aufe beginnen zu k¨onnen von jeder Planfahrt zu der Senke, um Uml¨ aufe beenden zu k¨onnen
Dabei ist zu beachten, dass z. B. keine Kante zwischen F3 und F4 vorhanden ist, da die Dauer einer n¨ otigen Leerfahrt beispielsweise zwischen A und C (die 30 min ohne Zwischenstops betr¨ agt) l¨ anger als die verf¨ ugbare Dauer zwischen Ankunftszeit von F3 und Abfahrtszeit der n¨ achsten Fahrt F4 ist. Fehlt noch etwas in diesem Flussnetzwerkmodell? Zumindest wurde vergessen, auch m¨ ogliche Leerfahrten zwischen F1 und F5 bzw. zwischen F2 und F4 zu zeichnen. Diese sind zusammen mit anderen
224
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
F4
F1
C ¡ A
A ¡ B 8:00
11:45 12:45
9:30
F3
B ¡ A
10:00 11:30 F5
F2
C ¡ B 8:15
9:15
A ¡ C
12:00 13:00
Senke
Quelle
Abb. 7.5. Beispiel Klassisches Flussmodell
fehlenden Komponenten in Abb. 7.6 integriert. Zun¨achst sind die Kosten der Leerfahrten (als variable Kosten) auf die Fahrtverkn¨ upfungskanten gesetzt. F¨ ur die Benutzung von Bussen k¨ onnen Fixkosten auf die Kanten von der Quelle, auf die Kanten zur Senke, oder jeweils zur H¨alfte auf beide Typen gesetzt werden. Eine andere M¨ oglichkeit ist es, eine neue Kante von Senke zu Quelle einzuf¨ uhren und den Fluss durch gedankliche R¨ uckf¨ uhrung zur Quelle durch das Netzwerk zirkulieren“ zu lassen. Dann kann ausschließlich auf diese ” R¨ uckkante die Fixkosten f¨ ur Busse gesetzt werden, da jede Flusseinheit durch das Netzwerk durch diese Kante fließen muss. Warum gilt diese Eigenschaft unter der Kenntnis, dass ein Fluss in einem allgemeinen Netzwerk sich sowohl in s-t-Wegefl¨ ussen (von Quelle zur Senke) als auch in Zyklusfl¨ usse dekomponieren l¨ asst? Die Antwort ist: unser Modellnetzwerk f¨ ur die Umlaufplanung ist – bedingt durch die Fortschreitung der Zeit bei Anschluss- oder Leerfahrtverkn¨ upfungen – azyklisch. Diese Eigenschaft ist entscheidend f¨ ur die L¨osung des Umlaufplanungsproblems durch ein Flussmodell. Eine ¨ahnliche Formulierung des Travelling-Salseman-Problems (TSP, vgl. Kapitel 8) zur Tourenbildung funktioniert nicht direkt, da man zus¨ atzlich Subtour-Breaking-Constraints“ ” braucht. Genau dieser Unterschied macht das Umlaufplanungsproblem in seiner Grundform im Gegensatz zum NP-harten TSP polynomiell l¨osbar. Im transformierten Netzwerk geht also jeder Zyklus notwendigerweise durch die R¨ uckkante von Senke zur Quelle und stellt somit einen Umlauf dar. So stellt z. B. der Pfad/Zyklus von/durch Quelle zu Senke (zur¨ uck) durch die Fahrten F2, F3 und F5 einen Umlauf dar. Wir sehen hier noch einmal, dass ohne Zu¨ lassung von Leerfahrten zwei weitere Vehicles zur Uberdeckung von F1 und F4 n¨ otig sind, wo hingegen diese zwei Fahrten durch eine Leerfahrtverkn¨ upfung durch ein einziges zus¨ atzliches Vehicle bedient werden k¨onnen. Seien cij die Kosten der entsprechenden Leerfahrt auf Kante (i, j) bzw. die Fixkosten f¨ ur Busse auf die (t, s)-R¨ uckkante von Senke zu Quelle. Die Variable oße auf jede Kante (i, j) des Netzwerks. Bis auf die Xij bezeichnet die Flussgr¨
7.5 Standard-Flussproblem und Netzwerktransformationen
8:00
F4
20
F1
A ¡ B
C ¡ A
11:45 12:45
30
9:30
225
0 F3
B ¡ A 15
20
10:00 11:30
20 0
10
20
30
F2
C ¡ B 10
Quelle Depot
8:15
15
0 A ¡ C
12:00 13:00
9:15
15
F5
20 15
1000
10
Senke Depot
Abb. 7.6. Beispiel Klassisches Flussmodell
Kante (t, s) ist die Flussgr¨ oße Xij = 0 oder = 1. In einer Ergebnisl¨osung bedeutet Xij = 1, dass Fahrt i direkt nach Fahrt j in einem der gebildeten Uml¨ aufe zu verkn¨ upfen ist. Die mathematische Formulierung des erhaltenen Netzwerkmodells lautet: (inklusive F ixkosten ∗ Xs,q ) min Kanten(i,j) cij Xij subject to: 0 ≤ Xij ≤ 1 f¨ ur alle Kanten (i, j) außer (s, q) ur alle Fahrt-Knoten j i∈V (j) Xij = i∈N (j) Xji = 1 f¨
wobei V (j) die Vorg¨ anger und N (j) die Nachfolger des Knotens j darstellen. Die letzte Bedingung, dass f¨ ur alle Fahrt-Knoten j: inf low(j) = outf low(j) = 1 gilt, stellt sicher, dass alle Fahrten bedient werden m¨ ussen.
7.5 Standard-Flussproblem und Netzwerktransformationen Frage: Entspricht das gebildete Netzwerkfluss-Modell im letzten Abschnitt mit der angegeben mathematischen Formulierung einem Standard-Flussproblem? Es sieht so aus, dass schon ein Min-Cost-Flow-Problem definiert wurde ..., bis auf eine Kleinigkeit, und zwar die Forderung = 1“ in der letzten Fluss” Balance-Bedingung. Die Forderung, dass jede Fahrt bedient werden muss, stellt eine Flusskapazit¨ at auf Knoten dar, die in einem Standard-Flussmodell nicht vorgesehen ist. Um Flussschranken auf Knoten zu entledigen, gibt es eine Netzwerktransformationstechnik, die bereits in Kapitel 6 behandlet wurde – Node-Splitting“. Wenn diese Technik auf das Netzwerk angewendet wird, ” erh¨ alt man das Ergebnis in Abb. 7.7. Nun besteht ein Standard-Min-Cost-Flow-Problem. Es k¨onnen aber weiter bekannte Netzwerktransformationen aus Kapitel 6 angewandt werden. Die
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
226
(1,1) F3__
F3
B ¡ A
Node Splitting
10:00 11:30
(1,1)
B ¡ A
F3
B ¡ A
10:00 11:30
10:00 11:30
Abb. 7.7. Netwerktransformation: Anwendung von Node Splitting“ ”
unteren Flussschranken kann man dadurch entledigen, dass man einen Fluss der Gr¨ oße der unteren Schranke gedanklich vorabschickt und dadurch diese Gr¨ oße bei den Angeboten/Bedarfe der Knoten (im Sinne des TransshipmentModells aus Kapitel 6) verrechnet. Nach dieser Transformation sind alle unteren Schranken gleich 0, und die neue obere Schranke einer Kante ist gleich der Differenz zwischen der urspr¨ unglichen oberen und unteren Schranke. In dem speziellen Modell sind beide (obere und untere) Flusschranken auf Node-Splitting-Fahrtkanten gleich 1, somit reduziert sich die Restschranke auf 1-1 = 0 wie in Abb. 7.8 dargestellt wird. Dabei wird ersichtlich, dass die Node-Splitting-Fahrtkanten u ussig werden, da kein Fluss auf diesen ¨berfl¨ Kanten im resultierenden Netzwerk fließt. Stattdessen sind Angebote +1 auf Fahrt-Ankunftsknoten und Bedarfe -1 auf Abfahrtsknoten entstanden.
Depot
F1
¡ B
Depot
9:30
F3__
(1,1)
B ¡ A
10:00 11:30
F3
1
B ¡ A
10:00 11:30
+1
F5
A ¡ C 12:00 13:00 B ¡ A
F2
F3
¡ B 5
Eliminiere Untere FlussSchranke
9:15
+1
10:00 11:30
8:00
1 F5
+1
A ¡ 12:00 13
F1
F1
A ¡ B
¡ B 9:30
1 F3__
0
B ¡ A
+1 F2
¡ B 5
F1
A ¡
9:15
10:00 11:30
8:00
+1
9:30
B ¡ A
10:00 11:30
1 F3__
F3
B ¡
1
+1
F5
F2 A ¡ C C ¡ B 12:00 13:00 8:15
9:15
10:00 11
1 F4__
C ¡ 11:45
Abb. 7.8. Netzwerktransformation Lower Flow Bound Elimination“ und Quasi” Assignment
Ordnet man alle Ankunftsknoten nach links und alle Abfahrtsknoten nach rechts, so erh¨ alt man quasi“ ein Zuordnungsproblem, das einem Ankunftser” eignis ein Abfahrtsereignis zuweist. Diese Formulierung des Umlaufplanungs-
7.6 Praxisanwendung – Probleme klassischer Modellierungsans¨ atze
227
problems ist in der Literatur unter den Namen Quasi-Assignment“ bekannt, ” da nicht jedem“ sondern quasi“ jedem Ankunftsereignis ein Abfahrtsereig” ” nis zugewiesen wird. Die restlichen Abfahrtsereignisse entsprechen Anf¨angen von Uml¨ aufen und die restlichen Ankunftsereignisse entsprechen Enden von Uml¨ aufen. Deswegen ist beim Quasi-Assignment noch zus¨atzlich jeder Ankunftsknoten mit einem zus¨ atzlichen Senke-Knoten verbunden, die zus¨atzliche Quelle ist mit jedem Abfahrtereignis verbunden. Beide Formulierungen des Umlaufplanungsproblem als Min-Cost-Flow und als Quasi-Assignment liefern Verfahren in etwa der gleichen Komplexit¨ atsklasse O(n3 ).
7.6 Praxisanwendung – Probleme klassischer Modellierungsans¨ atze Im DS&OR Lab wurden in den letzten Jahren mehrere Projekte mit Unternehmen des ¨ offentlichen Personenverkehrs sowie deren Dienstleistern durchgef¨ uhrt. Als Beispiel seien hier zwei Kooperationen genannt. Nach dem erfolgreichen Abschluss einer Testserie schwieriger Umlaufplanungsprobleme der Deutschen Bahn AG hat das DS&OR Lab in Zusammenarbeit mit dem Optimierungssoftwareanbieter ILOG Deutschland GmbH (http://www.ilog.de) eine Komponente f¨ ur die Umlaufoptimierung von Triebfahrzeugen und Reisezugwagen entwickelt. Neben der Planung von Instandhaltungsoperationen wird der Einsatz von Wagengruppen mit mehreren Typen und ihre Zusammensetzung in Zugverb¨ anden optimiert (vgl. [Mellouli u. Suhl 2003]). F¨ ur umfangreiche Daten der Deutschen Bahn AG konnten optimale Umlaufpl¨ ane unter Minimierung der Flottengr¨oßen und Leerfahrtskosten gebildet werden. In Zusammenarbeit mit der PTV AG (http://www.ptv.ag) werden Busumlaufplanungsprobleme mit mehreren Depots und verschiedenen Fahrzeugtypen behandelt. Das DS&OR Lab hat eine Optimierungskomponente f¨ ur diese Problemstellung entwickelt und mit umfangreichen Praxisdaten getestet. Dabei wurden Schnittstellen zu den PTV Produkten INTER-PLAN und VISUM erstellt und ein Pilotprojekt mit einem Busunternehmer in einer deutschen Großstadt durchgef¨ uhrt (vgl. [Mellouli u. Kliewer 2002], [Kliewer 2005]). Umlaufplanungsprobleme werden mit Hilfe von Flussnetzwerken mathematisch modelliert, die einen gegebenen Fahrplan erfassen. Dabei entsprechen Fl¨ usse den Fahrzeugen (Busse oder Z¨ uge bzw. Wagengruppen). Das Umlaufplanungsproblem mit mehreren Depots und Fahrzeugtypen ist komplexer: Bei der Modellierung legt man mehrere Schichten des Flussnetzwerks an, damit Fahrzeuge verschiedener Typen oder Herkunftsdepots im Flussmodell nicht ”vermischt”werden (siehe Abb. 7.9). Nichtflussrestriktionen (Summe der Yit ’s ur die m¨ ogliche Bedienung der Fahrt i mit = 1, wobei Yit den Flusswert f¨ Vehicle-Typ t bezeichnet) sorgen daf¨ ur, dass Fahrten von exakt einer Schicht u ¨berdeckt“ werden. ”
228
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
Abb. 7.9. Multi-Layer-Flussnetzwerk
Die daraus resultierenden mathematischen Modelle k¨onnen von der einen Seite nicht mehr mit herk¨ ommlichen Netzwerkflussalgorithmen aus Kapitel 6 gel¨ost werden. Von der anderen Seite entstehen unter Benutzung der klassischen Netzwerkmodelle aus dem letzten Abschnitt f¨ ur praktische Problemstellungen mit mehreren Tausend Fahrten und mehreren Wagentypen bzw. Depots sehr große mathematische Modelle, die nicht direkt mit Hilfe heutiger mathematischer Optimierer gel¨ ost werden k¨ onnen. Das entscheidende Problem hierbei liegt darin, dass klassische Netzwerkmodelle einen quadratischen Anstieg von Kanten f¨ ur potenzielle Leerfahrten verursachen, die in Erweiterungen, wie dem Multi-Layer-Netzwerkflussmodell zur L¨osung von Multi-Wagentypen oder Multi-Depot-Problemen, noch st¨ arker ausfallen. Im n¨achsten Abschnitt stellen wir eine neue optimalit¨ atserhaltende Aggregation potentieller Leerfahrten vor, die in Projekten des DS&OR Lab erfolgreich eingesetzt wurde. Diese Aggregation erm¨ oglicht es, große Praxismodelle optimal direkt mit Hilfe vorhandener State-of-the-Art-Optimierer zu l¨ osen. Bevor das neue Modell dargestellt wird, wird anhand einer Flotte aus der Praxis aufgezeigt, wie die Rechenergebnisse aus der Umlaufplanung f¨ ur die Entscheidungsunterst¨ utzung herangezogen werden k¨onnen. Variiert man in einer What-If-Analyse die Fixkosten f¨ ur Vehicles und/oder schr¨ankt man deren Anzahl im Modell ein, so erh¨ alt man beispielsweise eine Vergleichsanalyse wie in der Grafik von Abb. 7.10. Hier sieht man, dass das tats¨achliche Kostenminimum mit den realen Fixkosten (58 Vehicles) nicht unbedingt mit einer L¨osung minimaler Flottengr¨ oße (53 Vehicles) u ¨bereinstimmt, da die Kosten f¨ ur Leerfahrten sehr hoch werden. Nach unserer Erfahrung kann mit manueller Planung wegen der extrem hohen Anzahl der Varianten f¨ ur die Bildung von Uml¨ aufen nur eine sub-optimale L¨ osungen erreicht werden (in diesem Praxisfall um mehrere Vehicles).
7.7 Aggregiertes Netzwerkflussmodell ¨ Das Produkt Fahrt“ oder Flug“ im OPV ist ein Transportleistungsangebot ” ” mit festgelegten Abfahrts-/Ankunftszeiten und -orten, die die Verf¨ ugbarkeit
7.7 Aggregiertes Netzwerkflussmodell
229
400
variable Kosten Leerfahrten
Kostenfunktion (in Tausend)
350
Fixkosten für zusätzliche Lokokotiven Lokomotiven
300
250
200
Aktueller Einsatz Kostenminimum
150
100
50
0 53 54 56 58 60 61 62 63 64 65 66 67 69 70 71 74 75 77 78 79 80 81 82
Anzahl Lokomotiven
Abb. 7.10. What-If-Analyse Umlaufplanung in der Praxis
der (beweglichen) Ressourcen – in Zeit und Ort – bestimmen und ver¨ andern. Die Kernprobleme der Ressourceneinsatzplanung im ¨ offentlichen Personenverkehr, n¨ amlich die Planung von Uml¨ aufen f¨ ur Transportmittel und von Diensteins¨ atzen f¨ ur Crews, weisen somit eine spezielle Struktur auf, die mit zeitlichen und ¨ ortlichen Faktoren eng zusammenh¨ angt. Eine eingehende mathematische Analyse dieser speziellen Struktur und eine diese Struktur ausnutzende Modellierung der Produktionsplanungsprozesse im ¨ offentlichen Verkehr bringt einen entscheidenden Vorsprung bei der effizienten L¨ osung von Problemen praktischer Komplexit¨ at und Gr¨ oße mit Hilfe mathematischer StandardOptimierungssoftware. Dies gilt auch im Bereich des Operations Control, um z. B. sehr effiziente Verfahren f¨ ur die Berechnung der netzweiten Auswirkung von Versp¨ atungen und zeitlichen Anschlussverschiebungen auf Passagierrouten zu entwickeln (vgl. [Mellouli 2003]). 7.7.1 Netzwerkflussmodell mit Anschlusslinien In der Tat kann man in der folgenden Abb. 7.11 erkennen, dass man den Zeit-Faktor“ gut ausnutzen kann. Alle Anschl¨ usse von Abb. 7.4 kann man ” mit Hife der Einf¨ uhrung einer sogenannten Anschlusslinie (connection line), die aus Wartekanten (waiting arcs) in die Richtung fortschreitender Zeit besteht, nur noch mit linear vielen Kanten darstellen. Beispielsweise l¨ asst sich der Anschluss von Fahrt Bitterfeld → Halle (15:00) nach Fahrt Halle (15:22) → Leinefelde indirekt u ¨ber acht Wartekanten innerhalb der Anschlusslinie von Halle (Saale) erreichen. Die Idee (vgl. Abb. 7.11) besteht darin, dass zun¨ achst ein Knoten f¨ ur jede Ankunft und ein Knoten f¨ ur jede Abfahrt in einer gedanklichen Anschlusslinie chronologisch sortiert (hier von oben nach unten) und mit Wartekanten verbunden wird. Jeder Ankunftsknoten ist mit jedem
230
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung Zeit
15:00
15:10
15:20
Abb. 7.11. Anschlusslinie – Connection Line
zeitlich n¨ achsten Abfahrtsknoten u ¨ber eine oder mehrere Wartekanten erreichbar, so dass die Direktverbindungen, vgl. Abb. 7.4, nicht explizit als Kanten dargestellt werden m¨ ussen. Anwendung findet hier eine sch¨ one Netzwerktransformation, die in Kapitel 6 nicht vorgestellt wurde, aber recht allgemein verwendbar ist: die sogenannte Node Consolidation: Haben zusammenh¨ angende Knoten nur eingehende Kan-
Zeit
15:00
15:10
15:20
Abb. 7.12. Node Consolidation in Anschlusslinien
ten, so dass der Fluss bis zu einem dieser Knoten gesammelt“ wird (ohne ” einschr¨ ankenden Flusskapazit¨ aten), k¨ onnen diese Knoten zusammenschrump-
7.7 Aggregiertes Netzwerkflussmodell
231
fen. Das gleiche gilt, wenn zusammenh¨ angende Knoten nur eingehende Kanten haben, so dass der Fluss von einem dieser Knoten stammt bzw. durch einen Knoten fließt und verteilt wird. Bei dem vorliegenden Netzwerkmodell kann man somit beide Arten der Node Consolidation“ bei jedem Block ” ankommender Fahrten und dem n¨ achsten Block startender Fahrten simultan durchf¨ uhren, d. h., f¨ ur diese beiden Bl¨ ocke wird nur noch ein Knoten im Flussmodell ben¨ otigt (vgl. Abb. 7.12). Um ein Gesamtbild u ¨ber das resultierende Netzwerkflussmodell zu gewinnen, wurden in Abb. 7.13 mehrere zusammenh¨ angende Connection Lines f¨ ur mehrere Stationen eingezeichnet, wobei die dritte Anschlusslinie von Halle (Saale) der von Abb. 7.11-7.12 entspricht und nun waagerecht gezeichnet ist. Bei diesem Netzwerkmodell werden also Planfahrten als Kanten dargestellt und Knoten entsprechen Zeitpunkten in Stationen, die durch die Knotenkonsolidierung f¨ ur jede Station berechnet worden sind.
Dresden
Bitterfeld 14:35
Halle(Saale) 15:00
Fluss-Balance-Gleichung bei jedem Knoten
Leinefelde
15:22
17:50
Lineare Anzahl von Kanten und Knoten !!
Abb. 7.13. Netzwerkflussmodell mit Anschlusslinien
7.7.2 Neue Aggregationsmethode f¨ ur potentielle Leerfahrten Im Netzwerk mit den Anschlusslinien f¨ ur jede Station k¨onnen Umlaufplanungsprobleme ohne Leerfahrten sehr effizient behandelt werden; in ihrer Grundform sind sie sogar in linearer Zeit l¨ osbar. Die minimale Anzahl der erforderlichen Vehicles l¨ asst sich dabei analytisch in einer geschlossenen Formel aus diesem Netzwerkflussmodell herleiten (vgl. [Mellouli 2003]). Will man – wie im letzten Abschnitt erl¨ autert – Umlaufplanungsprobleme unter Praxisbedingungen l¨ osen, so eignet sich dieses Netzwerk aufgrund seiner linearen Anzahl von Kanten und Knoten hervorragend f¨ ur Erweiterungen (etwa als mehrschichtiges Netzwerkflussmodell (multi layer)), die f¨ ur Praxisproblemstellungen l¨ osbar bleiben. Erste Erkenntnisse mit der Effizienz solcher
232
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
Erweiterungen bietet ein zustandsexpandiertes Flussnetzwerk f¨ ur das Umlaufplanungsproblem f¨ ur Bahn- und Flugverkehr unter Beachtung periodisch wiederkehrender Instandhaltungsereignisse (vgl. [Mellouli 2000]). Bei den im letzten Abschnitt angesprochenen Projekten handelt es sich aber um Umlaufplanungsprobleme mit Leerfahrten. Benutzt man das Netzwerkflussmodell mit Anschlusslinien, hat man zwar eine lineare Anzahl von Kanten f¨ ur Anschl¨ usse an Stationen, aber immer noch einen quadratischen Anstieg potentieller Leerfahrten zwischen verschiedenen Stationen. Um die resultierenN Planfahrten Andere Endhaltestellen
Zeit O(N2)
Matches 15:00
15:10
15:20
Abb. 7.14. Netzwerkflussmodell mit Anschlusslinien: Zwischenbilanz
den gemischt-ganzzahligen Netzwerkmodelle bei Praxisprojekten der Autoren mit heutiger Optimierungssoftware direkt l¨ osen zu k¨onnen, wurde eine neue hierf¨ ur entscheidende optimalit¨ atserhaltende Aggregationsmethode der Fl¨ usse auf Leerfahrten entwickelt. Dabei wird die quadratische Anzahl potentieller Leerfahrts-Verbindungen (Matches) zwischen Planfahrten wie folgt drastisch in zwei Aggregationsstufen reduziert (vgl. Abb. 7.15): Aggregation 1. Stufe: F¨ ur jede in Station k’ ankommende Planfahrt i werden in allen anderen Stationen k = k jeweils die ersten mit i kompatiblen abfahrenden Planfahrten berechnet. Diese Fahrten nennen wir first-match(i,k). Integriert man im obigen Netzwerk neue Kanten nur f¨ ur First-Matches, deren Anzahl viel kleiner als die der m¨ oglichen Verbindungen (Matches) ist (siehe gerechnete Zahlen f¨ ur DB- und Busfahrpl¨ ane in Abb. 7.15), so bleiben dennoch alle m¨ oglichen Verbindungen erhalten. Jede zu einer Planfahrt i kompatible Planfahrt j ist nun u ¨ber den first-match(i, Startstation(j)) – eventuell u ¨ber Wartekanten in Startstation(j) – im Modellnetzwerk erreichbar.
7.7 Aggregiertes Netzwerkflussmodell 2.047 Fahrten 21 Stationen Bus Stadt Halle Bus: DB:
12.854 111.942
Matches
First-Matches
S Ank
K Abf
7.666 Fahrten 30 Stationen
Ausmaß der Aggregation
649.525 5.168.286
S Ank
233
DB-Flotte
4.657 25.518 Latest-First-Matches K Abf
S Ank
K Abf
15:00
15:00
15:00
15:00
15:00
15:00
15:30
15:30
15:30
15:30
15:30
15:30
16:00
16:00
16:00
16:00
16:00
16:00
16:30
16:30
16:30
16:30
16:30
16:30
Abb. 7.15. Aggregation der Leerfahrten mittels Latest-First-Matches
Aggregation 2. Stufe: Zu jedem Paar von Stationen k’ und k (k = k ) betrachten wir alle first-match(i,k) f¨ ur alle in Station k’ ankommenden Fahrten i. Falls first-match(i,k) = first-match(i’,k) ist, wobei i’ die direkt nach i in k’ ankommende Planfahrt bezeichnet, so wird der first-match(i,k) als ein LatestFirst-Match bezeichnet. Integriert man im obigen Netzwerk neue Kanten nur f¨ ur Latest-First-Matches, so bleiben alle m¨ oglichen Verbindungen weiterhin erhalten. Jede zu einer Planfahrt i kompatible Planfahrt j ist nun u ¨ber einen Latest-First-Match zur Startstation(j) und eventuell u ¨ber Wartekanten in einer oder beiden Anschlusslinien erreichbar. Betrachtet man alle Matches zwischen endenden Planfahrten einer Station k’ und startenden Planfahrten einer Station k (zeitlich sortiert), dann stellt man fest, dass nur jeweils die erste Verbindung (First-Match) gebraucht wird, falls ¨ die Warte-Kanten in Station k eingef¨ uhrt werden. Uber alle First-Matches braucht man nur die jeweils letzten darzustellen, da auch u ¨ber Warte-Kanten der Station k’ (neben denen von k ) alle Matches erreicht werden k¨onnen. Diese Aggregationsmethode wurde in [Mellouli 2003] entwickelt und eingehend untersucht. F¨ ur das grundlegende Busumlaufplanungsproblem wurde eine neue Worst-Case-Komplexit¨ at errechnet, und zwar O(N 2 ∗ (K + logN )) im Gegensatz zur bestbekannten Schranke von O(n3 ) unter Benutzung klassischer Netzwerke vom vorigen Kapitel, wobei K Anzahl der Stationen und N Anzahl der Fahrten ist. Man beachte, dass logN kleiner als 10 f¨ ur N = 10.000 ist und dass die Anzahl von Fahrten N um ein Hundertfaches gr¨oßer als Anzahl Stationen K f¨ ur Fahrpl¨ ane der Praxis dieser Gr¨oßenordnung ist. Das Netzwerk hat h¨ ochstens O(K ∗ N ) Knoten, und die geschickte Berechnung von Latest-First-Matches verl¨ auft in O(K ∗ N ).
234
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
Dass diese Worst-Case-Behandlung nicht einmal das volle Ausmaß der Reduktion der Anzahl der Kanten ber¨ ucksichtigt, zeigen die Zahlenbeispiele in Abb. 7.15. Rechenergebnisse zeigen, dass etwa 5 Millionen Matches mit Hilfe von nur 25.000 Latest-First-Matches aggregiert dargestellt werden k¨onnen.
7.8 Umsetzung mit Optimierungssoftware in der Praxis 7.8.1 Realisierung und Rechenergebnisse Zur softwaregest¨ uzten L¨ osung von Praxisproblemen auf Basis des vorgestellten Modells unter Ausnutzung der Technologie der netwerkbasierten mathematischen Programmierung sind mehrere Schritte notwendig, die in Abb. 7.16 aufgezeigt werden: • Aufbereitung der Daten: Gem¨ aß der Aufgabenstellung (Umlaufplanung) werden n¨ otige Eingabedaten (Fahrplan mit Angaben zu den Leerfahrtskosten, Depots und Vehicle-Typen) eingelesen und aufbereitet. • Bildung des Netzwerkmodells: F¨ ur jeden Vehicle-Typ (bzw. f¨ ur jedes Paar Depot-Bustyp) werden die Latest-First-Matches f¨ ur den gegebenen Fahrplan berechnet, wobei nur die mit dem jeweiligen Vehicle-Typ bedienbaren Fahrten ber¨ ucksichtigt werden. Daraus werden die Netzwerkschichten f¨ ur die verschiedenen Vehicle-Typen gebildet. ¨ • Erstellung des mathematischen Modells und Ubergabe an eine Optimierungssoftware: Das aus dem Multi-Layer-Flussnetzwerk resultierende mathematische Modell wird an eine Optimierungssoftware u ¨bergeben. Dies kann z. B. u ur ¨ber eine DLL-Schnittstelle geschehen (s. Abschnitt 3.4.4). F¨ Flussmodelle wird f¨ ur jede Kante eine (Fluss-)Variable und f¨ ur jeden Knoten eine Balance-Restriktion (Inflow=Outflow) deklariert. Die Nicht-NullElemente der entsprechenden Modellmatrix kann spaltenweise u ¨bergeben werden (s. Abschnitt 6.8.4). • Aufbereitung der berechneten L¨ osung f¨ ur den Planer: Das resultierende mathematische Modell wird dann mit Hilfe eines Standard-Optmierers der mathematischen linearen gemischt-ganzzahligen Programmierung gel¨ost. Dabei wird auf State-of-the-Art-Optimierer, wie z. B. MOPS und ILOG CPLEX, zur¨ uckgegriffen, die sehr große Modelle l¨osen k¨onnen. Aus der berechneten optimalen L¨ osung wird ein Umlaufplan extrahiert, der dem Planer grafisch zur weiteren Verarbeitung zur Verf¨ ugung gestellt wird. In den schon erw¨ ahnten Projekten des DS&OR Lab bei Bahn- und Busunternehmen wurde gezeigt, dass mit Hilfe der aggregierten Flussformulierung sehr große Modelle mit hunderttausenden Variablen aus der Praxis direkt mit Hilfe von Standard-Optimierungssoftware in annehmbarer Zeit gel¨ost werden k¨onnen (vgl. auch Abb. 7.16). Weitere Ergebnisse zur L¨osung von Umlaufplanungsproblemen im Bahnverkehr mit mehreren Typen von Wagengruppen
7.8 Umsetzung mit Optimierungssoftware in der Praxis
235
y1
12 2.047 Fahrten 21 Stationen
y0
Matches: ~ 5 Mio. LFM: ~ 56.000
4 Depots 3 Bustypen
29.000 Restriktionen 118.500 Variablen 250.500 Nonzeros
math. Modell
9 min MOPS 4-6 min CPLEX Optimierer
Ergebnis der Aggregation: • Schnelle LP-Lösungszeit • kleiner LP/IP-Gap
115
Abb. 7.16. Rechenergebnisse Stadt Halle (Saale)
unter Ber¨ ucksichtigung gemeinsamer Wagenkapazit¨ aten werden in [Mellouli u. Suhl 2005] pr¨ asentiert. Eine Weiterentwicklung des Netzwerkflussmodells f¨ ur Umlaufplanungsprobleme im Busverkehr mit neueren Rechenergebnissen wird in [Kliewer 2005] vorgestellt. 7.8.2 Kombination Heuristik/mathematische Optimierung In der Praxis werden Optmierungssysteme u.a. f¨ ur What-If-Analysen verwendet (vgl. Abb. 7.10). In diesem Fall sind kurze Antwortzeiten auch f¨ ur große Modelle erw¨ unscht. Ferner k¨onnen sehr große praktische Probleminstanzen auftreten, die nicht in annehmbarer Zeit optimal gel¨ ost werden k¨ onnen. Eine interessante Frage lautet daher: Wie kann man solche großen Modelle schnell und dennoch praktisch optimal“ l¨osen, ohne auf v¨ ollig heuristische ” Verfahren zur¨ uckgreifen zu m¨ ussen? Zur Beantwortung dieser Frage werden Erfahrungen beim Einsatz des vorgestellten Netzwerkflussmodells an einem Mehrdepot-Busumlaufplanungsproblem einer Deutschen Großstadt mit 3.776 Fahrten und 6 Depots (s. [Mellouli u. Kliewer 2002]) herangezogen. Bei den ersten Experimenten dauerte die exakte optimale L¨osung der resultiernden Modellinstanz 2 Std. 55 min mit dem MOPS-Solver. Eine Analyse zeigte, dass die L¨osungszeit f¨ ur den gleichen Fahrplan mit abnehmender Anzahl betrachteter Depots stark abnimmt: F¨ ur 5 Depots 1 Std. 13 min L¨osungszeit, f¨ ur 4 Depots 50 min, ... und f¨ ur 1 Depot weniger als eine Minute. Die praktische Erfahrung zeigt, dass im Busverkehr Fahrtpaare vorkommen, die fast in jeder optimalen L¨osung nacheinander in einem Umlauf vorzufinden sind. Dies wurde in der folgenden verallgemeinernden Heuristik ausgenutzt:
236
¨ 7 Fallstudie Transportlogistik im OPV: Modellierung und Optimierung
• Man l¨ ose zun¨ achst 6 Ein-Depot-Probleme f¨ ur jedes der gegebenen Depots. • Die resultierenden Umlaufpl¨ ane untersucht man auf stabile Fahrtketten. Eine stabile Fahrtkette bezeichnet eine Folge von Fahrten, die in jedem der Umlaufpl¨ ane – egal, welches Depot angenommen wird – in einem Umlauf nacheinander bedient werden. • F¨ ur die L¨ osung des eigentlichen 6-Depot-Problems werden statt der urspr¨ unglichen 3.776 Fahrten die resultierenden 1.211 Fahrtketten benutzt. Ein derart modifiziertes Mehrdepot-Modell wird in nur 3 min gel¨ost. Mit dieser Vorgehensweise wird in insgesamt 7 min (statt etwa 3 Std.) Rechenzeit ein Ergebnis erzielt, das nur 0,06% mehr operative Kosten aufweist.
7.9 Was sollte ich gelernt haben? ¨ Produktionsplanung im OPV ¨ Welche Schritte geh¨ oren zur Produktionsplanung und -steuerung im OPV? Das Umlaufplanungsproblem ¨ Was versteht man unter dem Umlaufplanungsproblem im OPV? Wie wird das Problem als klassisches Flussmodell formuliert? Was stellen die Kanten und Knoten dar? Netzwerktransformationen Welche Netzwerktransformationen werden am Flussmodell f¨ ur das Umlaufproblem vorgenommen? Warum? Leerfahrten ¨ Was sind Leerfahrten im OPV? Warum ist ihre Durchf¨ uhrung betriebswirtschaftlich relevant? Wie groß ist die Anzahl potenzieller Leerfahrten bei angegebener Anzahl der Planfahrten und Stationen? Aggregiertes Netzwerkflussmodell Wie lautet die Idee • des aggregierten Flussmodells f¨ ur Umlauplanung ohne Leerfahrten? • der Reduktion der Anzahl Kanten durch Aggregation der Leerfahrten mittels Bildung von Latest-First-Matches? Wie verh¨ alt sich die Modellgr¨ oße im Vergleich zum klassischen Modell? Und die L¨ osungszeit?
8 Touren- und Standortplanung
Lernziele: • • • • •
Basisprobleme der Tourenplanung Das Travelling-Salesman-Problem Er¨ offnungs- und Verbesserungsverfahren Dynamische Tourenplanung Das Warehouse-Location-Problem
Online-Lernmodule: • Tourenplanung: Einf¨ uhrung in die Problematik • Das Travelling-Salesman-Problem: Mathematische Modellierung und exakte Verfahren • Heuristische Verfahren f¨ ur die Tourenplanung • Standortbestimmung • ADD- und DROP-Algorithmus http://www.vorms.org
8.1 Motivation – Transportlogistik im Gu ¨terverkehr Im letzten Kapitel wurde die netzwerkbasierte Modellierung und Optimierung anhand einer Fallstudie im Bereich der Transportlogistik im Personenverkehr aufgezeigt. Dieses Kapitel behandelt den klassischen Bereich der Transportlogistik im G¨ uterverkehr, insbesondere Standort- und Tourenplanungsprobleme. Die in Kapitel 6 behandelten Transport-, Distributions- und Umladeprobleme (Transshipmentprobleme) geh¨ oren auch dem Bereich der Transportlogistik im
238
8 Touren- und Standortplanung
G¨ uterverkehr an, da G¨ utermengen als Flussmengen modelliert werden und so optimale Distributionspl¨ ane von Werken/L¨ agern zu Kunden ermittelt werden k¨onnen. Zwei wichtige Aspekte der Transportlogistik im G¨ uterbereich werden bei diesen Modellen noch nicht abgebilet, wenn man beispielsweise den G¨ uterverkehr per LKW betrachtet und die M¨oglichkeit der Errichtung von Lagerstandorten in der N¨ ahe von Kunden betrachtet: • LKWs haben eine bestimmte Aufnahmekapazit¨at und Fahrer unterliegen bestimmten Arbeitszeitregeln, so ist es sinnvoll bei gegebenen Bedarfsmengen der Kunden nicht wie beim Transportproblem jeden Kunden direkt aus dem Werk/Lager jeweils in einer Pendeltour zu bedienen, sondern zu versuchen, Kundenauftr¨ age in Touren zusammenzufassen, so dass die gesamten operativen Kosten minimiert werden. • Falls bei der Gewinnung neuer Kunden, die Wege von Werken/L¨agern zu Kunden lang werden, so entstehen erhebliche operative Kosten bei der Durchf¨ uhrung von Transporten mittels langer Touren. Hier kann die Errichtung neuer Standorte von Lagern f¨ ur einen Unternehmen sinnvoll sein. Auch bei neuen Unternehmen besteht ein Problem der Bestimmung g¨ unstiger Standorte zu den anvisierten Kundenkreisen. Bei der mathematischen netzwerkbasierten Modellierung der Touren- und Standortplanungsproblemen werden Kenntnisse aus Kapitel 4 und 6 anwandt und vertieft. Beispielsweise ist die Modellierung des grundlegenden Warehouse-Location-Problem der Standortplanung eine Erweiterung des Transportproblems um die Einf¨ uhrung von 0/1-Indikatorvariablen, deren Zusammenspiel mit kontinuierlichen Variablen (hier f¨ ur G¨ utermengen) bei den Modellierungstechniken von Kapitel 4 behandelt wurden. Bei dem grundlegenden Traveling-Salesman-Problem der Tourenplanung werden a ¨hnliche Netwerkflussmodelle als im letzten Kapitel angewandt, da hier aus dem Depot Kunden statt Fahrten bedient werden, die wegen der fehlenden Zeitkomponente bei Kunden erweitert werden m¨ ussen, um g¨ ultige Touren aus der L¨ osung des mathematischen Modells extrahieren zu k¨onnen. Die Verwandschaft zwischen den beiden Probleme Umalufplanung (vehicle scheduling) und Tourenplanung (vehicle routing) wird in Abb. 8.1 illustriert. Da die L¨ osbarkeit der mathematischen Modelle f¨ ur Touren- und Standortplanungsproblemen bei praktischen Problemgr¨ oßen eingeschr¨ankt ist, werden in diesem Kapitel auch grundlegende heuristische Verfahren behandelt, n¨amlich Savings- und Sweep-Verfahren sowie 2-opt-Verbesserungsverfahren f¨ ur Tourenplanungsprobleme und ADD- und DROP-Verfahren f¨ ur Standortplanungsprobleme.
8.2 Basisprobleme der Tourenplanung Bei Tourenplanungsproblemen handelt es sich um Kunden, deren Bedarfe und Standorte bekannt sind und die mit einer gegeben Flotte von Fahrzeugen
8.2 Basisprobleme der Tourenplanung
+2
North
C4
+2
C
T2
T1
9:00
B
B
100
C3 50
A ...
+1
90
8:00
Depot
70
70 80
+1
60
C1
100
40
...
30
T3
East
50
Depot
T4
60
C6 +1
+1
C 11:00
B 40
60
10:00
B
C
C2
239
T5
50
C5
C
...
Depot
B
C
12:00 T6
A 13:00 Time
Vehicle Routing Problem: - Customers C1, C2, …, C5 with demands - All connections allowed (no time constraints) Solution with two vehicle tours (max. capacity = 5): 1. DepotC2C5C6C3Depot 2. DepotC4C1 Depot
Vehicle Scheduling Problem: - Trips T1, T2, …, T6 to be covered once - Some links not allowed (fixed service time for trips) Solution with two vehicle rotations: 1. DepotT1T4T6Depot 2. DepotT2T3T5Depot
Abb. 8.1. Vehicle Routing versus Vehicle Scheduling Problem [Mellouli 2003]
(z. B. LKW) mit bestimmten Kapazit¨ aten von einem Depot (z. B. Lager) aus beliefert werden sollen. Welche Fahrten sind durchzuf¨ uhren, damit unter Einhaltung der Nebenbedingungen (z. B. Kapazit¨ats- und Zeitrestriktionen) die Gesamttransportkosten minimiert werden? Beispiel: Tourenplanung In Abb. 8.1 (vehicle routing) ist ein Beispiel eines Tourenplanungsproblems angegeben. Dabei werden aus einem Depot 6 Kunden C1, .. , C6 mit den angegebenen Bedarfen auf den entsprechenden Knoten. Nimmt man eine maximale Kapazit¨ at eines LKWs mit 5 ME an, so ist der angegeben Tourenplan mit zwei Touren: T1: Depot-C2-C5-C6C3-Depot und T2: Depot-C4-C1-Depot optimal. Das Tourenplanungsproblem ist im Allgemeinen sehr schwierig und wird in der Praxis durch Heuristiken gel¨ ost. Es beinhaltet als Spezialfall das TravellingSalesman-Problem (TSP), das auch schon zu den schwierigsten Problemen u ort. Wenn beim Travelling-Salesman-Problem eine Tour u ¨berhaupt geh¨ ¨ber alle Knoten konstruiert werden soll (wobei es grunds¨atzlich egal ist, in welchem Knoten man anf¨ angt), k¨ onnen bei der Tourenplanung mehrere Touren entstehen, weil die Kapazit¨ at eines Transportfahrzeuges nicht reicht, um alle Kunden innerhalb einer Tour zu bedienen.
240
8 Touren- und Standortplanung
Das Travelling-Salesman-Problem Im Folgenden wird zun¨ achst das Travelling-Salesman-Problem besprochen, um dann das schwierigere Tourenplanungsproblem mit unterschiedlichen Varianten vorzustellen. In 5.3.1 wurde sich bei der Behandlung vom Backtracking-Verfahren mit der Ermittlung von Hamilton-Kreisen besch¨ aftigt. Diese sind Rundreisen in einem Graphen, wobei jeder Knoten genau einmal besucht wird. Unser Reiseveranstalter m¨ ochte nun eine Rundreise bestimmen, deren Gesamtkosten minimal sind. Dabei hat er schon f¨ ur alle zul¨assigen St¨adteverbindungen zwischen seinen n St¨ adten jeweils die Kosten vorab kalkuliert. Ein Handlungsreisender, der Kunden in n verschiedenen Orten besuchen will, h¨atte das gleiche Problem. Sp¨ater hat man bei verallgemeinerten Versionen des Vehicle Routing mit verschiedenartigen Knoten zu tun, n¨ amlich Depot oder Lager von der einen und Kunden von der anderen Seite. Weil hier nur ein Handlungsreisender die Rundreise durchf¨ uhrt, ist es unerheblich, wo das Depot“ (hier Anfangsknoten) ” liegt, da eine Rundreise alle Knoten gleichermaßen behandelt. TSP (allgemeine Formulierung): Ein gerichteter stark zusammenh¨ angender Graph G = (N, A) ist gegeben. N ist die Menge der Knoten 1,2, ..., n (Knoten ≡ Stadt) und A ist die Menge der gerichteten Kanten (≡ St¨ adteverbindungen), wobei jeder Kante (i,j) Kosten cij zugeordnet werden. Gesucht ist ein gerichteter Hamilton-Kreis (Hamilton-Zyklus, cij . vgl. 5.3.1) Z von G mit minimalen Gesamtkosten c(Z) := (i,j)∈Z
TSP, bei denen der Graph G symmetrisch ist und f¨ ur alle (i, j) ∈ A: cij = cji gilt, heißen symmetrisch, sonst asymmetrisch. Symmetrische TSP bilden somit eine wichtige Klasse von TSP und lassen sich auch auf ungerichteten Graphen definieren. F¨ ur sie gibt es in der Literatur weiter spezialisierte Verfahren. Es sei hier bemerkt, dass das TSP ein in OR und Informatik sehr intensiv studiertes Problem ist, da seine Darstellung einfach ist, es aber eine gute Mischung von harten“ Eigenschaften aufweist. Sehr viele L¨ osungstechniken wurden in den ” letzten Jahrzehnten in Forschungsarbeiten entwickelt und anhand des TSP erprobt. Bemerkung: In manchen praktischen Anwendungen des TSP hat man mit einem Straßennetz (Graph) zu tun, bei dem ein Knoten der Ausgangspunkt ist (z. B. Depot/Lager) und weitere n – 1 Knoten (Kunden/Kaufh¨auser), die evtl. durch einen Lkw beliefert werden sollen. Es kann passieren, dass eine optimale Rundreise (Tour) einen Knoten im Straßennetz mehrmals durchkreuzt. D. h. bei praktischen Problemen wird oftmals nur verlangt, dass bestimmte Knoten des Netzes (Lager und Kunden) mindestens einmal in einem geschlossenen nicht unbedingt elementaren Weg enthalten sind. Frage: Wie k¨ onnen wir diese Probleme mit Hilfe des oben definierten TSP bearbeiten?
8.2 Basisprobleme der Tourenplanung
241
Antwort: Wir definieren einen Graphen, der nur das Lager und die Kunden als Knoten hat, dann f¨ ugen wir jeweils eine Kante (i, j) f¨ ur jedes Paar dieser Knourzeste Entfernung von i nach j im urspr¨ unglichen ten ein, deren Kosten cij = k¨ Graphen (Straßennetz) ist. Wir erhalten somit einen vollst¨andigen Graphen. Nach der L¨ osung des TSP auf diesem Hilfsgraphen wird dann die praktische Rundreise des Lkw durch Ersetzen jeder Kante (i, j) durch einen bekannten k¨ urzesten Weg von i nach j im Straßennetz gebildet (vgl. k¨ urzeste-WegeVerfahren in Kapitel 6). Standardprobleme der Tourenplanung Die sogenannten Standardprobleme“ der Tourenplanung modellieren klar de” finierte Basisvarianten des Tourenplanungsproblems, womit sich viele Forscher in den letzten Jahrzehnten besch¨ aftigt haben [vgl. Domschke 1997]. Auch wenn Praxisprobleme selten diese relativ einfache Form besitzen, muss man sie kennen, um auf der Basis spezielle Methoden f¨ ur den Praxisbedarf ableiten zu k¨ onnen. Es handelt sich um Kunden, deren Bedarfe und Standorte bekannt sind und die mit einer gegebenen Flotte von identischen Fahrzeugen mit bestimmten Kapazit¨ aten von einem Depot aus beliefert werden sollen. Es soll bestimmt werden, welche Fahrten durchzuf¨ uhren sind, damit unter Einhaltung der Nebenbedingungen (z. B. Kapazit¨ ats- und Zeitrestriktionen) die Gesamttransportkosten minimiert werden? Dabei werden die folgenden Begriffe genutzt: • Depot: Der Ort, an dem Auslieferungsfahrten, Sammelfahrten etc. beginnen und enden. Im Eindepotproblem wird im Folgenden das Depot mit der Nummer 0 bezeichnet; die zu bedienenden Kunden mit 1,2,3,...,n. • Tour: Die Menge aller Kunden, die auf ein und derselben, in einem Depot beginnenden und in einem Depot endenden Fahrt bedient werden. • Route: Die Reihenfolge, in der die Kunden einer Tour zu bedienen sind. • Tourenplan: Eine zul¨ assige L¨ osung eines Tourenplanungsproblems, d. h. einer Menge von Touren und zugeh¨ origen Routen, die alle Bedingungen des betrachteten Problems erf¨ ullen. Bei der Tourenplanung (Vehicle Routing) handelt es sich prim¨ar um ein spatiales Problem, weil Orte die dominierende Rolle spielen. Keine temporalen oder andersartigen Restriktionen beeinflussen die Routenbildung. Eine Ausnahme sind solche Restriktionen, die die L¨ ange einer Route restringieren: Kei¨ ne Uberschreitung einer maximalen L¨ ange erlaubt. Der gleiche Effekt wird durch eine maximal m¨ ogliche Fahrzeit des Vehikels, meistens bedingt durch Fahrerarbeitszeit, erzielt. Manchmal schr¨ ankt die Kapazit¨at des Lkw die Anzahl der besuchten Knoten und somit auch die Routenl¨ange ein.
242
8 Touren- und Standortplanung
Im Kontrast zu Vehicle Routing m¨ ussen Routen bei Vehicle-SchedulingProblemen im Bereich des ¨ offentlichen Verkehrs sowohl spatiale als auch temporale Aspekte ber¨ ucksichtigen (s. letztes Kapitel). Im Folgenden werden die Charakteristika des Standardproblems der Tourenplanung zusammengefasst: Ein Standardproblem der Tourenplanung • Innerhalb einer Periode (z. B. eines Arbeitstages oder einer Schicht) sind Kunden von einem Depot aus zu bedienen (zu beliefern oder zu entsorgen). • Die Standorte des Depots und der Kunden sind bekannt. urzesten • Die (n + 1) × (n + 1)-Entfernungsmatrix D = (dij ), d. h. die k¨ Entfernungen zwischen den Kunden sowie zwischen dem Depot und den Kunden, sind bekannt. • Annahme: D ist symmetrisch. Zur Bedienung der Kunden stehen beliebig viele gleichartige Fahrzeuge zur Verf¨ ugung. Die Fahrzeuge sind am Depot stationiert. F¨ ur die Kunden i = 1,...,n gilt: • Der Bedarf des Kunden i betr¨ agt bi Mengeneinheiten (ME) in einer Periode. • Der Bedarf des Kunden ist durch vollst¨ andige Bedienung zu decken (keine Teillieferungen/-entsorgungen). F¨ ur die Fahrzeuge gilt: • Kapazit¨ atsrestriktion: Jedes Fahrzeug kann maximal Q ME laden. • Zeitrestriktion: Die Fahrzeit, die f¨ ur eine Route erforderlich ist, darf T Zeiteinheiten (ZE) nicht u ¨berschreiten. Zur Vereinfachung wird angenommen, dass die Fahrt von i nach j (mit i,j = 0,1,...,n) genau dij ZE erfordert. Zielsetzung: • Die Touren bzw. Routen sind so zu planen, dass bei vollst¨andiger Bedienung der Kunden die insgesamt zur¨ uckzulegende Entfernung minimiert wird. Weitere Tourenplanungsprobleme Weitere Tourenplanungsprobleme sind u. a.: • Statt eines Auslieferungsproblems liegt ein Sammelproblem vor: z. B. Milch- oder M¨ ullsammeln. • An Stelle des Transports von G¨ utern handelt es sich um den Transport von Personen.
8.3 Mathematische Modellierung und exakte Verfahren
243
• Tourenplanung wird auch bei der Steuerung von Maschinen, z. B. bei der Leiterplattenbest¨ uckung, gebraucht. • Es k¨ onnen mehrere Depots ber¨ ucksichtigt werden (Mehrdepotprobleme). • In Mehrperiodenproblemen werden mehrere Planungsperioden ber¨ ucksichtigt. Wir unterscheiden zwischen knoten- und kantenorientierten Tourenplanungsproblemen. Die knotenorientierten Probleme kann man als verallgemeinerte Travelling-Salesman (TSP-) Probleme; die kantenorientierten Probleme als verallgemeinerte Brieftr¨ agerprobleme (Chinese Postman Probleme) verstehen.
8.3 Mathematische Modellierung und exakte Verfahren F¨ ur das TSP bzw. Tourenplanungsproblem existieren viele wissenschaftliche Arbeiten u osungsverfahren. Exakte Verfahren ¨ber exakte und heuristische L¨ sind vorzuziehen, falls die Gr¨ oße eines gegebenen Problems bezwungen“ wer” den kann. Die Gr¨ oße der exakt l¨ osbaren Modelle steigt kontinuierlich an: im Jahr 2005 h¨ alt den Weltrekord eine amerikanische Forschergruppe, die die sogenannte Schweden-Tour mit 24.978 Orten (alle Orte in Schweden, in denen mindestens ein Schwede wohnt), exakt optimiert haben. http://www.tsp.gatech.edu Bei der Tourenplanung k¨ onnen je nach Art von Restriktionen nur viel kleinere Modelle exakt gel¨ ost werden, so dass f¨ ur die Praxis immer noch heuristische Verfahren sehr wichtig sind. Bevor im n¨ achsten Abschnitt heuristische Verfahren behandelt werden, sollen einige Ans¨ atze f¨ ur die exakte L¨ osung von TSP und Tourenplanungsproblemen betrachtet werden. Dabei erkennt man, worin die H¨arte dieser Probleme liegt. Begonnen werden soll mit einem ersten Versuch der mathematischen Modellierung f¨ ur das TSP: Es soll eine Rundreise in einem gerichteten Graphen G = (N,A) bestimmt werden, wobei die Zielfunktion darin besteht, die Gesamtur jede Kante kosten der Rundreise zu minimieren. Dabei sind die Kosten cij f¨ (i, j) ∈ A gegeben. F¨ ur jede Kante (i, j) des Graphen wird eine 0/1-Variable xij eingef¨ uhrt: xij = 1, falls Kante (i, j) zur kostenminimalen Rundreise geh¨ort xij = 0, sonst. Eine Rundreise durchl¨ auft alle Knoten genau einmal. Wenn man die xij als Flussvariablen auf Kanten ansieht, muss die Gr¨oße des Flusses durch jeden Knoten j ∈ N genau 1 sein, d. h. inflow(j) = outflow(j) = 1. Man bekommt das folgende Netzwerkmodell mit einem Zirkulationsfluss der Gr¨oße 1 (vgl. Kapitel 4):
244
8 Touren- und Standortplanung
Min cij xij (1) (i,j)∈A xij = 1 f¨ ur alle Knoten j = 1,...,n ( j ∈ N ) (2) s.t. {i:(i,j)∈A} xjk = 1 f¨ ur alle Knoten j = 1,...,n( j ∈ N ) (3) {k:(j,k)∈A}
ur alle Kanten (i, j) ∈A xij ∈ {0, 1} f¨
(4)
Dieses Modell entspricht auch einem, in einem bestimmten Sinne verallgemeinerten, Zuordnungsproblem auf allgemeinen Graphen (nicht bipartiten Graphen): Jeder Knoten im Graphen wird seinem auf der Rundreise n¨achsten Knoten zugeordnet. Da Flussprobleme polynomiell l¨ osbar sind, ist zu erwarten, dass diese Formulierung f¨ ur das harte TSP nicht ausreicht. Wie sieht hier ein Gegenbeispiel aus (vgl. Abb. 8.2)?
6
7 1
5 2
3
4
Abb. 8.2. Gegenbeispiel
Man kann also feststellen, dass die obige Netzwerkmodellierung Subtouren, also Touren, die nicht alle Knoten beinhalten, generieren kann. Der Ausweg ist hier, zus¨ atzliche Restriktionen zum obigen Modell hinzuzuf¨ ugen, die das Entstehen dieser Subtouren verhindern. Solche Restriktionen nennt man Subtour-Breaking-Constraints“. ” Es gibt verschiedene M¨ oglichkeiten in der Literatur, wie diese Restriktionen formuliert werden k¨ onnen. Wir betrachten hier ein paar M¨ oglichkeiten: (7.1) xij ≥ 1 f¨ ur alle ∅ ⊂ S ⊆ N i∈S j ∈R / (7.2) xij ≤ |R| − 1 f¨ ur alle ∅ ⊂ R ⊆ {2, 3, ..., n} i∈R j∈R
(7.3) zi − zj + n ∗ xij ≤ n − 1 f¨ ur i,j:=2,...,n (i = j) Beachten Sie, dass die erste (7.1) und die zweite M¨ oglichkeit (7.2) jeweils ungef¨ ahr 2n , jedoch (7.3) nur weniger als n2 subtour-breaking constraints induzieren. (7.1) bedeutet: F¨ ur jede echte Teilmenge S von N m¨ ussen die Knoten von S mit den anderen Knoten im Netzwerk zusammenh¨ angen. Eine Subtour mit Knoten nur aus S wird damit verhindert. (7.2) fordert, dass keine Zyklen entstehen k¨ onnen, die nicht durch Knoten 1 gehen und deswegen nur Knoten aus einer Teilmenge von {2,3,...,n} benutzen.
8.3 Mathematische Modellierung und exakte Verfahren
245
(7.3) ist komplexer: man gibt zun¨ achst folgende Bedeutung f¨ ur die Variablen zi : Reihenfolge-Nummer des Besuches des Knotens i in einer Tour. F¨ ur das obige Beispiel ergibt sich: z6 − z5 + 7 x65 ≤ 6 (= 7 - 1) z5 − z4 + 7 x54 ≤ 6 (= 7 - 1) z4 − z6 + 7 x46 ≤ 6 (= 7 - 1) Da x65 = x54 = x46 = 1, bringt die Summe: 21 ≤ 18. Ein Widerspruch! D. h. eine Subtour wie [6,5,4,6], die nicht durch Anfangsknoten 1 durchgeht, wird in der geschilderten Weise vermieden. Da die Anzahl der Restriktionen selbst bei der dritten M¨oglichkeit hoch wird, kann man sich bei der L¨ osung dieser IP-Modelle mit Hilfe Optimierungssoftware mit dem allgemeinen Prinzip Branch&Cut“ behelfen. ” Spezielle Verfahren f¨ ur große Travelling-Salesman-Modelle – Vertiefung Branch&Cut-Methode: Zun¨ achst wird mit einem MIP-Optimierer das Anfangs-MIP-Modell (1), (2), (3) und (4), also ohne die Subtour-Breaking-Constraints gel¨ost. Falls eine zul¨ assige Rundreise entsteht, ist sie kostenminimal, und das Verfahren bricht ab. Sonst wird untersucht, welche Subtour-Breaking-Constraints das Entstehen der in der berechneten optimalen L¨ osung enthaltenen Soubtouren verhindern k¨ onnen (Cuts). Diese werden zu dem MIP-Modell hinzugef¨ ugt, und ein weiteres L¨ osen des MIP-Modells findet statt: Branch-Operation, ein Meta-Schritt, nicht wie Branch&Bound. Nach mehreren Branch- und CutOperationen wird das Verfahren hoffentlich mit einer zul¨assigen Rundreise abgebrochen, die dann kostenminimal ist. Set-Partitioning-Ansatz: Eine M¨ oglichkeit zur mathematischen Formulierung von knotenorientierten Tourenplanungsproblemen ist der Set-Partitioning-Ansatz: Es wird zun¨achst angenommen, dass die Menge aller m¨ oglichen zul¨assigen Touren τ1 , τ2 , τ3 , ..., τk (k >> n) explizit bestimmt wurde. Zul¨assige Tour heißt, dass alle im Problem vorgegebenen Restriktionen erf¨ ullt sind. Zu jeder solchen Tour ohe der Gesamtkosten f¨ ur diese Tour. Es sei noch bekannt τj sei Cj die H¨ u ¨ber Konstanten eij (i:=1,..,n,j:=1,...,k), welche Knoten i in einer Tour j vorkommen. eij = 1, falls Knoten i in der Tour j vorkommt, und eij = 0 sonst.
246
8 Touren- und Standortplanung
Man f¨ uhrt nun 0/1-Variablen yj ein (j:=1,...k): yj = 1, falls die Tour j in dem (berechneten) kostenminimalen Tourenplan geh¨ ort, yj = 0, sonst. Eine mathematische Formulierung f¨ ur das Tourenplanungsproblem l¨asst sich nun angeben als: Min
k
cj yj s.t.
j=1
k
eij yj = 1 f¨ ur alle Knoten i= 1,..., n
j=1
yj ∈ {0,1}
f¨ ur alle Touren j = 1,..., k.
Nat¨ urlich ist hier die Schwierigkeit beim L¨ osen dieses Set-Partitioning IPModells die immense Anzahl der Variablen (m: Anzahl aller m¨oglichen Touren). Man kann sich hier mit der Column-Generation-Methode behelfen: Anwendung der Column-Generation-Methode: Die Column-Generation-Methode bietet sich zur L¨ osung von LP mit sehr vielen Variablen an. Sie kann kombiniert mit Branch&Bound angewandt werden. Zun¨achst wird mit einer Untermenge aller m¨ oglichen Touren angefangen, die alle Knoten mindestens einmal beinhalten. Dann wird das zugeh¨ orige kleinere LP-Modell (Relaxation des IP-Modells f¨ ur einen Knoten des Branch&Bound-Baumes) gel¨ost. Anhand von Informationen der berechneten optimalen L¨osung, n¨amlich Schattenprei” se“, wird eine gezielte Suche nach einer oder mehreren Touren (neue Variablen) gestartet, die den Zielfunktionswert beim Set-Partitioning-Modell verbessern k¨ onnen. Dieses Hilfsproblem wird von einem sog. Column Generator gel¨ ost. Danach wird das durch diese Touren erg¨anzte Set-Partitioning-Modell gel¨ ost. Dieses Vorgehen erfolgt mehrmals, bis eine optimale L¨osung (Column Generator findet keine den Zielfunktionswert verbessernden Touren) oder bis eine gute suboptimale L¨ osung erreicht wird. Meistens tritt der letztere Fall auf, so dass man hier u andig exaktes Verfahren sprechen kann. ¨ber ein unvollst¨ Bemerkung: F¨ ur kantenorientierte Tourenplanungsprobleme, bei denen – wie beim Chinese Postman Problem – Kanten mindestens einmal durchlaufen werden, kann man den gleichen Ansatz w¨ ahlen. Allerdings betrachtet man statt Knoten Kanten im Graphen und die Restriktionen haben statt der Form k
eij yj = 1 f¨ ur alle Knoten i = 1,...,n(i ∈ N )
j=1
die Form:
k
eij yj ≥ 1 f¨ ur alle Kanten i ∈ A
j=1
Das so ge¨ anderte Modell nennt man zum Kontrast ein Set-Covering-Problem.
8.4 Heuristische Verfahren f¨ ur Tourenplanung
247
8.4 Heuristische Verfahren fu ¨ r Tourenplanung In einem Tourenproblem sind grunds¨ atzlich zwei Teilprobleme enthalten: 1. Ein Zuordnungsproblem von Kunden (Kanten, Pfeilen) zu einer Tour: Clustering-Problem. 2. Ein Routing-Problem f¨ ur jede Tour; d. h. die Bestimmung einer (k¨ urzesten) Rundreise oder Brieftr¨ agertour f¨ ur jede Tour (jedes Cluster). Heuristische Verfahren zur L¨ osung von Standardtourenproblemen k¨onnen somit in Sukzessiv - und Parallelverfahren unterteilt werden. Sukzessiv-Verfahren Es werden grunds¨ atzlich zwei Typen von Sukzessiv-Verfahren unterschieden: 1. Route-First-Cluster-Second: geeignet f¨ ur kantenorientierte Tourenplanungsprobleme, z. B. Brieftr¨ ager-Probleme: Bilde eine Giant“-Brieftr¨ager-Tour, ” dann zerlege sie in einem zweiten Schritt in zul¨assige Touren (f¨ ur jeden Brieftr¨ ager) 2. Cluster-First-Route-Second: geeignet f¨ ur knotenorientierte Tourenplanungsprobleme, z. B. Sweep-Verfahren: Fasse Kunden zusammen in einer Tour unter Beachtung von Kapazit¨ at, dann wende TSP-Verfahren f¨ ur jede Tour einzeln. Parallelverfahren: Die folgenden Arten von Parallelverfahren sind insbesondere f¨ ur knotenorientierte Tourenplanungsprobleme geeignet: 1. Konstruktionsverfahren: z. B. Savings-Verfahren 2. Verbesserungsverfahren, wie 2-opt und 3-opt sowie Verallgemeinerungen 8.4.1 Das Savings-Verfahren Das Savings-Verfahren wurde von Clark und Wright 1964 vorgestellt. Es ist vermutlich das am h¨ aufigsten in der Praxis eingesetzte Verfahren. Gegeben: eine symmetrische Entfernungsmatrix D = (dij ) mit i, j = 0,1,2,...,n. Anfangsl¨ osung: Pendeltour zu jedem Kunden i und zur¨ uck. Die Route der i-ten Tour ist [0,i,0]. Verbesserung: Jeweils zwei Touren werden zusammengelegt, soweit die Kapazit¨ ats-/Zeitrestriktionen nicht verletzt sind. Zwei Routen werden durch ¨ Ubergang von einem Endkunden der ersten zu einem Endkunden der zweiten Tour verkn¨ upft (Endkunde ist erster oder letzter Kunde einer Tour). Die Vereinigung zweier Touren durch Verkn¨ upfung ihrer Routen u ¨ber die Endkunden i und j ergibt ein Saving (eine Ersparnis) von
248
8 Touren- und Standortplanung 2
0 0 1 2 3 4 5 6
1 0
3
1 2 3 20 30 30 - 30 45 - 30 -
4 20 35 45 35 -
5 50 65 75 70 35 -
6 35 45 55 60 25 25 -
4 6
Q=3
5 0 1 2 3 4 5 6 0 - 20 30 30 20 50 35 1 - 30 45 35 65 45 2 - 30 45 75 55 3 - 35 70 60 4 - 35 25 5 - 25 6 -
2
1 D
0
3
4 6
Q=3
S
Gesamtlänge d. Touren: 310 Anzahl d. Touren: 5
5
0 0 1 2 3 4 5 6
2 1 D
0
3
4 6
Q=3
5
Gesamtlänge d. Touren: 245 Anzahl d. Touren: 3
1 1 2 3 4 5 6
S
2 3 4 5 6 20 5 5 5 10 - 30 5 5 10 - 15 10 5 - 35 30 - 60 -
1 2 3 20 30 30 - 30 45 - 30 -
1 1 2 3 4 5 6
4 20 35 45 35 -
5 50 65 75 70 35 -
6 35 45 55 60 25 25 -
2 3 4 5 6 20 5 5 5 10 - 30 5 5 10 - 15 10 5 - 35 30 - 60 -
Abb. 8.3. Ein Beispiel f¨ ur den Savings-Algorithmus (1/2)
sij := d0i + d0j − dij . sij ist um so gr¨ oßer, je n¨ aher i und j beieinander liegen und je weiter sie vom Depot 0 entfernt sind. Savings-Algorithmus Start: Anfangsl¨ osung mit Route [0,i,0] f¨ ur jeden Kunden i = 1,...,n. Berechne Savings f¨ ur alle Kundenpaare (i, j) mit i < j.
8.4 Heuristische Verfahren f¨ ur Tourenplanung
249
Sortiere s¨ amtliche Ersparnisse (sij > 0) nach abnehmenden Werten in einer Liste. Iteration: Eliminiere das gr¨ oßte Element der Liste; es sei sij . Verbinde die Kunden i und j und damit deren Routen, falls die folgenden Bedingungen erf¨ ullt sind: • Kunde i und j sind Endkunden zweier verschiedener Routen; • Der Gesamtbedarf der erweiterten Tour ist ≤ Q; • Die L¨ ange der erweiterten Route ist ≤ T. Abbruch: Die Liste ist leer; d. h. alle positiven sij sind u uft. ¨berpr¨ Ergebnis: Ein suboptimaler Tourenplan. Das Ergebnis kann durch weitere Algorithmen, wie 2-opt und 3-opt (s. unten), verbessert werden. 8.4.2 Das Sweep-Verfahren Ein zweiter, allgemein bekannter Algorithmus zur Ein-Depot-Tourenplanung heißt Sweep (von Gillet und Miller 1974). Vorgehensweise beim Sweep-Verfahren F¨ ur den Sweep-Algorithmus sind i.a. die Koordinaten der Kunden (xi , yi ) bzgl. eines Koordinatensystems mit dem Depot als Ursprung gegeben (ungef¨ahre Lage der Kunden auf einer Landkarte ist ausreichend). Die Entfernung dij zwischen je zwei Standorten ist gegeben oder wird durch Multiplizieren der euklidischen Distanz mit einem Umwegfaktor approximiert. Die Kunden werden nach aufsteigenden Polarwinkeln (d. h. gegen den Uhrzeigersinn) sortiert. Man geht davon aus, dass die Kunden in dieser Reihenfolge von 1 bis n numeriert sind (keine Voraussetzung, Umnumerieren!). Die erste Tour des Planes enth¨ alt die Kunden 1,2,...,i1 (also Kunden mit den kleinsten ur jede Polarwinkeln); die zweite Tour die Kunden i1 +1, ..., i1 + i2 usw. . Die f¨ Tour g¨ unstigste Route kann mit TSP-Algorithmen berechnet werden (z. B. Anfangstour durch 2-opt und 3-opt verbessern). Vor der Einplanung eines Kunden in eine Tour wird sichergestellt, dass Kapazit¨ ats- und Zeitrestriktionen eingehalten werden. Den zweiten Tourenplan erh¨ alt man, indem man die Toureneinteilung mit Kunde 2 beginnt. Durch den Start mit dem 3.-, 4.-, ..., n-ten Kunden erh¨ alt man insgesamt n Tourenpl¨ane (n Tourenpl¨ ane und nicht n Touren!). Der im Laufe des Verfahrens jeweils beste Plan wird gespeichert und schließlich realisiert. Der Sweep-Algorithmus Voraussetzung: Gegeben sind die Daten eines Standard-Tourenplanungsproblems. Das Depot 0 liegt im Ursprung eines Koordinatensystems. Start: Die Kunden 1,...,n sind nach steigenden Polarwinkeln sortiert. z := ∞ Iteration (i = 1,...,n): Bilde den i-ten Tourenplan (:= TPi ) wie folgt:
250
8 Touren- und Standortplanung 0 1 2 3 4 5 6 0 - 20 30 30 20 50 35 1 - 30 45 35 65 45 2 - 30 45 75 55 3 - 35 70 60 4 - 35 25 5 - 25 6 -
2 1 D
0
3
4 6
Q=3
S
Gesamtlänge d. Touren: 370 Anzahl d. Touren: 6
5
0 0 1 2 3 4 5 6
2 1 D
0
3
4 6
Q=3
S
Gesamtlänge d. Touren: 275 Anzahl d. Touren: 4
5
D
3
4 6
Q=3
5
Gesamtlänge d. Touren: 225 Anzahl d. Touren: 2
S
1 -
3 5 30 -
4 5 5 15 -
5 5 5 10 35 -
6 10 10 5 30 60 -
1 2 3 20 30 30 - 30 45 - 30 -
4 20 35 45 35 -
5 50 65 75 70 35 -
6 35 45 55 60 25 25 -
1 1 2 3 4 5 6
0 0 1 2 3 4 5 6
2 1 0
1 2 3 4 5 6
2 20 -
2 3 4 5 6 20 5 5 5 10 - 30 5 5 10 - 15 10 5 - 35 30 - 60 -
1 2 3 20 30 30 - 30 45 - 30 -
1 1 2 3 4 5 6
4 20 35 45 35 -
5 50 65 75 70 35 -
6 35 45 55 60 25 25 -
2 3 4 5 6 20 5 5 5 10 - 30 5 5 10 - 15 10 5 - 35 30 - 60 -
Abb. 8.4. Ein Beispiel f¨ ur den Savings-Algorithmus (2/2)
• Nimm die Kunden in der Reihenfolge i,i+1,...,n,1,...,i−1 in die einzelnen Touren auf. • Jede Tour wird durch in der Nummerierung aufeinanderfolgende Kunden so lange erweitert, bis durch den n¨ achsten Kunden die Kapazit¨at Q oder die Zeitbeschr¨ ankung T u ¨berschritten wurde. • Bestimme eine (m¨ oglichst) k¨ urzeste Route f¨ ur jede Tour, z. B. mit dem 2-opt-/3-opt-Algorithmus (s. unten). • Ist die L¨ ange zi := z(TPi ) des Tourenplans kleiner als z, so speichere den Plan i als aktuell besten Tourenplan und setze z := zi . Ergebnis: Ein suboptimaler Tourenplan mit der L¨ange z.
8.4 Heuristische Verfahren f¨ ur Tourenplanung
251
2
2
3
3
0,0
0,0
0
0
1
1
(x1,y1 )
6
6 4
4
Q=3 5
Tourenplan 1: [1,2,3], [4,5,6] Gesamtlänge: 225 bisher bester Plan
5
2
2
3
3 0,0
0,0
0
6
Tourenplan 2: [2,3,4], [5,6,1] Gesamtlänge: 290 schlechter als bisher bester Plan
4
5
2
0,0
0
1
6
4
Tourenplan 3: [3,4,5], [6,1,2] Gesamtlänge: 255 schlechter als bisher bester Plan
5
Tourenplan 5 identisch mit Tourenplan 2
3 1
6
4
5
0
1
Tourenplan 4 identisch mit Tourenplan 1
Tourenplan 6 identisch mit Tourenplan 3
Tourenplan 1 [1,2,3], [4,5,6] mit Gesamtlänge 225 ist bester ermittelter Plan
Abb. 8.5. Beispiel f¨ ur den Sweep-Algorithmus
8.4.3 Verbesserungsverfahren Klassische heuristische Verfahren zur L¨osung von symmetrischen TSP und Tourenplanungsproblemen werden in Er¨offnungsverfahren und Verbesserungsverfahren unterteilt. Ein Er¨offnungsverfahren (z. B. bester Nachfolger f¨ ur TSP oder Savings und Sweep f¨ ur Tourenplanung) bestimmt eine m¨ogliche Tour, die mit Verbesserungsverfahren verbessert werden kann. Wir behandeln zun¨achst den Fall der Verbesserung einer einzelnen Tour eines Tourenplans (d. h. TSP), dann erweitern wir das Verfahren um die tourenver¨andernde Verbesserung von Tourenpl¨anen.
252
8 Touren- und Standortplanung
r-opt-Verfahren Bei den sogenannten r-opt-Verfahren handelt es sich um Verbesserungsverfahren, die durch Vertauschungen versuchen, die aktuelle Rundreise zu verbessern. Im r-opt-Verfahren werden r Kanten gegen r (andere) Kanten vertauscht. Dabei m¨ ussen die Menge der aus der Tour zu entfernenden und die der daf¨ ur aufzunehmenden Kanten nicht disjunkt sein. Eine Tour heißt r-optimal, wenn es nicht m¨ oglich ist, eine k¨ urzere Tour durch Ersetzen von r ihrer Kanten durch r andere zu finden. Im klassischen r-opt-Verfahren wird zuerst r festgelegt und im Laufe des Algorithmus nicht mehr ge¨ andert. Mehr Variabilit¨at bietet der Lin-KernighanAlgorithmus, der als Verbesserungsverfahrenmit einem variablen r bezeichnet werden kann (mehr dazu in den Online-Unterlagen). 2-opt-Verfahren f¨ ur einzelne Touren Gegeben: Kostenmatrix C = (cij ) eines ungerichteten, bewerteten Graphen G mit n Knoten und eine Tour mit Route [t1 ,...,tn ,t1 ]. Die (neue) Route R im Algorithmus wird anfangs auf diese Route [t1 ,...,tn ,t1 ] gesetzt. Algorithmus 7 2-opt-Verfahren 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
Iteration: Knoten von G werden i = 1,2,...,n nummeriert gem¨ aß der neuen Route R. for i := 1 to n−2 do for doj := i+2 to n-1 if ctiti+1 + ctjtj+1 > ctitj + cti+1tj+1 then Bilde neue Tour mit Route R := [t1 ,..,ti ,tj ,tj−1 ,...,ti+1 ,tj+1 ,...,tn ,t1 ] ¨ Beginne erneut mit der Iteration (Anderung der Knotennummern!) end if end for if ctiti+1 + ctnt1 > ctitn + cti+1t1 then Bilde neue Tour mit Route R := [t1 ,...,ti ,tn ,tn−1 ,...,ti+1 ,t1 ] ¨ Beginne erneut mit der Iteration (Anderung der Knotennummern!) end if end for Die Iteration bringt keine Verbesserung mehr Ende Iteration
Tourenver¨ andernde Verbesserungsverfahren Ein Tourenplan kann einerseits dadurch verbessert werden, dass man unter Beibehaltung der Touren versucht, k¨ urzere Routen zu ermitteln (Anwendung von 2-opt auf einzelne Touren eines Tourenplans). Andererseits kann versucht werden, durch Ver¨ anderung der Routen und Touren einen noch besseren Plan
8.4 Heuristische Verfahren f¨ ur Tourenplanung i
253
j
t
t
3
5
... ...
t
t
2
i+1
4
j+1
t
1
t
6
Abb. 8.6. Beispiel f¨ ur Iterationsschritt i = 3 , j = 5
zu finden. Im Folgenden wird ein tourenver¨ anderndes Verbesserungsverfahren kurz erl¨ autert. Es wird angenommen, dass der vorliegende Plan m Touren besitzt. Das zu l¨ osende Problem wird als ein TSP mit m Rundreisenden betrachtet. Dieses Problem wird durch Definition von m (statt einem) Depotknoten in ein gew¨ ohnliches“ TSP transformiert, das mit einem modifizierten 2-opt” Verfahren gel¨ ost wird. Die neuen Depotknoten werden mit denselben Knoten aus dem urspr¨ unglichen Problem verbunden, mit denen der urspr¨ ungliche Depotknoten verbunden ist. Die Bewertungen der zus¨ atzlichen Pfeile sind identisch mit den urspr¨ unglichen. Im erweiterten Graphen wird jetzt eine m¨ oglichst optimale Route bestimmt. Daraus l¨ asst sich unmittelbar eine optimale oder suboptimale L¨osung des urspr¨ unglichen Problems herleiten. Jedoch muss immer dann, wenn eine Verbesserungsm¨ oglichkeit der Rundreise gefunden wird, gepr¨ uft werden, ob die einzelnen Routen (das sind die Abschnitte zwischen zwei Depotknoten) die Kapazit¨ ats- und Zeitrestriktionen erf¨ ullen. Nur wenn dies der Fall ist, kann die verbesserte Rundreise gebildet und zur n¨ achsten Iteration des 2-opt-Verfahrens u ¨bergegangen werden. Beispiel: Tourenver¨ anderndes 2-opt-Verfahren Abb. 8.7 zeigt wie ein Tourenplan, der hier mit Hilfe vom SweepVerfahren konstruiert wurde, transformiert wird, um darauf das tourenver¨ andernde 2-opt-Verfahren durchf¨ uhren zu k¨onnen. Es wurden 3 Depot-Knoten angelegt, da 3 Touren bestehen. Es ist zu beachten, dass jeder Depot-Knoten jeweils 2 Touren miteinander verbindet. Nun wird visuell gepr¨ uft, welcher tourenver¨ andernde 2-opt-Schritt den Tourenplan verbessert. Worauf muss man dabei achten ? Wie bildet man den verbesserten Tourenplan ? Dieses Verfahren liefert immer einen Tourenplan, der ebenso viele Touren besitzt wie der Anfangsplan, auch wenn Pl¨ ane geringerer Gesamtl¨ange mit weniger Touren existieren. Dies kann man wie folgt korrigieren: Bezeichnt
254
8 Touren- und Standortplanung 1
4
1
3
3
6
4
6 D
D
D D 5
5
6
6
Abb. 8.7. Beispiel f¨ ur tourenver¨ anderndes 2-opt-Verfahren
man mit h die kleinste ganze Zahl ≥
1 Q
n
bi , so stellt h eine untere Schranke
i=1
f¨ ur die Anzahl der erforderlichen Touren zur Befriedigung der Kundenbedarfe bi dar (Q ist die Kapazit¨at eines Wagens). Jetzt werden zwischen h Depotknoten keine Verbindungen eingef¨ ugt. Zwischen diesen h und den u ¨brigen m − h Depotknoten werden Kanten bzw. Pfeile mit der Bewertung 0 eingef¨ uhrt. Ebenso erhalten die m − h Depotknoten untereinander Verbindungen mit der Bewertung 0.
8.5 Dynamische Tourenplanung Bei der dynamischen Tourenplanung k¨onnen Auftr¨age jederzeit neu aufgenommen werden, so dass die existierenden Tourenpl¨ane in Echtzeit ge¨andert werden m¨ ussen. Solche Probleme haben eine große praktische Bedeutung, z. B. f¨ ur Speditionen. Durch die rasche Entwicklung von Kommunikationstechnologien, wie mobile Telefonnetze und Global-Positioning-Systeme“ ist es immer ¨ofter ” m¨oglich, auch kurzfristige Touren¨anderungen zu kommunizieren, um Kosten einzusparen und einen besseren Service anzubieten. U. a. sind folgende Probleme in der Literatur bekannt (vgl. [Larsen 2000]): • Dial-a-ride or share-a-cab services: Eine gegebene Menge von Fahrzeugen ist bereit, Kundenauftr¨age durchzuf¨ uhren, die telefonisch aufgenommen werden. Die Auftr¨age m¨ ussen so schnell wie m¨oglich erf¨ ullt werden. Der Dispatcher muss schnell entscheiden, welches Fahrzeug welchen Kundenauftrag u ¨bernimmt, und wie die gegebene Route des Fahrzeugs modifiziert werden soll. ¨ Benzin, etc.: Ein Ollieferant ¨ • Lieferung von Ol, soll mehrere Kunden beliefern, so dass die tats¨achlich zu liefernde Menge im Voraus nicht exakt ¨ dabei hat, um bekannt ist. Es ist m¨oglich, dass ein Tankwagen zu wenig Ol alle geplanten Kunden beliefern zu k¨onnen. Dieses soll vermieden werden, weil dieser Kunde sonst noch einmal beliefert werden muss.
8.5 Dynamische Tourenplanung
255
• Kurierdienste: Kleinlaster oder Pick-ups von Kurierdiensten fahren in einer Gegend und sammeln Pakete, Briefe, etc. Auftr¨age werden telefonisch beim Dispatcher angemeldet, der sie an die Fahrer weiterleitet. Die Touren¨ anderungen k¨ onnen entweder zentral oder dezentral von jedem Fahrer durchgef¨ uhrt werden. • Hafendienste: In einem großen Hafen kommen st¨andig vollbeladene Lkw an, deren Ladungen auf dem Hafengel¨ ande (draußen oder in einem Lager) gelagert werden sollen. Diese Transporte k¨onnen mit hafenspezifischen Transportwagen (wie Vancarrier) erfolgen. Weil die Ankunft der Lkw nicht exakt vorherzusehen ist, muss der Dispatcher ein dynamisches Tourenplanungsproblem in Echtzeit l¨ osen. Ein dynamisches Tourenplanungsproblem muss schrittweise gel¨ost werden, weil nicht alle Informationen am Anfang bekannt sind. Typisch f¨ ur die dynamische Tourenplanung ist, dass einige Problemgr¨oßen deterministisch sind: Anzahl der Knoten, Anzahl der Fahrzeuge, Kapazit¨aten der Fahrzeuge, etc. Andere Parameter sind nichtdeterministisch, sondern als Vorhersagen verf¨ ugbar: Nachfrage in einem Knoten, Fahrzeit zwischen zwei Knoten, etc. Problemgr¨ oßen k¨ onnen auch probabilistisch sein, so dass die Verteilung bekannt ist. Weiterhin ist m¨ oglich, dass einige Problemgr¨oßen zum Zeitpunkt der Routengenerierung gar nicht bekannt sind. Typen der Problemgr¨ oßen k¨ onnen sich im Laufe des L¨osungsprozesses auch oße, die am Anfang probabilistisch ist, ¨andern. Beispielsweise kann eine Gr¨ sp¨ater deterministisch werden. Man unterscheidet zwischen den folgenden Typen von algorithmischen Methoden zur L¨ osung von dynamischen Tourenplanungsproblemen: • Kurzsichtige Algorithmen (myopic algorithms): Diese Algorithmen berechnen eine optimale L¨ osung so, dass nur die exakt gegebenen Eingabedaten benutzt werden. Wenn eine neue exakte Eingabe gemacht wird, wird die L¨ osung aktualisiert. Dabei wird eine heuristische Prozedur zum Einf¨ ugen oder Austauschen von Auftr¨ agen benutzt. ucksichtigen eine • Rollierende Planungsalgorithmen: Diese Algorithmen ber¨ Vorhersage der Ereignisse in der Zukunft bis zu einem bestimmten Zeitpunkt. Dieser Zeitpunkt rolliert entweder in festen Intervallen oder jeweils nach Eingabe eines Auftrags. Es wird nicht nur lokal reoptimiert, sondern soweit wie m¨ oglich, eine komplett neue L¨ osung berechnet. • Regel-Algorithmen: Diese Algorithmen berechnen keine fertigen Routen, sondern bestimmen Verfahrensregeln (policies). Es kann sich hier genauso gut um einfache Regeln wie komplizierte Algorithmen handeln – beispielsweise: Warte bis genug Auftr¨ age da sind, um einen Lkw zu f¨ ullen, dann ” berechne eine Route mit dem TSP-Algorithmus“ oder Ordne Auftr¨age ” nach dem First-Come-First-Serve-Prinzip“.
256
8 Touren- und Standortplanung
8.6 Warehouse-Location-Probleme Bei Tourenplanungsproblemen werden Standorte der Kunden und der Depots als feste Gr¨ oßen betrachtet, die sich bei der Durchf¨ uhrung der Touren nat¨ urlich nicht a ndern. In diesem Abschnitt betrachten wir Prozesse, ¨ die vorher gelaufen sind, n¨ amlich die Festlegung der Standorte f¨ ur Produktionsst¨ atten, Lagerh¨ auser und Kunden. Diesen wichtigen Bereich nennen wir Standortplanung oder -bestimmung. Insbesondere konzentrieren wir uns auf Ans¨ atze, die gleichzeitig (variable) Transportkosten und (fixe) Errichtungskosten der Standorte ber¨ ucksichtigen. Ans¨ atze zur betrieblichen Standortplanung behandeln Fragen der Standortwahl f¨ ur einzelne Betriebe. Zu dieser Gruppe z¨ahlen auch Beitr¨age, die sich mit der Standortwahl von externen L¨ agern (Zentral- oder Auslieferungsl¨ager) besch¨ aftigen. Auch die Standortwahl f¨ ur ¨ offentliche Einrichtungen wie Schulen, Krankenh¨ auser, Feuerwehrstationen, etc. geh¨ort in diese Gruppe. Im Folgenden betrachten wir das betriebliche Standortproblem f¨ ur Auslieferungslager unter der Voraussetzung, dass nur ganz bestimmte Orte in Frage kommen. Jeder potenzielle Standort verursacht Errichtungskosten, die in der Regel unterschiedlich sind. Die Kosten der Belieferung der Kunden sind auch standortabh¨ angig. Eine m¨ ogliche Zielsetzung ist es, die Summe aus fixen Standorterrichtungskosten plus variablen Auslieferungskosten zu minimieren. Dabei handelt es sich um ein Warehouse-Location-Problem (WLP). Alternative Zielsetzungen sind m¨ oglich. 8.6.1 Unkapazitiertes (einstufiges) WLP Die Basisform des WLP ist das im Folgenden dargestellte unkapazitierte, einstufige WLP : Ein Unternehmen beliefert n Kunden, die pro Periode b1 ,...,bn ME der von ihm angebotenen G¨ uter nachfragen. Das Unternehmen m¨ochte seine Vertriebskosten senken, indem es Auslieferungslager errichtet und betreibt. Hierf¨ ur stehen m potenzielle Standorte zur Verf¨ ugung. Wird am potenziellen Standort i ein Lager errichtet, so entstehen fixe Kosten der Lagerhaltung in H¨ohe von fi GE pro Periode. Die Transportkosten betragen cij , falls der Kunde j voll (mit bj ME) durch ein am Standort i eingerichtetes Lager beliefert wird (beachte: hier ist cij = bi * Einheitskostenij ). Wieviele Lager sind vorzusehen und an welchen der potenziellen Standorte sind sie einzurichten, wenn bei voller Befriedigung der Kundennachfrage die Summe aus (fixen) Lagerhaltungskosten und Transportkosten (vom Lager zum Kunden) minimiert werden soll? In Abb. 8.8 ist das Basis-WLP erl¨autert. Das WLP kann folgenderweise als ein gemischt-ganzzahliges Optimierungsur problem modelliert werden: Es wird eine Bin¨ arvariable yi (0/1-Variable) f¨ jeden potenziellen Standort eingef¨ ugt. Die kontinuierlichen Variablen xij be-
8.6 Warehouse-Location-Probleme
257
stimmen die Anteile der zu transportierenden Menge vom Standort i zum Kunden j. In einer zul¨ assigen L¨ osung des WLP besitzen die Variablen die c11 1 1 b1 f1 folgende Bedeutung: ... c1n
• •
0 ≤ xij ≤ 1 , wobei xij = 1, c i1 i j bj fi wenn Kunde j vom Lager i ... ... voll beliefert wird. cm n fm bn yi = 1, wenn am potenzielm n len Standort i ein Lager einAbb. 8.8. Ein unkapaziertes, einstufiges zurichten ist. WLP
Das unkapazitierte, einstufige WLP kann mathematisch wie folgt formuliert werden: min
n m
cij xij +
i=1 j=1
s.t. xij ≤ yi m xij =1
m
fi yi
(1)
i=1
f¨ ur i = 1,...,m und j = 1,...,n (2) f¨ ur j = 1,...,n
(3)
i=1
yi ∈ {0,1} xij ≥ 0
f¨ ur i = 1,...,m (4) f¨ ur i = 1,...,m und j = 1,...,n (5)
Die Bedingungen (2) stellen sicher, dass ein Nachfrager j nur von einem solchen potenziellen Standort i aus beliefert wird, f¨ ur den die Einrichtung eines Lagers vorgesehen ist. Dabei haben wir n*m Bedingungen. Diese disaggregierte Formulierung ist g¨ unstig f¨ ur die L¨ osbarkeit des Problems. Es w¨ are auch m¨ oglich, die Bedingungen (2) durch genau m Bedingungen in aggregierter n Form xij ≤ ni yi f¨ ur i= 1,...,m zu ersetzen. Dabei ist ni die maximale Anj=1
zahl an Kunden, die von einem Lager am potenziellen Standort i (¨ okonomisch sinnvoll) beliefert werden kann. 8.6.2 Kapazitiertes (einstufiges) WLP Das kapazitierte, einstufige WLP unterscheidet sich vom unkapazitierten WLP durch die Annahme, dass die Kapazit¨ at der m¨ oglichen Lager beschr¨ ankt ist. Die Kapazit¨ at des Lagers i sei ai . Die Transportkosten cij definieren wir in diesem Fall als Geldeinheiten je bef¨ orderter Mengeneinheit. In dieser Formuutermenge. lierung ist xij die vom Lager i zum Nachfrager j transportierte G¨ Die Bin¨ arvariablen yi sind wie oben definiert. Die mathematische Formulierung lautet.
258
8 Touren- und Standortplanung
min s.t.
m n
cij xij +
i=1 j=1 n
m
fi yi
(6)
i=1
xij ≤ ai yi
f¨ ur i = 1,...,m
(7)
j=1
xij ≤ bj yi m xij = bj
f¨ ur i =1,...,m und j = 1,...,n (8) f¨ ur j = 1,...,n
(9)
f¨ ur i = 1,...,m f¨ ur alle i und j.
(10) (11)
i=1
yi ∈ {0,1} xij ≥ 0
Aus praktischer Sicht kann es sinnvoll sein, Mindestkapazit¨aten von Standorten zu ber¨ ucksichtigen. In diesem Fall handelt es sich um Schwellenwerte, ur Standort i (i = 1,...,m). Nach der den Autoren bekannten Technik z. B. si f¨ werden dann die folgenden Nebenbedingungen ins Modell eingef¨ ugt: n xij ≥si yi f¨ ur i= 1,...,m (12) j=1
8.6.3 Mehrstufige Warehouse Location Probleme In mehrstufigen WLP werden mindestens zwei Transportstufen ber¨ ucksichtigt, wobei die Standorte f¨ ur einen oder mehrere Typen von Einrichtungen gesucht werden. F¨ ur das zweistufige WLP muss das obige kapazitierte, einstufige Problem um eine vorgelagerte Transportstufe erweitert werden (s. Abb. 8.9). Das zweistufige WLP liegt beispielsweise vor, wenn neben großen Zentrall¨agern auch kleinere Zwischenl¨ ager errichtet werden sollen. Ein Unternehmen beliefert n Kunden, die pro Periode b1 ,...,bn Werke Pot. Standorte Kunden ME der von ihm angebotenen c11 c11 1 1 a1w 1 b1 Produkte nachfragen. Zur Ferf1 ... ... c1i ... tigung der Produkte stehen k ch1 cij Werke mit einer Kapazit¨at von j i ahw h bj ... ... w fi ... aw 1 ,...,ak ME pro Periode zur ... cmn ckm Verf¨ ugung. k m n akw bn fm Die Kapazit¨at eines am Standort i (i = 1,...,m) errichteten und beAbb. 8.9. Ein zweistufiges WLP triebenen Lagers l betr¨agt maximal ali ME; die fixen Lagerhaltungskosten sind fi GE. Unter der Kapazit¨at eines Lagers soll diejenige G¨ utermenge verstanden werden, die das Lager pro Periode maximal passieren kann. Es wird angenommen, dass sich Lagerzu- und -abgang im Laufe einer Periode ausgleichen. Die Transportkosten bei Belieferung des Nachfragers j vom potenziellen Standort i aus betragen cij GE/ME. F¨ ur die Belieferung eines am Standort i befindlichen Lagers durch das Werk h sind außerdem c˜hi GE/ME zu ber¨ ucksichtigen.
8.7 Heuristische Verfahren zur L¨ osung von Warehouse-Location-Problemen
259
Schließlich wird angenommen, dass Direkttransporte Werk → Kunde ausgeschlossen sind, und dass die Gesamtnachfrage gleich der Gesamtkapazit¨at der Werke ist. Wieviele Lager sind einzurichten, wo sind sie zu betreiben und welche Transporte sind auszuf¨ uhren, damit die Distributionskosten bei voller Befriedigung der Kundennachfrage minimiert werden? Formulieren Sie das zweistufige Warehouse Location Problem als ein exaktes mathematisches Optimierungsmodell.
8.7 Heuristische Verfahren zur L¨ osung von Warehouse-Location-Problemen Die Die WLP sind grunds¨ atzlich sowohl mit heuristischen als auch Branchand-Bound-Verfahren l¨ osbar. Heuristische Verfahren zur L¨osung von WLP werden in Er¨ offnungsverfahren, Verbesserungsverfahren und deren Kombinationen aufgeteilt. Zur L¨ osung des Optimierungsproblems kann irgendein Softwarepaket zur gemischt-ganzzahligen Optimierung benutzt werden. 8.7.1 Er¨ offnungsverfahren f¨ ur Warehouse Location-Probleme Im Folgenden werden zwei Er¨ offnungsverfahren kurz skizziert. Dabei wird folgende Notation benutzt: S Menge K Menge S0 Menge S1 Menge VS0 Menge IS1 Menge
aller potenziellen Standorte S = {1,...,m}. der Kunden K = {1,...,n}. der endg¨ ultig verbotenen Standorte der endg¨ ultig einbezogenen Standorte der vorl¨ aufig verbotenen Standorte der vorl¨ aufig einbezogenen Standorte
Bei den vier letzten Hilfsmengen, werden die Standorte angegeben, deren ultig bzw. vorl¨ aufig zu 0 oder 1 fixiert werden. Bei zugeh¨ origen yi endg¨ den Heuristiken ADD bzw. DROP muss in jedem Iterationsschritt diejenige Bin¨ arvariable yi zu 0 bzw. 1 fixiert werden, die zu einer gr¨oßtm¨oglichen Verbesserung des Zielfunktionswertes f¨ uhrt. Zu Beginn des ADD-Algorithmus sind s¨ amtliche potenzielle Standorte vorl¨aufig verboten (VS0 = S, S0 = S1 = ∅), Zielfunktionswert Z := ∞. In jeder Iteration wird dann genau derjenige potenzielle Standort aus VS0 endg¨ ultig einbezogen (von VS0 nach S1 u ¨bertragen), durch dessen Einbeziehung der Zielfunktionswert die gr¨ oßtm¨ ogliche Verringerung erf¨ ahrt. Das Verfahren endet, sobald durch die Einbeziehung eines weiteren Standortes aus VS0 keine zus¨atzliche
260
8 Touren- und Standortplanung
Verringerung des Zielfunktionswertes erreicht werden kann. Die in VS0 verbliebenen Standorte werden endg¨ ultig verboten. Der DROP-Algorithmus verl¨ auft genau umgekehrt. Er beginnt damit, dass s¨ amtliche potenziellen Standorte vorl¨ aufig einbezogen sind (VS1 = S, S0 = S1 = ∅). Der Zielfunktionswert Z ist gleich der Summe der Fixkosten s¨amtlicher potenziellen Standorte plus der Summe der Transportkosten, die bei Anwendung des transportkostenminimalen Transportplanes entstehen. In jeder Iteration wird dann genau derjenige potenzielle Standort aus VS1 endg¨ ultig verboten (von VS1 nach S0 u bertragen), durch dessen Verbot der Zielfunkti¨ onswert die gr¨ oßtm¨ ogliche Verringerung erf¨ ahrt. Das Verfahren endet, sobald durch Verbot eines weiteren Standortes aus VS1 keine zus¨atzliche Verringerung des Zielfunktionswertes m¨ oglich ist (die in VS1 verbliebenen Standorte werden endg¨ ultig einbezogen). Der ADD-Algorithmus Bei der algorithmischen Beschreibung des Add-Algorithmus wird zwischen dem Startschritt und den Iterationen 2, 3, ... unterschieden. Im Startschritt und in jeder Iteration wird jeweils ein Standort endg¨ ultig einbezogen. Zur Speicherung von Informationen wird ab der zweiten Iteration eine Hilfsalt f¨ ur jeden Kunden genau eine Spalte matrix W = (wsk ) verwendet. Sie enth¨ und f¨ ur jeden nur vorl¨ aufig verbotenen Standort s genau eine Zeile. wsk ist die Transportkostenersparnis bei Belieferung des k-ten Kunden, wenn zus¨atzlich zu allen bereits einbezogenen Standorten h ∈ VS0 auch der Standort s einben Wsk die Gesamtzogen w¨ urde. Entsprechend gibt die Zeilensumme ws = k=1
transportkostenersparnis an, die entsteht, wenn der potenzielle Standort s ∈ VS0 im aktuellen Stadium des Verfahrens als einziger Standort zus¨atzlich zu den h ∈ S1 endg¨ ultig einbezogen w¨ urde. In jeder Iteration wird also genau ein Standort s ∈ VS0 endg¨ ultig einbezogen. Es k¨ onnen weitere Standorte s ∈ VS0 endg¨ ultig verboten werden, n¨amlich diejenigen, f¨ ur die ws ≤ fs ist. Das Verfahren bricht ab, wenn VS0 eine leere Menge geworden ist. ADD-Algorithmus f¨ ur unkapazitierte WLP Voraussetzung: • Die Daten eines unkapazitierten WLP (Kostenmatrix C und Fixkostenvektor f) • Speicherplatz f¨ ur eine Hilfsmatrix W ur die Transportkostenersparnisse • ein Vektor w = (w1 ,...,wm ) f¨ • eine Variable Z f¨ ur den Zielfunktionswert
8.7 Heuristische Verfahren zur L¨ osung von Warehouse-Location-Problemen
261
Startschritt: • S0 := ∅; S1 := ∅; VS0 := I • berechne die Zeilensummen cs =
n
csk der Matrix C
k=1
• Suche denjenigen potenziellen Standort r, f¨ ur den cr + fr = min{cs + fs | s = 1,...,m) gilt • setze S1 := {r}, VS0 := S - {r} und Z := cr + fr (mit cr + fr werden die Kosten der Belieferung aller Kunden von Standort r berechnet, Problem ist unkapazitiert). ur alle s ∈ VS0 und alle k = 1,...,n wie • berechne die Matrix W = (wsk ) f¨ folgt: wsk := max{crk - csk , 0}. Iteration 2, 3, ...: • berechne f¨ ur alle s ∈ VS0 die Zeilensumme ws und verbiete jeden potenultig, bilde f¨ ur ihn also S0 := S0 ∪ {s} ziellen Standort s mit ws ≤ fs endg¨ und VS0 := VS0 - {s}. • suche denjenigen potenziellen Standort r, f¨ ur den wr - fr = max {ws – fs |s∈ VS0 } gilt. • setze S1 := S1 ∪ {r}, VS0:= VS0 - {r} und Z := Z - wr + fr . • berechne die Matrix W = (wsk ) f¨ ur alle s ∈ VS0 und alle k = 1,...,n wie folgt neu: • wsk := max{wsk - wrk , 0}; gehe zur n¨ achsten Iteration. Abbruch: Das Verfahren bricht mit dem Zielfunktionswert Z ab, wenn VS0 = ∅ ist. Ergebnis: Eine zugeh¨ orige kostenminimale Zuordnung ist: • xsk = 1, falls csk = min{chk | h ∈ S1} und falls kein cqk mit cqk = csk und q 0 lautet: −λx λe ,x≥0 f (x) = 0, sonst Der Erwartungswert der Exponentialverteilung ist 1/λ. Der Wert λ kann in unserem Fall als Ankunftsrate, d. h. als Anzahl der Ank¨ unfte pro Zeiteinheit interpretiert werden. In Abb. 9.4 ist eine Exponentialverteilung mit λ ≈ 0.4 zu sehen.
Abb. 9.4. Histogramm von Ankunftsdaten und angepasste Exponentialverteilung
Der sachliche Grund, der die Annahme von exponentialverteilten Zwischenankunftszeiten rechtfertigt, ist die so genannte Markov-Eigenschaft: Die Wahrscheinlichkeit, dass ein Kunde im Supermarkt eintrifft, ist unabh¨angig vom
9.3 Diskrete Modelle: Techniken
279
konkreten Zeitpunkt und von den bisherigen Ereignissen. So ist beispielsweise die Wahrscheinlichkeit, dass ab einem bestimmten Zeitpunkt in der n¨achsten Minute ein Kunde im Supermarkt eintrifft, unabh¨angig davon, ob der letzte Kunde vor 5 oder vor 15 Minuten eingetroffen ist. Ein visueller Vergleich kann ebenfalls hilfreich bei der Wahl des Verteilungstypen sein. So kann aus den Beobachtungsdaten ein Histogramm gebildet werden, dass als Approximation der Dichtefunktion benutzt werden kann. Anhand dieses Histogramms k¨ onnen dann im besten Falle Charakteristika einer theoretischen Verteilung ausgemacht werden. Beim Histogramm in Abb. 9.4 kann aufgrund der Schiefe der Verteilung eine Normalverteilung sofort ausgeschlossen werden; die eingezeichnete Exponentialverteilung passt sich jedoch recht gut an die Daten an. Die Verwendung einer Normalverteilung kommt immer dann in Frage, wenn man davon ausgehen kann, dass die betrachtete Zufallsvariable als additiv aus mehreren Zufallsvariablen zusammengesetzt angesehen werden kann. Dabei ist jedoch zu beachten, dass normalverteilte Zufallsvariablen auch negative Werte annehmen k¨ onnen - dies schließt f¨ ur viele Praxisanwendungen die Verwendung der Normalverteilung aus. Neben der Exponential- und der Normalverteilung existieren noch eine ganze Reihe weiterer Verteilungstypen, die in der Simu¨ lation Verwendung finden, f¨ ur eine Ubersicht siehe [Law u. Kelton 2000]. Sch¨ atzung der Parameter der Verteilung Wenn ein Verteilungstyp feststeht, muss noch untersucht werden, welche Werte f¨ ur die zur Spezifizierung der Verteilung n¨otigen Parameter am besten zu den Daten passen. Da man in der Regel die wahren Parameter der zugrunde liegenden Verteilung nicht kennt, m¨ ussen diese auf der Basis der erhobenen Rohdaten gesch¨ atzt werden. Die Sch¨atzung erfolgt mit Hilfe einer Sch¨ atzfunktion. So lautet beispielsweise die Sch¨atzfunktion f¨ ur den Parameter λ der Exponentialverteilung:
= 1 = λ ¯ X
1 n
1 n i=1
Xi
Evaluierung der Anpassungsg¨ ute der Verteilung Dass bei der Parametersch¨ atzung jeweils der am besten angepasste Wert ermittelt wurde, bedeutet jedoch noch nicht, dass die spezifizierte Verteilungsfunktion tats¨ achlich gut zu den erhobenen Daten passt. Aus diesem Grund sollte die Anpassungsg¨ ute anschließend noch einmal unter die Lupe genommen werden. Dies kann sowohl mittels visueller Verfahren als auch durch statistische Anpassungstests ( goodness-of-fit-Tests“) erfolgen. Ein Beispiel f¨ ur eine ” visuelle Veranschaulichung der Anpassungsg¨ ute findet sich in Abb. 9.5. Der Graph gibt die Differenz zwischen der empirischen und der theoretischen Verteilungsfunktion wieder. Je n¨ aher der Graph an der x-Achse verl¨auft, desto
280
9 Simulation
besser ist die Anpassung. Bei den statistischen Anpassungstests handelt es sich um Hypothesentests, deren Nullhypothese lautet: Die Daten der Stichprobe ” stammen aus der unterstellten Verteilung.“ Die am weitesten verbreiteten 2 Tests sind der Kolmogorov-Smirnov-Test, der χ -Test sowie der AndersonDarling-Test. Der Ablauf sowie die Pr¨ ufgr¨ oßen der angegebenen Tests k¨onnen z. B. bei [Law u. Kelton 2000] nachgelesen werden. Ein h¨ aufig auftretendes Ph¨ anomen sind periodisch schwankende Eingabedaten. So wird beispielsweise die Ankunftsrate der Kunden im Supermarkt nicht u ¨ber den gesamten Tagesablauf konstant sein. In einem solchen Fall definiert man in der Regel Zeitabschnitte, innerhalb derer konstante Ankunftsraten angenommen werden. F¨ ur die einzelnen Zeitabschnitte sollten dann im Idealfall gesonderte Anpassungsuntersuchungen durchgef¨ uhrt werden.
Abb. 9.5. Plot der Differenz zwischen empirischer und theoretischer Verteilungsfunktion
Zur Bestimmung einer zu den Rohdaten passenden Verteilung existieren spezielle Softwarepakete, wie z. B. ExpertFit oder Stat::Fit, zum Teil sind solche Tools auch direkt in kommerziellen Simulationspaketen enthalten. Einer solchen Software werden z. B. in einer Datei die Rohdaten u uhrt ¨bergeben, sie f¨ dann die beschriebenen Anpassungsschritte durch. Als Ausgabe liefert sie sowohl Vorschl¨ age f¨ ur verwendbare theoretische Verteilungen als auch f¨ ur die Ergebnisse von statistischen Anpassungstests. G¨anzlich automatisieren l¨asst sich die Modellierung der Eingabedaten jedoch derzeit noch nicht: So gibt es momentan noch keine Software, die zeitabh¨angige Schwankungen in den Eingabedaten erkennt und verschiedene Verteilungen f¨ ur verschiedene Zeitabschnitte ermittelt. 9.3.3 Generierung von zufallsbehafteten Inputdaten Im vorhergehenden Teil wurde beschrieben, welche Schritte bei der Inputdatenanalyse durchgef¨ uhrt werden. Zufallsbehaftete Inputdaten werden mit Wahrscheinlichkeitsverteilungen dargestellt. Bei der Durchf¨ uhrung von Simulationsexperimenten m¨ ussen nun entsprechend dieser Verteilungen Aus-
9.3 Diskrete Modelle: Techniken
281
pr¨ agungen der Zufallsvariablen, wie z. B. Bedienzeiten an der Supermarktkasse, generiert werden. Die Frage ist also: Wie erzeugt man Zufall“ mit Hilfe ” des Computers? Zun¨ achst werden im Intervall [0;1] gleichverteilte Zufallszahlen behandelt. Diese werden beispielsweise verwendet, wenn ermittelt werden soll, ob ein Ereignis eintritt oder nicht. Bevor man sich den Verfahren zur Erzeugung von Zufallszahlen zuwendet, sollte man nach den Eigenschaften von Zufallszahlen fragen: Wie sollte eine Folge von Zahlen im Intervall [0;1] aussehen, damit man von “Zufallszahlen“ sprechen kann? Die beiden wichtigsten Eigenschaften von Zufallszahlen sind Unabh¨ angigkeit und Gleichverteilung. Man spricht von unabh¨ angigen Zufallszahlen, wenn die Wahrscheinlichkeit des Auftretens eines bestimmten Wertes unabh¨angig von den zuvor realisierten Werten ist. Eine m¨ ogliche Verletzung dieser Eigenschaft ist die so genannte serielle Autokorrelation: Wenn z. B. u ¨berdurchschnittlich oft auf hohe Werte wiederum hohe Werte folgen, spricht man von einer positiven seriellen Autokorrelation erster Ordnung. Zufallszahlen sind gleichverteilt, wenn die Dichtefunktion ihrer Verteilung einen konstanten Verlauf hat. Diese Eigenschaft kann man sich veranschaulichen, wenn man bedenkt, dass ein Histogramm eine Approximation der Dichtefunktion darstellt: Teilt man das Intervall [0;1] in n gleichgroße Subintervalle ein, so ist bei einer gleichverteilten Zufallsvariablen die Anzahl der Beobachtungen je Intervall gleich große (n¨ amlich N/n, wobei N die Gesamtzahl aller Beobachtungen darstellt). Neben diesen beiden grunds¨ atzlichen Eigenschaften gibt es noch eine Reihe weiterer Bedingungen, die erf¨ ullt sein m¨ ussen, damit man von guten“ Zufalls” zahlen sprechen kann. Es gibt eine große Anzahl von statistischen Testverfahren, mit denen die Zuf¨ alligkeit“ einer Folge von Zahlen untersucht werden ” kann. Pseudozufallszahlen M¨ochte man Zufallszahlen mit Hilfe von Algorithmen auf dem Computer erzeugen, so steht man zun¨ achst vor einem Problem: Algorithmen sind deterministische Verfahren, mit deren Hilfe eine zuf¨allige“ Ausgabe erzeugt wer” den soll. Da dies ein Widerspruch in sich ist, spricht man bei Zufallszahlen, die mit Hilfe von deterministischen Verfahren erzeugt wurden, von PseudoZufallszahlen. Deren Erzeugung geschieht zwar nicht zuf¨allig, aber die Folge von Zahlen, die das Ergebnis bilden, weisen alle Eigenschaften von Zufallszahlen auf, n¨ amlich im Wesentlichen Unabh¨ angigkeit und Gleichverteilung. Mit anderen Worten: Wendet man die erw¨ ahnten statistischen Tests auf die erzeugte Zahlenfolge an, so wird man die Hypothese, dass es sich um Zufallszahlen handelt, nicht verwerfen k¨ onnen.
282
9 Simulation
Algorithmen zur Erzeugung von Pseudozufallszahlen nennt man Zufallszahlengeneratoren. Gute Generatoren weisen neben der Voraussetzung gute“ ” Zufallszahlen zu erzeugen, folgende Eigenschaften auf: Effizienz Die Erzeugung sollte einerseits sehr schnell und andererseits m¨oglichst wenig speicherintensiv arbeiten. Reproduzierbarkeit Die Folge von Zahlen, die erzeugt wird, sollte genau in der gleichen Reihenfolge reproduzierbar sein. Diese Eigenschaft ist wichtig f¨ ur eine effiziente Gestaltung der Simulationsexperimente. Lange Zyklen Die meisten Zufallszahlengeneratoren k¨onnen nur eine endliche Anzahl von Zufallszahlen erzeugen. Wenn die letzte Zahl erreicht ist, wird wieder die erste erzeugt, daher spricht man von einem Zyklus. Dieser Zyklus sollte m¨ oglichst lang sein. Das wohl am h¨aufigsten verwendete Verfahren zur Erzeugung von [0;1]Zufallszahlen ist die so genannte lineare Kongruenzmethode. Wie bei den meisten in der Literatur beschriebenen Verfahren wird eine rekursive Vorgehensweise gew¨ ahlt, bei der eine Zahl mit Hilfe einer Transformation aus der Vorg¨ angerzahl erzeugt wird. Die Relation, mit deren Hilfe die Zahl Xi+1 aus der Zahl Xi erzeugt wird, lautet: Xi+1 = (aXi + c) mod m wobei die Parameter a, c und m positiv und ganzzahlig zu w¨ahlen sind. Die Modulo-Operation n mod m gibt den Rest an, der aus der Division von n durch m entsteht. Den Startwert“ X0 , aus dem die erste Zahl erzeugt wird, ” nennt man seed. Falls der Wert c = 0 gew¨ ahlt wird, spricht man von der multiplikativen Kongruenzmethode. Die Werte, die durch die beschriebene Transformation erzeugt wurden, liegen alle im Intervall [0; m-1]. Um nun gleichverteilte Zufallszahlen im Intervall [0;1] zu erhalten, dividiert man die jeweilige Zahl Xi durch m. Erzeugung von beliebig verteilten Zufallsvariablen Mit der linearen Kongruenzmethode wurde nun ein Verfahren kennen gelernt, mit dessen Hilfe gleichverteilte [0;1]-Zufallszahlen erzeugt werden k¨onnen. Allerdings st¨ oßt man in Simulationsmodellen h¨aufig auf Zufallsvariablen, die anderen Verteilungen, wie z. B. einer Exponentialverteilung oder einer Normalverteilung, unterliegen. Die Erzeugung beliebig verteilter Zufallsvariablen kann jedoch auf die Erzeugung von [0;1]-Zufallszahlen zur¨ uckgef¨ uhrt werden. Dazu bedient man sich h¨ aufig der Methode der Inversion der Wahrscheinlichkeitstransformation (inverse transformation technique). Diese Methode macht sich die Tatsache zu Nutze, dass die Verteilungsfunktion z = F (x) eine monoton steigende Funktion mit dem Wertebereich [0;1] ist. Deren Umkehrfunktion F −1 (z) hat also einen Definitionsbereich [0;1], wobei jedem z ein Wert unglichen Definitionsbereich von x zugeordnet wird. x = F −1 (z) aus dem urspr¨
9.3 Diskrete Modelle: Techniken
283
Diese Transformation nennt sich Wahrscheinlichkeitstransformation. Durch eine Umkehrung dieser Transformation kann man aus [0;1]-Zufallszahlen beliebig verteilte Zufallsvariablen erzeugen: Man erzeugt eine Auspr¨agung einer [0;1]-Zufallszahl und setzt sie in die Umkehrfunktion der Verteilungsfunktion F der Zufallsvariablen ein. Die Zwischenankunftszeiten der Kunden im Supermarkt wurde als exponentialverteilt angenommen. Die Exponentialverteilung hat die Verteilungsfunktion: z = F (x) = 1 − e−λx Daraus wird die Umkehrfunktion gebildet, in die dann die [0;1]-Zufallszahlen eingesetzt werden k¨ onnen: x = F −1 (z) =
ln (1 − z) −λ
Am einfachsten ist die so durchgef¨ uhrte Erzeugung einer Zufallsvariablen, wenn f¨ ur die Verteilung eine analytisch bestimmbare Umkehrfunktion existiert, wie dies z. B. bei der Exponentialverteilung der Fall ist. Trifft dies allerdings nicht zu, muss man sich mit anderen Techniken, wie z. B. einer numerischen L¨ osung begn¨ ugen. Weiterhin ist es beispielsweise f¨ ur die Normalverteilung m¨ oglich, den eigentlich nicht analytisch umkehrbaren Verlauf der Verteilungsfunktion mit Hilfe einer umkehrbaren Funktion zu approximieren. 9.3.4 Gestaltung und Auswertung von Simulationsexperimenten Das Ziel von Simulationsstudien ist es, allgemein formuliert, Aussagen ber das Verhalten des betrachteten Systems zu treffen. H¨aufig sind diese Aussagen mit quantitativen Ergebnisgr¨ oßen (Outputgr¨oßen, performance measures, Performanzmaßen) verbunden. Da Simulationsmodelle meistens stochastische Elemente wie z. B. zufallsbehaftete Inputdaten beinhalten, sind diese Ergebnisgr¨ oßen ebenfalls Zufallsgr¨ oßen. Daher erfordert die Auswertung der Simulationsergebnisse eine gewisse Sorgfalt. In diesem Abschnitt geht es um zwei Fragen: • Welche Probleme tauchen bei der Analyse von Simulationsergebnissen auf? • Wie kann man diese Probleme beheben bzw. abmildern? Sch¨ atzung von Ergebnisgr¨ oßen Eine m¨ ogliche Ergebnisgr¨ oße in dem beschriebenen Werkstatt-Beispiel w¨are die Zeit, die ein Wagen insgesamt in der Werkstatt verbringt, d. h. die Durchlaufzeit durch das System. Im Supermarkt-Beispiel w¨are ein geeignetes Performanzmaß die Wartezeit der Kunden vor der Kasse. In beiden F¨allen interessiert der Erwartungswert f¨ ur die jeweilige Gr¨oße. Man f¨ uhrt also jeweils Simulationsexperimente durch, um den Erwartungswert zu sch¨ atzen.
284
9 Simulation
Die Sch¨ atzfunktion f¨ ur den Erwartungswert ist das arithmetische Mittel. Im Werkstatt-Beispiel w¨ urde man also den Durchschnitt aller Verweildauern berechnen. Man spricht in diesem Fall von einer Punktsch¨atzung. Das Problem bei einer Punktsch¨ atzung ist, dass man einen Sch¨atzwert f¨ ur den Erwartungswert erh¨ oht, aber keinerlei Informationen dar¨ uber hat, wie gut diese Sch¨ atzung ist. Da die Ergebnisgr¨ oßen eine gewisse Streuung aufweisen, wird auch der Mittelwert eines Simulationslaufes von dieser Streuung beeinflusst und enth¨ alt damit einen Sch¨ atzfehler. Je weniger Beobachtungen vorliegen, desto gr¨ oßer ist dabei der Einfluss der Streuung auf die Sch¨atzung und damit die Fehlerwahrscheinlichkeit. Aus diesem Grund ist es sinnvoll, mehrere Simulationsl¨ aufe (Replikationen) durchzuf¨ uhren: Im Beispiel der Werkstatt sollte also nicht nur ein Arbeitstag, sondern m¨ oglichst mehrere Tage simuliert ¯ werden. Als Sch¨ atzung f¨ ur den Erwartungswert wird dann der Mittelwert X ber die Mittelwerte der einzelnen Replikationen benutzt. Um die Aussagegenauigkeit einer solchen Sch¨ atzung zu quantifizieren, kann ¯ bilden. Dabei wird der Mitman ein Konfidenzintervall f¨ ur den Mittelwert X telwert einer Replikation als Zufallsvariable X aufgefasst. Man w¨ahlt ein Konfidenzniveau 1 − α, z. B. 95%. Das Konfidenzintervall wird dabei wie folgt konstruiert: S S ¯ ¯ X − √ · tr−1;1−α/2 ; X + √ · tr−1;1−α/2 r r Dabei gilt: r ist die Anzahl der durchgefhrten Replikationen, tr−1;(1−α)/2 ist das 1−α/2-Quantil der t-Verteilung mit r-1 Freiheitsgraden, (dieser Wert kann einer Verteilungstabelle entnommen werden); S bezeichnet die gesch¨atzte Standardabweichung von X, d. h. die Wurzel der Varianz der Mittelwerte der einzelnen Replikationen. Ein so gebildetes Konfidenzintervall kann wie folgt interpretiert werden: Mit einer Aussagegenauigkeit von 95% liegt der Erwartungswert in dem spezifizierten Intervall. Je kleiner das Intervall bei einem gegebenen Konfidenzniveau ist, desto genauer ist also die Aussage. Die Breite des Konfidenzintervalls l¨asst sich durch eine Erh¨ ohung der Anzahl der Replikationen verringern: Um die Breite zu halbieren, muss die vierfache Anzahl von Replikationen durchgefhrt werden. H¨aufig stellt sich die Frage, wie viele Simulationsl¨aufe durchgef¨ uhrt werden m¨ ussen, um eine gew¨ unschte Genauigkeit, d. h. eine bestimmte H¨ochstbreite des Konfidenzintervalls zu erzielen. Eine solche Aussage kann entweder absolut ( Mit einer Wahrscheinlichkeit von 95% sollte die gesch¨atzte Verweildauer ” h¨ochstens um 5 Minuten vom Erwartungswert abweichen“) oder relativ zum Erwartungswert ( ...h¨ ochstens um 10 % vom Erwartungswert abweichen“). ” Wie in der obigen Formel ersichtlich ist, h¨ angt die Intervallbreite neben der Anzahl der Replikationen und dem Konfidenzniveau 1 − α von der Varianz des Systems ab. Da die Varianz jedoch a priori unbekannt ist, kann zun¨achst keine Aussage u otigten L¨aufe getroffen werden. Man ¨ber die Anzahl der ben¨
9.3 Diskrete Modelle: Techniken
285
geht daher so vor, dass man mit Hilfe einer kleinen Anzahl (z. B. 10) von Pilotl¨ aufen die wahre“ Varianz sch¨ atzt und diese Sch¨atzung der Berechnung ” der notwendigen Anzahl der L¨ aufe zugrunde legt. Nicht nur aus Gr¨ unden der Aussagegenauigkeit empfiehlt es sich, mehrere Simulationsl¨ aufe durchzuf¨ uhren: Die einzelnen Beobachtungen der Ausgabedatenreihe eines einzelnen Simulationslaufes sind in der Regel korreliert, d. h. nicht unabh¨ angig. Man kann sich diesen Sachverhalt am Supermarkt-Beispiel recht gut veranschaulichen: Wenn Kunde i sehr lange in der Schlange warten musste, so wird Kunde i + 1 wahrscheinlich auch sehr lange anstehen. Die Korrelation hat zur Folge, dass die Sch¨ atzungen, die aus nur einem Simulationslauf gebildet werden, verzerrt werden. Sch¨ atzungen auf der Basis mehrerer Replikationen sind unverzerrt. Station¨ are Simulationsmodelle In den hier verwendeten Beispielen der Werkstatt und des Supermarktes hat man es mit einem abgeschlossenen Zeithorizont zu tun: Ein Simulationslauf dauert jeweils genau einen (Arbeits-)Tag. Man spricht daher von terminierenden Systemen. Es gibt jedoch auch Systeme, die rund um die Uhr“ laufen und ” bei denen das langfristige Verhalten untersucht werden soll. Beispiele f¨ ur solche Systeme sind Kommunikationsnetzwerke, Stromnetze oder Produktionsanlagen, die im Drei-Schicht-Betrieb gefahren werden. Sie weisen langfristig ein gleichm¨ aßiges Verhalten auf und werden daher station¨ are oder steadystate-Systeme genannt. In vielen F¨ allen k¨ onnen auch in der Realit¨at terminierende Systeme mit Hilfe von station¨ aren Simulationsmodellen abgebildet werden. Ein Beispiel hierf¨ ur ist sind Produktionsst¨atten, die zwar nicht rund um die Uhr arbeiten, f¨ ur die jedoch der Endzustand des einen Tages genau dem Anfangszustand des n¨ achsten Tages entspricht. Da bei station¨ aren Systemen das langfristige station¨are“ Verhalten interes” siert, spricht man bei den zu untersuchenden Parametern auch von steady” state“-Parametern. Soll ein solches System simuliert werden, so stellt sich die Frage: Wann erreicht das Simulationsmodell den station¨aren Zustand? Wenn man z. B. ein station¨ ares Modell einer mehrstufigen Fertigung simuliert, so ist das Modell zun¨ achst einmal in einem leeren“ Zustand, d. h. es befinden ” sich keine transienten Entities im System. Erst nach und nach f¨ ullt“ sich ” das System, und es bilden sich z. B. Schlangen vor den einzelnen Bearbeitungsstationen. Die Zeitspanne bis zum Erreichen des station¨aren Zustandes nennt man Einschwingphase (Anlaufphase, warm-up-period, transient state). Bezieht man die Einschwingphase mit in die Auswertung der Simulationsexperimente ein, so werden die Ergebnisse verzerrt. Daher sollten die Beobachtungen aus der Einschwingphase nicht in die Auswertung eingerechnet werden; dies wird im Allgemeinen erreicht, indem die statistischen Z¨ahler zu Beginn des station¨ aren Zustands zur¨ uckgesetzt werden. Um die Einschwingphase auf diese Art eliminieren zu k¨ onnen, muss man jedoch zun¨achst einmal wissen, wann sie endet.
286
9 Simulation
Abb. 9.6. Transienter Zustand (Einschwingphase) und station¨ arer Zustand
In der Literatur werden zur Bestimmung der L¨ ange der Einschwingphase verschiedene Verfahren diskutiert, die von relativ einfachen Regeln bis hin zu komplexen statistischen Tests reichen. H¨ aufig wird auch ein weniger formales Vorgehen gew¨ ahlt: die Folge der Beobachtungen der Ergebnisgr¨oße wird ausgedruckt und die L¨ ange der Einschwingphase visuell bestimmt (vgl. hierzu Abb. 9.6). Falls die Ergebnisgr¨ oße eine große Varianz aufweist und daher der Graph der Ergebnisgr¨ oße stark oszilliert, ist diese visuelle Bestimmung allerdings nicht einfach. Aus diesem Grund wird in einem solchen Fall die entstehende Kurve durch die Verwendung von gleitenden Durchschnitten gegl¨attet“. ” Vergleich von alternativen Systemkonfigurationen Eines der am h¨ aufigsten verfolgten Ziele beim Einsatz von Simulation ist die Auswahl zwischen alternativen Systemkonfigurationen. Ein solcher Fall liegt in unserem Beispiel der Werkstatt vor, in der der Werkstattleiter eine Idee zu einer Umgestaltung der Arbeitsabl¨ aufe hat. In diesem Fall sollen zwei alternative Konfigurationen verglichen werden. Die Gr¨oße, anhand derer die Leistung der beiden Alternativen verglichen werden, ist die Durchlaufzeit. Da die Entscheidung, ob eine Alternative besser ist als die andere, Ergebnis eines Zufallsexperimentes ist, gen¨ ugt es nicht, einfach die Mittelwerte zu vergleichen: Auch wenn der Mittelwert f¨ ur System A kleiner ist als f¨ ur System B, kann nichts u ¨ber die Signifikanz dieses Unterschiedes gesagt werden. Daher sollte man auch in dieser Analyse mit Konfidenzintervallen arbeiten. F¨ ur den Vergleich zweier Systemalternativen bildet man die Differenz aus den interessierenden Outputgr¨ oßen. Diese Differenz stellt somit eine Sch¨atzung f¨ ur den wahren“ Unterschied zwischen den beiden Alternativen dar. F¨ ur diese ” Differenz wird analog zum obigen Vorgehen ein Konfidenzintervall mit einem zu w¨ ahlenden Signifikanzniveau α konstruiert. Falls die 0 in diesem Konfidenzintervall nicht enthalten ist, so ist der Unterschied zwischen beiden Alternativen signifikant, im anderen Fall nicht. M¨ ochte man mehrere alternativen Konfigurationen miteinander vergleichen, um beispielsweise die Beste ausw¨ ahlen, so gibt es ebenfalls einige statistische Feinheiten“ zu beachten. Vergleiche hierzu [Law u. Kelton 2000]. ”
9.4 Diskrete Modelle: Fallstudien und Software
287
Varianzreduktionsverfahren Konfidenzintervalle machen Aussagen u ¨ber die Genauigkeit der vorgenommenen Sch¨ atzungen der Parameter. Je schmaler ein Konfidenzintervall ist, desto genauer ist die Aussage, die wir treffen. Wie man sieht, l¨asst sich die Breite des Konfidenzintervalls durch eine Erh¨ ohung der Anzahl der Simulationsl¨aufe verringern. Es gibt dar¨ uber hinaus jedoch Techniken, mit denen die Varianz (und damit die Konfidenzintervallbreite) k¨ unstlich“ verringert werden ” kann: die so genannten Varianzreduktionstechniken. Mit Hilfe dieser statistischen Verfahren kann zum Teil ein erheblicher Simulationsaufwand eingespart werden. Hier soll stellvertretend ein wichtiges Verfahren vorgestellt werden, weitere Verfahren finden sich z. B. in [Law u. Kelton 2000]. Das Verfahren der Common Random Numbers (gemeinsame Zufallszahlen) kann beim Vergleich von Systemkonfigurationen eingesetzt werden. Die Idee, die ihm zugrunde liegt, ist denkbar einfach: Bei der Simulation der verschiedenen Systemversionen werden jeweils die gleichen Zufallszahlen f¨ ur den jeweils gleichen Zweck benutzt. Im Werkstatt-Beispiel bedeutet dies, dass bei der Simulation beider Systemkonfigurationen die Autos jeweils zur gleichen Zeit ¨ ankommen und jeweils die gleiche Zeit f¨ ur die einzelnen Uberpr¨ ufungsschritte ben¨ otigt wird. Was dazu f¨ uhrt, dass die Unterschiede zwischen beiden Systemen (m¨ oglichst) ausschließlich auf die unterschiedlichen Konfigurationen und nicht zus¨ atzlich auf die unterschiedlichen verwendeten Zufallszahlen zur¨ uckzuf¨ uhren sind, wie dies beim Einsatz von unabh¨angigen Zufallszahlen der Fall w¨ are. Es wird also eine bessere Trennsch¨ arfe zwischen beiden Systemversionen erreicht. Bei der Verwendung von Common Random Numbers gilt es allerdings zu bedenken, dass gerade bei der Simulation von komplexen Systemen ein erheblicher Aufwand f¨ ur die Synchronisation der Verwendung der Zufallszahlen anfallen kann.
9.4 Diskrete Modelle: Fallstudien und Software 9.4.1 Fallstudie universit¨ arer Druckerpool“ ” In unserem exemplarischen, universit¨ aren Druckerpool besteht f¨ ur Studenten die M¨ oglichkeit, beliebige Dokumente auszudrucken. Dazu stehen im Druckerpool sechs Drucker zur Verf¨ ugung. Zwei der vorhandenen Drucker erm¨oglichen es, das Papier beidseitig zu bedrucken. Außerdem unterscheiden sich die Drucker in ihren Verarbeitungsgeschwindigkeiten. Bei einer Untersuchung wurde festgestellt, dass die Studenten die einseitigen Drucker meist nur dann nutzen, wenn sie weniger als 18 Seiten drucken wollen. Gr¨oßere Dokumente werden also fast immer auf einem der beiden Drucker, welche das beidseitige Drucken erlauben, ausgedruckt. Da die durchschnittliche Gr¨oße der zu druckenden Dokumente bei 40 Seiten liegt, werden die beidseitigen Drucker h¨aufiger genutzt als die Drucker, welche nur das einseitige Drucken erlauben. Dadurch kommt
288
9 Simulation
es im Tagesverlauf zur Bildung einer Warteschlange an den beidseitigen Druckern. F¨ ur die Studenten entstehen dadurch teilweise Wartezeiten von bis zu dreißig Minuten.
Abb. 9.7. Fallstudie Druckerpool
Das Ziel soll nun sein, mit Hilfe von Simulationsexperimenten, herauszufinden, wie der Druckerpool zusammengestellt sein sollte, damit unter den derzeitigen Bedingungen die Wartezeiten f¨ ur die Studenten m¨oglichst gering gehalten werden k¨ onnen. Dazu wurde ein einfaches Simulationsmodell, welches in Abb. 9.7 zu sehen ist, mit Hilfe der Simulationssoftware Arena, erstellt. Bei der Modellierung muss beachtet werden, dass die Studenten im Tagesverlauf mit unterschiedlichen Ankunftsraten eintreffen. Dazu wurden f¨ ur einen Tag die Ankunftsraten der Studenten zwischen 08:00 Uhr und 18:00 Uhr ermittelt. Diese ermittelten Ankunftsraten sind in Abb. 9.8 dargestellt. Es wur-
9.4 Diskrete Modelle: Fallstudien und Software
289
Ank¨ unfte
den dabei nur Studenten ber¨ ucksichtigt, welche auch tats¨achlich die Absicht haben, etwas im Druckerpool zu drucken. Im vorliegenden Beispiel ist jedem Studenten bereits beim Betreten des Druckerpools bekannt, wie viele Seiten er drucken m¨ ochte. Dieser Wert wird ihm im Simulationsmodell gleich zu Beginn als Attribut zugewiesen. Im Durchschnitt druckt jeder Student 40 Seiten, wobei die Wahrscheinlichkeit weniger Seiten zu drucken gr¨oßer ist, als mehr Seiten zu drucken. Deshalb wurde f¨ ur die Repr¨asentation der Anzahl der zu druckenden Seiten eine Exponentialverteilung gew¨ahlt, mit dem Mittelwert vierzig. Da der Druckerpool nur u ¨ber eine geringe Anzahl an zus¨atzlichem Warteraum verf¨ ugt, n¨ amlich acht Stehpl¨ atze, werden alle Studenten den Druckerpool sofort wieder verlassen, wenn bereits acht Studenten warten. Falls noch genug Platz ist, wird sich der Student f¨ ur eine der beiden Druckerarten, einseitiger Druck oder beidseitiger Druck, entscheiden und auf das Freiwerden eines geeigneten Druckers warten. F¨ ur die Auswahl der Druckerart wird angenommen, dass Studenten immer dann einen Drucker w¨ahlen, welcher Papier nur einseitig bedrucken kann, wenn sie weniger als achtzehn Seiten drucken m¨ochten. Sobald ein passender Drucker frei wird, wird er vom ersten Studenten in der jeweiligen Warteschlange benutzt. Neben der eigentlichen Druckzeit, welche sich aus der Anzahl der zu druckenden Seiten und 15 der Druckzeit pro Seite ergibt, 10 spielt auch die Druckvorberei5 tungszeit eine wichtige Rolle. M¨oglicherweise muss der Stu0 8 9 10 11 12 13 14 15 16 17 18 24 dent erst noch den Text schreiUhrzeit ben, den er ausdrucken m¨ ochte, z. B. einen kurzen Brief. Bei Abb. 9.8. Ankunftsraten l¨ angeren Texten wird der Student diesen bereits an einem Computer im Computerpool vorbereitet haben und auf einem Datentr¨ager mitbringen. Dann muss das Dokument nur noch ge¨offnet werden, wobei dieser Vorgang auch eine gewisse Zeit ben¨ otigt. Weiterhin kann es sein, dass der Student ein Vorlesungsskript drucken m¨ ochte. Dazu muss er zun¨achst das Skript suchen und ¨ offnen. Meist lesen die Studenten dann auch gleich noch ihre E-Mails oder sehen sich kurz f¨ ur sie interessante Webseiten an. Die Druckvorbereitungszeit wird daher als Dreiecksverteilung mit einem Minimalwert von 5 Minuten, einem Maximalwert von 20 Minuten und dem wahrscheinlichsten Wert von 10 Minuten angenommen. Nachdem der Druckvorgang beendet wurde, gibt der Student den Drucker frei und verl¨asst den Druckerpool. Somit kann der n¨ achste Student den frei werdenden Drucker nutzen, wodurch dann auch wieder ein Platz im Wartebereich freigegeben wird. Wird die Simulation mit den ermittelten Daten ausgef¨ uhrt, ergibt sich f¨ ur die simulierten 8 Stunden eine durchschnittliche Wartezeit von ca. 5 Minuten an
290
9 Simulation
den beidseitig druckenden Druckern. Einige Studenten mussten allerdings ca. 27 Minuten auf einen freiwerdenden beidseitigen Drucker, warten. Studenten, die ihre Dokumente nur einseitig ausdrucken wollten, konnten immer ohne Wartezeit u ugen. Durchschnittlich hat jeder Stu¨ber einen freien Drucker verf¨ dent ca. 19 Minuten im Druckerpool verbracht, um auf einen freiwerdenden Drucker zu warten, seine Dokumente f¨ ur den Druck vorzubereiten und den eigentlichen Druckvorgang auszuf¨ uhren. Einige Studenten konnte den Druckerpool bereits nach ca. 6 Minuten wieder verlassen und hatten ihre Arbeit erledigt. Im Gegensatz dazu verbrachten einige Studenten bis zu 45 Minuten im Druckerpool, wenn sie lange auf einen freiwerdenden Drucker warten mussten und dann auch noch ein Dokument mit einer hohen Seitenst¨arke ausdrucken wollten. Es gibt nun die M¨ oglichkeit einige der einseitigen Drucker gegen beidseitig druckenden Drucker auszutauschen. Zus¨atzliche Drucker k¨onnen jedoch nicht im Druckerpool untergebracht werden, da nicht gen¨ ugend Platz zur Verf¨ ugung steht. Nachdem nun im Simulationsmodell einer der vier einseitigen Drucker ausgetauscht wurde, verringert sich die durchschnittliche Wartezeit von ca. f¨ unf Minuten auf nur noch ca. 3 Minuten. Die maximale Wartezeit verringerte sich dabei auf ca. 23 Minuten. Wird nun ein weiterer Drucker ausgetauscht, dann verringert sich die durchschnittliche Wartezeit auf nur noch ca. 20 Sekunden und die maximale Wartezeit auf ca. 9 Minuten. Dadurch, dass nun nur noch zwei einseitig druckende Drucker zur Verf¨ ugung stehen, entsteht nun auch f¨ ur Studenten, die diese Drucker nutzen wollen, eine Wartezeit. Durchschnittlich m¨ ussen diese Studenten nun ca. 45 Sekunden warten, maximal jedoch ca. 9 Minuten. Im Gegensatz dazu verk¨ urzt sich die Wartezeit der Studenten mit gr¨oßeren Dokumenten, welche die beidseitig druckenden Drucker nutzen, die Wartezeit auf durchschnittlich 2 Sekunden und maximal auf ca. 2 Minuten. Durch den Austausch von zwei Druckern konnte also eine deutliche Verk¨ urzung der Wartezeiten erreicht werden. In der Schlusskonfiguration besteht der Druckerpool nun also aus zwei Druckern, welche nur einseitig drucken k¨onnen und vier Druckern, welche dazu in der Lage sind, Papier beidseitig zu bedrucken. 9.4.2 Simulationssoftware Arena Als Beispiel f¨ ur eine Simulationssoftware soll das Simulationsprogramm Arena, welches bereits f¨ ur unsere Fallstudie Druckerpool zum Einsatz kam, mit seinen Tools, Input Analyzer, Output Analyzer, Process Analyzer und dem Optimierungsprogramm OptQuest, dienen. Arena ist ein auf der Simulationssprache SIMAN basierendes, ereignisdiskretes, prozessorientiertes, grafisches Simulationssystem f¨ ur MS Windows (s. http://www.arenasimulation.com). In der Prozesssicht wird betrachtet, wie ein Entity durch das Modell wandert. Der Blick ist also auf die Prozesse, wel-
9.4 Diskrete Modelle: Fallstudien und Software
291
che ein Entity durchl¨ auft, gerichtet. F¨ ur den Anwender ist die prozessorientierte Sichtweise von großem Vorteil, da sich auf dieser Art komplexe Modelle mit einer großen Anzahl an Ereignissen, Entities und Ressourcen, u ¨bersichtlich, schnell und einfach modellieren lassen. Intern, f¨ ur den Modellierer unsichtbar, arbeitet Arena allerdings ereignisorientiert. So werden die prozessorientiert aufgebauten Simulationsmodelle f¨ ur den Simulationslauf umgewandelt. Mit Arena ist es m¨ oglich, Prozesse zu modellieren, zu simulieren, zu visualisieren und zu analysieren. F¨ ur die Modellierung verschiedenster Simulationsmodelle bietet Arena unterschiedliche grafische Modulschablonen, welche hierar¨ chisch, auf Basis der Modellierungsebene, angeordnet sind. Uber bestimmte Schnittstellen ist außerdem auf der untersten Modellierungsebene die Einbindung von Microsoft Visual Basic- und C-Programmcode in die Simulationsumgebung m¨ oglich. Dadurch und aufgrund der Verwendungsm¨oglichkeit von SIMAN Bausteinen kombiniert Arena die Vorteile einer einfach zu nutzenden, leistungsf¨ ahigen, objektorientierten und grafischen Simulationsumgebung mit der Flexibilit¨ at einer Simulationssprache und der komplett freien Erweiterbarkeit durch beliebigen eigenen Programmcode. Dieser modulare Aufbau der Simulationsmodelle hat den besonderen Vorteil der Wiederverwendbarkeit von selbst erstellten Modulen und Teilen von Simulationsmodellen. Grundlegende Module, wie z. B. f¨ ur Warteschlangen, aber auch Module f¨ ur bestimmte Anwendungsbereiche, z. B. f¨ ur Call-Center- oder Fabrikanlagensimulation, sind in Arena bereits enthalten. Wenn die f¨ ur ein Simulationsmodell n¨ otigen Module erstellt oder ausgew¨ahlt wurden, k¨ onnen sie in der grafischen Oberfl¨ache von Arena zusammengebaut werden. Die f¨ ur die Module notwendigen Eingabedaten, wie z. B. Ankunftszeiten, Ladezeiten, Reparaturzeiten, Transportzeiten und Ausschussraten m¨ ussen dann eingetragen werden. Diese Daten k¨onnen bei existierenden Systemen z. B. auf Basis von Beobachtungen, Messungen oder Sch¨atzungen erbracht werden. Bei noch nicht existierenden Systemen w¨are es m¨oglich, f¨ ur diese ben¨ otigten Daten ¨ ahnliche Systeme oder eventuell bereits vorhandene Spezifikationen zu verwenden. Dabei ist es m¨ oglich, diese Daten komplett in Arena einzugeben und zu nutzen. Stehen aber nur wenige Daten zur Verf¨ ugung, welche nicht den gesamten Simulationszeitraum abdecken oder sind die Daten in irgendeiner Form nicht nutzbar f¨ ur die direkte Verwendung, dann k¨onnen diese Informationen an Arena auch u ber Verteilungsfunktionen u ¨ ¨bergeben werden. Arena stellt dazu Verteilungsfunktionen wie z. B. Exponentialverteilung, Dreiecksverteilung, und Normalverteilung zur Verf¨ ugung. Zur Unterst¨ utzung bei der statistischen Analyse und Aufbereitung der Eingabedaten und der Ermittlung einer m¨oglichen Verteilungsfunktion steht innerhalb von Arena das Programm Input Analyzer bereit. Dazu werden die gesammelten Eingabedaten in einer Textdatei an das Programm u ¨bergeben. An die eingelesenen Daten k¨ onnen nun die verschiedenen Verteilungsfunktionen angepasst werden und zus¨ atzlich kann der Input Analyzer die am besten passende Verteilungs-
292
9 Simulation
funktion ermitteln. Der ermittelte Ausdruck kann dann im Simulationsmodell zur Repr¨ asentation der Eingabedaten genutzt werden. Neben dem Input Analyzer f¨ ur die Analyse von Eingabedaten gibt es außerdem den Output Analyzer, welcher die Auswertung der Simulationsergebnisse unterst¨ utzen soll. Die n¨ otigen Ergebnisdaten werden dazu im vorgefertigten Statistikdaten-Modul definiert und gesammelt. Nach der Simulation werden die gew¨ unschten Daten gespeichert und stehen danach zur weiteren Verarbeitung bereit. Zur Analyse stehen grafische Darstellungsm¨oglichkeiten wie Histogramm, Balkendiagramm oder auch Liniendigramm zur Verf¨ ugung. Dabei k¨ onnen mehrere Replikationen, einzeln oder auch zusammengefasst, in einem Diagramm abgebildet werden. Außer den einfachen grafischen Darstellungsm¨ oglichkeiten, bietet der Output Analyzer die M¨oglichkeit, statistische Analysen der gesammelten Ergebnisdaten durchzuf¨ uhren, wie z. B. die Ermittlung von Konfidenzintervallen. Zus¨ atzlich ist der Vergleich der Ergebnisse von alternativen Modellversionen m¨ oglich. Sollen mehrere alternative Modellkonfigurationen getestet werden, dann w¨are es sehr zeitaufw¨ andig, jedes Mal die Modellparameter in Arena zu ver¨andern und eine Simulation durchzuf¨ uhren, um dann die Ergebnisse im Output Analyzer zu untersuchen und zu vergleichen. Um diese Arbeit zu vereinfachen und zu verk¨ urzen, kommt der Process Analyzer oder auch Scenario Manager zum Einsatz. Der Process Analyzer erlaubt die Definition verschiedener Modellkonfigurationen, um diese danach selbst¨ andig ablaufen zu lassen (Batch Run). Damit ist eine Abarbeitung mehrerer Modellkonfigurationen bei großen Modellen mit langer Laufzeit, zum Beispiel u ¨ber Nacht oder am Wochenende, unbeaufsichtigt m¨ oglich. Außerdem ist es m¨ oglich, die Ergebnisse der verschiedenen Simulationsl¨ aufe im Process Analyzer mit einfachen Diagrammen zu visualisieren. Wenn nicht nur mehrere alternative Modellkonfigurationen erprobt werden sollen, sondern die einzelnen m¨ oglichen Modellparameter in bestimmten Schranken definiert sind, ist der Process Analyzer damit u ur die¨berfordert. F¨ sen Zweck liegt Arena das Optimierungsprogramm OptQuest bei. OptQuest erm¨ oglicht eine gemischt-ganzzahlige Optimierung, unter der Verwendung einer Kombination aus bekannten heuristischen Verfahren. Dazu geh¨oren Tabu Search, neuronale Netze und Scatter Search. Um eine Optimierung in OptQuest durchzuf¨ uhren, werden die ver¨ anderbaren Modellparameter, deren Schranken, Ergebnisvariablen sowie explizite und implizite Nebenbedingungen definiert. OptQuest u uhrt die ¨bernimmt dann die Kontrolle u ¨ber Arena und f¨ Optimierung durch. Dabei kann der Verlauf der Optimierung u ¨ber verschiedene Kontrollm¨ oglichkeiten verfolgt werden. Jede erprobte Modellkonfiguration und der zugeh¨ orige Wert der Ergebnisvariablen werden von OptQuest in einem Optimierungsprotokoll vermerkt, womit die Optimierungsschritte jederzeit nachvollziehbar sind. Außerdem stehen Grafiken zur Verf¨ ugung, welche die aktuelle Belegung der Optimierungsvariablen und den Verlauf der gefundenen L¨ osungen darstellen.
9.5 Simulation und Optimierung
293
9.5 Simulation und Optimierung Wie bereits dargestellt wurde, wird ein reales System mit Hilfe eines Simulationsmodells nachgebildet, um damit experimentieren zu k¨onnen. Eine M¨oglichkeit ist es, bestimmte Szenarien mit dem Simulationsmodell zu durchlaufen und so zu Erkenntnissen zu gelangen, die dann auf die Realit¨at u ¨bertragbar sind. Beispielsweise k¨ onnte man in einem Supermarkt, in dem die Kunden h¨aufig lange warten m¨ ussen, simulieren, ob es sinnvoll ist, eine weitere Kasse zu o ffnen. Andererseits kann es passieren, dass nicht eine bestimmte Anzahl ¨ an Szenarien erprobt werden soll, sondern bestimmte Entscheidungsvariablen in gewissen Schranken ver¨ andert werden k¨ onnen, um ein vorgegebenes Ziel zu erreichen. Es k¨ onnte also sein, dass die Anzahl der ge¨offneten Kassen pro Stunde im Bereich von zwei bis sieben variert werden kann, mit dem Ziel, eine maximale Wartezeit von f¨ unf Minuten nicht zu u ¨berschreiten. Gleichzeitig sollen m¨ oglichst wenig offene Kassen zur Verf¨ ugung stehen, um Personalkosten einzusparen. Wenn der Supermarkt von 08:00 Uhr bis 20:00 Uhr ge¨offnet hat und alle Tage gleich behandelt werden sollen, dann gibt es zw¨olf Variablen, die ver¨ andert werden k¨ onnen, n¨ amlich die Anzahl der offenen Kassen pro Stunde zwischen 08:00 Uhr und 20:00 Uhr. Da es recht aufw¨andig w¨are, nun alle m¨ oglichen Kombinationen manuell auszuprobieren, ist es sinnvoll, die Simulationsumgebung mit einem Optimierungsprogramm zu verbinden, um die beste Belegung der zw¨ olf Variablen unter den gegebenen Bedingungen herauszufinden. Zufallseinfl¨ usse Simulation Entscheidungsvariablen
Zielvariablen Optimierung
Abb. 9.9. Simulation und Optimierung
Werden Simulation und Optimierung gemeinsam benutzt, so wird die zu optimierende Zielfunktion mit Hilfe der Ergebnisse der Simulation berechnet. Das Simulationsmodell stellt dabei als Black Box“ den f¨ ur die Optimierung ” ben¨ otigten Zusammenhang zwischen den Entscheidungsvariablen (Input) und den Zielvariablen (Output) her (vgl. 9.9). Ein Vektor mit m¨oglichen Auspr¨ agungen der Entscheidungsvariablen werden vom Optimierungsprogramm an die Simulation u ¨bergeben, um mit dieser Konfiguration einen Simulationslauf durchzuf¨ uhren. Die dabei ermittelten Ergebnisse werden zur¨ uck an das Optimierungsprogramm u ¨bermittelt, wobei dieses anhand der Zielvariablen,
294
9 Simulation
des verwendeten Optimierungsverfahrens sowie der definierten Nebenbedingungen die Entscheidungsvariablen neu belegt und wieder an die Simulation u uhrt, bis eine Abbruchbedin¨bergibt. Diese Abfolge wird solange durchgef¨ gung erf¨ ullt ist. Beispielsweise ist es m¨ oglich, dass das Optimierungsverfahren beendet wird, wenn eine festgelegte Zeit vergangen ist, oder aber, wenn die gefundene L¨ osung ein bestimmtes Niveau u ¨berschreitet. Ebenso k¨onnte man das Optimierungsverfahren beenden, wenn eine gewisse Zeit keine bessere L¨osung mehr gefunden werden konnte. Bei stochastischen Simulationsmodellen muss zur Ermittlung eines Zielfunktionswertes die Simulation mehrfach durchlaufen werden, um eine gewisse statistische Aussagesicherheit zu gew¨ahrleisten. Dadurch kann es bei der Optimierung großer Simulationsmodelle zu sehr langen Laufzeiten kommen. Neben den definierten Nebenbedingungen f¨ ur die Entscheidungsvariablen, welche auch als explizite Nebenbedingungen bezeichnet werden, sind bei der Optimierung von Simulationsmodellen auch Restriktionen f¨ ur die Simulationsergebnisse m¨ oglich. Diese impliziten Nebenbedingungen, auch Requirements genannt, erm¨ oglichen es, z. B. die L¨ ange von Warteschlangen, Wartezeiten, Maschinenauslastungen oder auch die Gesamtverweildauer eines Entities im System zu beschr¨ anken. In unserem zu optimierenden Supermarkt stellt die Beschr¨ ankung der Wartezeit auf maximal f¨ unf Minuten eine implizite Restriktion dar. Die Beschr¨ ankung der Anzahl der Kassen auf einen Wert zwischen zwei und sieben ist hingegen eine explizite Nebenbedingung. Problematisch bei der Verwendung von impliziten Nebenbedingungen ist es, dass sie erst nach einem Simulationslauf u uft werden k¨ onnen, wodurch es dazu kommen ¨berpr¨ kann, dass ein rechenzeitintensiver Simulationslauf verworfen werden muss. Man sollte also soweit m¨ oglich implizite Nebenbedingungen vermeiden. Im Gegensatz dazu wird die Einhaltung von expliziten Restriktionen bereits vor einem Simulationslauf sichergestellt. Aufgrund der hohen Komplexit¨ at der meisten Simulationsmodelle und der Unkenntnis des Optimierungsprogramms u ¨ber deren Aufbau ( Black Box“), ist ” der Einsatz eines Optimierungsverfahrens zur exakten L¨osung kaum m¨oglich. Ein weiteres Problem tritt beim Einsatz von stochastischen, dynamischen Simulationsmodellen auf. Durch die hier auftretenden Zufallseinfl¨ usse gibt es keine exakte L¨ osung. Deshalb wird meist eine Heuristik zur Approximation einer optimalen L¨ osung verwendet. Der Einsatz dieser Verfahren f¨ uhrt aufgrund ihrer heuristischen Natur aber nicht zwangsl¨aufig zu einer optimalen L¨ osung. Zumindest werden zul¨ assige und meist auch recht gute suboptimale oglichst wenig Aufwand, also durch L¨osungen gefunden. Das Ziel ist es, mit m¨ die Untersuchung m¨ oglichst weniger Konfigurationen, m¨oglichst schnell gute L¨osungen zu finden. Die heuristischen Optimierungsverfahren beginnen dazu mit einer zul¨ assigen Startl¨ osung und versuchen diese dann schrittweise zu verbessern. Um bei der Optimierung nicht nur lokale, sondern auch globale Optima finden zu k¨ onnen, muss das Optimierungsverfahren in der Lage sein, aus lokalen Optima zu entkommen. Akzeptiert ein Optimierungsverfahren nur
9.5 Simulation und Optimierung
295
Verbesserungen, dann f¨ uhrt dies in den meisten F¨allen zu einem lokalen Optimum. Durch die Variation der Startwerte ist es aber durchaus m¨oglich, zuf¨allig zum globalen Optimum zu gelangen. Ein lokales Optimum kann nur verlassen werden, indem ein Optimierungsverfahren in gewissem Maße auch Verschlechterungen des Zielfunktionswertes zul¨ asst. Damit ein solches Verfahren nicht endlos weiterl¨ auft, wird es nach einer vorgegebenen Zeit abgebrochen, oder wenn eine gewisse Anzahl an Durchl¨ aufen keine Verbesserung mehr erzielen konnte. Aufbauend auf lokalen Suchverfahren wurden verschiedene Metaheuristiken entwickelt. Dazu z¨ ahlen z. B. das Simulated Annealing, Threshold Accepting, Great Deluge und Tabu Search. Weiterhin gibt es naturanaloge Metaheuristiken, wie z. B. Genetische Algorithmen. Wie bereits dargestellt wurde, kann es bei der Optimierung von Simulationsmodellen zu sehr langen Laufzeiten kommen. Einen m¨oglichen Ausweg stellt die Parallelverarbeitung dar. Dabei kann entweder die Simulation oder das Optimierungsverfahren parallelisiert werden. Um eine Parallelverarbeitung eines Simulationsmodells zu erm¨ oglichen, muss dieses bereits bei der Modellierung dahingehend erstellt werden. Es ist n¨ otig, parallel ausf¨ uhrbare Teilmodelle zu bilden. Dieser Schritt kann derzeit nicht automatisch durchgef¨ uhrt werden, sondern muss vom Modellierer selbst erledigt werden. Die Aufspaltung in sinnvoll parallelisierbare Teilmodelle ist nicht immer m¨oglich und so ist die Parallelisierung der Simulation meist nicht durchf¨ uhrbar. Ein weiteres Problem sind die zus¨ atzlichen Aufgaben, welche die Simulationsumgebung bei der parallelen Simulation eines Modells zu erf¨ ullen hat. Es gilt n¨amlich, die Teilmodelle immer synchron zu halten und die bestehenden Abh¨angigkeiten zwischen den Teilmodellen jederzeit zu ber¨ ucksichtigen. Dadurch wird wieder zus¨ atzliche Rechenzeit ben¨ otigt. Die zu erwartende Laufzeitverk¨ urzung ist bei realen Modellen bisher so gering, dass sich der große Aufwand f¨ ur die Parallelisierung eines Simulationsmodells meist nicht lohnt. Sinnvoller ist die Parallelisierung des Optimierungsverfahrens. Die genannten Metaheuristiken lassen sich mit unterschiedlich großem Aufwand parallelisieren. Besonders einfach ist es, die Genetischen Algorithmen zu parallelisieren, da diese pro Optimierungsschritt eine große Anzahl unabh¨ angiger Simulationsl¨aufe ben¨otigen, welche jeweils auf verschiedenen Prozessoren ausgef¨ uhrt werden k¨onnten. Eine weitere M¨ oglichkeit, die Ausf¨ uhrungszeiten einer simulationsbasierten Optimierung zu verk¨ urzen, besteht in der Meta-Modellierung. Dabei geht es darum, zu versuchen, das Verhalten eines Simulationsmodells in Bezug auf die Transformation von Entscheidungsvariablen zu den Zielvariablen durch ein Modell vom Modell“ zu approximieren. Das kann durch ein algebrai” unstliche Neuronale Netze geschehen. sches Modell, oder aber auch durch K¨ Um keine zus¨ atzlichen Simulationsl¨ aufe f¨ ur die Erstellung eines Meta-Modells zu ben¨ otigen, wird w¨ ahrend der ersten Simulationsl¨aufe der Optimierung das Meta-Modell erstellt. Dieses Meta-Modell kann dann im sp¨ateren Verlauf f¨ ur eine grobe Evaluierung von L¨ osungen verwendet werden. Da die meisten Simulationsmodelle sehr komplex sind, dauert es eine Weile, bis ein einigermaßen
296
9 Simulation
brauchbares Meta-Modell erstellt werden kann. Je nach Komplexit¨at der Simulationsmodelle kann es sein, dass die mit dem Meta-Modell ermittelten Ergebnisse stark vom Simulationsmodell abweichen, sie sind also nicht immer sinnvoll einsetzbar. Das Optimierungsverfahren muss gegebenenfalls entscheiden, ob und in welchem Umfang von einem Meta-Modell Gebrauch gemacht werden kann, um zumindest schnell ein L¨ osungsgebiet auszuw¨ahlen, in dem die Optimall¨ osung zu erwarten ist. Eine alleinige Verwendung von Meta-Modellen zur Optimierung ist meist nicht m¨ oglich.
9.6 Was sollte ich gelernt haben? Diskrete Simulation Welche Basiskonzepte geh¨ oren zur diskreten Simulation? Was kann damit typischerweise simuliert werden? Verteilung der Inputdaten Wie kann eine passende Verteilung der Inputdaten identifiziert werden? Welche Verteilung ist f¨ ur die Ankunftsrate in Warteschlangensystemen typisch? Und f¨ ur die Zwischenankunftszeiten? Sch¨ atzverfahren Wie k¨ onnen Parameter der Input-Verteilung gesch¨atzt werden? Erzeugung von Zufallszahlen Wie werden Zufallszahlen einer beliebigen Verteilung generiert? Welche Anforderungen gelten dabei? Output-Verteilungen Wie kann die Genauigkeit von Ergebniswerten einer Simulation gesch¨atzt werden? Durch welche Methoden kann die Genauigkeit erh¨oht werden? Softwarepaket Arena Besorgen Sie die Demoversion des Simulationspakets Arena. Erstellen Sie ein Simulationsmodell f¨ ur die Fallstudie Druckerpool in Arena und f¨ uhren Sie eine sinnvolle Anzahl von Experimenten durch.
Literaturverzeichnis
Kapitel 1 Lehrb¨ ucher zu Operations Research und Optimierung [Domschke u. Drexl 2005]
Domschke, W., Drexl A. (2005): Einf¨ uhrung in Operations Research. Springer, 6. Auflage. [Domschke et al. 2005] Domschke, W., Drexl, A., Klein, R., Scholl, A., Voß, S. ¨ (2005): Ubungen und Fallbeispiele zu Operations Research. Springer, 5. Auflage. [D¨ urr u. Kleibohm 1992] D¨ urr, W., Kleibohm, K. (1992): Operations Research. Lineare Modelle und ihre Anwendungen. Fachbuchverlag Leipzig. [Ellinger et al. 2003] Ellinger, Th., Beuermann G., Leisten R. (2003): Operations Research. Eine Einf¨ uhrung. Springer-Verlag, 6. Auflage. [Hillier u. Liebermann 1997] Hillier, F.S., Liebermann, G.S. (1997): Operations Research – Einf¨ uhrung. Oldenbourg-Verlag, M¨ unchenWien. [Kallrath u. Wilson 1997] Kallrath, J., Wilson, J. M. (1997): Business Optimisation using Mathematical Programming. Macmillan Press, Hampshire and London. [Littger 1992] Littger, K. (1992): Optimierung. Springer-Verlag. [Neumann u. Morlock 1993] Neumann, K., Morlock, M. (1993): Operations Research. Carl Hansen Verlag. [Taha 2002] Taha, H. (2002): Operations Research: An Introduction. Prentice-Hall, 7th Edition. [Williams 1999] Williams, P. (1999): Model Building in Mathematical Programming. John Wiley et Sons, 4th Edition. [Williams 1993] Williams, P. (1993): Model Solving in Mathematical Programming. John Wiley et Sons.
298
Literaturverzeichnis
Lehrb¨ ucher zu Management Science [Bell 1999]
Bell, Peter C.: (1999) Management Science / Operations Research - A Strategic Perspective. South-Western College Publishing. - viele Fallstudien und Praxisanwendungen [Bodily et al. 1997] Bodily, S., Carraway, R., Frey, S., Pfeifer, P. (1997): Quantitative Business Analysis: Text and Cases. McGraw-Hill. - repr¨ asentative Fallstudien [Denardo 2001] Denardo, E. V. (2001): The Science of Decision Making. John Wiley et Sons. - Standardinhalte des OR/MS EXCEL-orientiert aufgebaut [Ragsdale 2003] Ragsdale C. (2003): Spreadsheet Modeling and Decision Analysis – A Practical Introduction to Management Science. South-Western College Publ., 4th Edition. [Winston u. Albright 2000] Winston, W. L., Albright, S. C.: (2000) Practical Management Science. Duxbury Press, Belmont, CA, 2nd Edition. EXCEL-orientiertes Lehrbuch f¨ ur Business Schools
Weitere Referenzen in Kapitel 1 [G¨ unther 2005]
[Koschat et al. 2003]
[Linecker u. Schulz 2002] [Petruzzi u. Dada 1999]
[Savage 2003] [Zapf u. Grasemann 2001]
G¨ unther, H.-O. (2005): Supply Chain Management and Advanced Planning Systems: A Tutorial. In: G¨ unther, H.-O., Mattfeld, D., Suhl, L. (Hrsg.): Supply Chain Management und Logistik - Optimierung, Simulation, Decision Support. Physica-Verlag. Koschat, M., Berk, G., Blatt, J., Kunz, N., LePore, M. (2003): Newsvendors tackle the newsvendor problem. Interfaces 33 (3),pp. 72-84. Linecker, Schulz (2002): SCM-Planungstechniken bei Fischer-Ski. ORNews Nr. 16, November 2002. Petruzzi, N. C., Dada, M. (1999): Pricing and the newsvendor problem: A review with extensions. Operations Research 47 (2). Savage, Sam, L. (2003): Insight.XLA. Duxbury Press. Zapf, M., Grasemann, M. (2001): Call-CenterSimulation vermeidet Fehler. Computerwoche, Ausgabe 8/2001.
Kapitel 2 [Chv´ atal 2002] [Dantzig 1963]
Chv´ atal, V. (2002): Linear Programming. W.H. Freeman & Co, 16th Edition. Dantzig, G. B. (1963): Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey.
Literaturverzeichnis [D¨ urr u. Kleibohm 1992]
[Lukesch 2005]
[Maros 2003] [Murtagh 1981] [Murty 1983] [Nazareth 1987] [Vanderbei 2001]
[Williams 1993]
299
D¨ urr, W., Kleibohm, K. (1992): Operations Research. Lineare Modelle und ihre Anwendungen. Fachbuchverlag Leipzig. Lukesch, S. (2005): Optimierung der S¨ udzucker R¨ ubenlogistik mittels iterativer linearer Programmierung. In: G¨ unther, H.-O., Mattfeld, D., Suhl, L. (Hrsg.): Supply Chain Management und Logistik - Optimierung, Simulation, Decision Support. Physica-Verlag. Maros, I. (2003): Computational Techniques of the Simplex Method. Kluwer Academic Publishers, Boston. Murtagh, B. A. (1981): Advanced Linear Programming: Computation and Practice. McGraw-Hill, New York. Murty, K. G. (1983): Linear Programming. John Wiley & Sons, New York. Nazareth, J. L. (1987): Computer Solution of Linear Programs. Oxford University Press, New York - Oxford. Vanderbei, R. J. (2001): Linear Programming: Foundations and Extensions. International Series in Operations Research and Management Science. Kluwer Academic Publishers, Boston, 2nd Edition. Williams, P. (1993): Model Solving in Mathematical Programming. John Wiley&Sons, 1993.
Kapitel 3 [Bixby 2002]
[Chv´ atal 2002] [Dantzig 1963]
[Fourer et al. 1999]
[Maros 2003] [Mellouli 2003]
[Mops 2004] [Murtagh 1981] [Murty 1983]
Bixby, R. E. (2002): Solving real-world linear programs: a decade and more of progress. Operations Research 50 (1), pp. 3-15, 2002. Chv´ atal, V. (2002): Linear Programming. W.H. Freeman & Co, 16th Edition. Dantzig, G. B. (1963): Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey. Fourer, R., Gay, D., Kernighan, B. (1999): AMPL: A modeling language for math programming package. Duxbury Press. Maros, I. (2003): Computational Techniques of the Simplex Method. Kluwer Academic Publishers, Boston. Mellouli T. (2003): Scheduling and Routing Systems in Public Transport Systems: Modeling, Optimization, and Decision Support. Habilitationsschrift, Universit¨ at Paderborn. MOPS 6.x Benutzerhandbuch (2004). S. http://www.mops-optimizer.com. Murtagh, B. A. (1981): Advanced Linear Programming: Computation and Practice. McGraw-Hill, New York. Murty, K. G. (1983): Linear Programming. John Wiley & Sons, New York.
300
Literaturverzeichnis
[Suhl/L. u. Suhl/U. 1993]
[Suhl/U. 1990]
[Suhl/U. 2000] [Vanderbei 2001]
Suhl, L., Suhl, U. H. (1993): A Fast LU-update for linear programming, Annals of Operations Research 43, pp. 33-47, 1993. Suhl, U. H., Suhl, L. (1990): Computing sparse LU factorizations for large-scale linear programming bases. ORSA Journal on Computing, Vol. 2, No. 4, Fall 1990. Suhl, U. H. (2000): MOPS – Mathematical OPtimization System. In: OR News, Nr. 8, pp. 11-16. Vanderbei, R. J. (2001): Linear Programming: Foundations and Extensions. International Series in Operations Research and Management Science. Kluwer Academic Publishers, Boston, 2nd Edition.
Kapitel 4
[Kallrath 2002] [Suhl/U. 2001]
[Steinzen et al. 2004]
[Williams 2001]
Es gibt nicht viel allgemeine Literatur zu Vorgehensweisen bei der Modellierung von Optimierungsaufgaben. Dagegen gibt es in der wissenschaftlichen Literatur zahlreiche Ver¨ offentlichungen zu speziellen Optimierungsanwendungen, in denen ein Modell zusammen mit L¨ osungsans¨ atzen beschrieben wird. Eine Vorstellung solcher Ver¨ offentlichungen w¨ urde hier jedoch den Rahmen dieses Buches sprengen. Der interessierte Leser sollte beispielsweise die Zeitschriften Interfaces, Operations Research, OR Spectrum, OR News, Computers & Operations Research usw. studieren. Kallrath, J. (2002): Gemischt-ganzzahlige Optimierung. Vieweg-Verlag. Suhl, U. H. (2001): IT-gest¨ utzte operative Sortimensplanung. In: Jahnke, B., Wall, F. (Hrsg.): IT-gest¨ utzte betriebswirtschaftliche Entscheidungsprozesse. GablerVerlag, S. 175-194. Steinzen, I., Koberstein, A., Suhl, U. H. (2004): Ein Entscheidungsunterst¨ utzungssystem zur Verschnittoptimierung von Rollenstahl. In: Suhl, L., Voß, S.: Quantitative Methoden in ERP und SCM, DSOR Beitr¨ age zur Wirtschaftsinformatik/DSOR Contributions to Information Systems, Paderborn, BoD. Williams, P. (2001): Model Building in Mathematical Programming. John Wiley & Sons, 4th Edition.
Kapitel 5 [Cormen et al. 2001]
Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein, C. (2001): Introduction to Algorithms. MIT Press, 2nd Edition. [Michalewicz u. Fogel 2002] Michalewicz Z., Fogel D. B. (2002): How to Solve It: Modern Heuristics. Springer, 3rd Printing.
Literaturverzeichnis
301
[Nemhauser u. Wolsey 1988] Nemhauser, G., Wolsey, L. (1988): Integer and Combinatorial Optimization. Wiley-Interscience. [Reeves 1995] Reeves, C. R. (1995): Modern Heuristic Techniques for Combinatorial Problems. McGraw-Hill. [Williams 1993] Williams, P. (1993): Model Solving in Mathematical Programming. John Wiley & Sons. [Wolsey 1998] Wolsey, L. (1998): Integer Programming. John Wiley & Sons.
Kapitel 6 [Ahuja et al. 1993]
[Butchers et al. 2004]
[Chvatal 2002] [Suhl/U. u. Hilbert 1998]
Ahuja, R. K., Orlin, J. B., Magnanti, T. (1993): Network Flows – Theory, Algorithms, and Applications. Prentice-Hall. Butchers, E. R., Day, P. R., Goldie, A. P., Miller, S., Meyer, J. A., Ryan, D. M., Scott, A. C., Wallace, A. (2004): Optimized Crew Scheduling at Air New Zealand. Interfaces (34)1, pp. 30-56. Chv´ atal, V. (16th Edition, 2002): Linear Programming. W.H. Freeman & Co. Suhl, U. H., Hilbert, H. (1998): A Branch-and-CutAlgorithm for solcing generalized multiperiod Steiner problems in graphs. Networks (31), pp. 273-282.
Kapitel 7 [Kliewer 2005]
[Mellouli u. Kliewer 2002]
[Mellouli 2003]
[Mellouli 2001]
[Mellouli u. Suhl/L. 2005]
Kliewer, N. (2005): Optimierung des Fahrzeugeinsatzes im ¨ offentlichen Personennahverkehr - Modelle, Methoden und praktische Anwendungen. Universit¨ at Paderborn, DS&OR Lab, Dissertation. Mellouli, T. und Kliewer, N. (2002): Umlaufplanung im ¨ offentlichen Verkehr mit mehreren Depots und Fahrzeugtypen: Neue L¨ osungsmodelle und praktische Aspekte. Tagungsbericht der HEUREKA’02 (Optimierung in Verkehr und Transport) Seiten 63-76. FGSVVerlag, K¨ oln (2002). Mellouli T. (2003): Scheduling and Routing Systems in Public Transport Systems: Modeling, Optimization, and Decision Support. Habilitationsschrift, Universit¨ at Paderborn. Mellouli, T. (2001): A Network Flow Approach to Crew Scheduling based on an Analogy to a Train/Aircraft Maintenance Routing Problem. In Voß et al. (Eds.) Computer-Aided Scheduling of Public Transport, LENMS 505, pp. 91-120. Springer. Berlin. Mellouli and Suhl (2005): Rotation planning of locomotive and carriage groups with shared capacites. In Proc. Algorithmic Methods and Models for Optimization of Railways (ATMOS 2004). Erscheint in Lecture Notes in Computer Science. Springer-Verlag (2005).
302
Literaturverzeichnis
Kapitel 8 [Domschke u. Drexl 1996] [Domschke 1997] [Kliewer et al. 2005]
[Mellouli 2003]
[Nickel et al. 2005]
Domschke, W., Drexl, A. (1996): Logistik Band 3 Standorte. Oldenbourg-Verlag, M¨ unchen-Wien. Domschke, W. (1997): Logistik Band 2 - Rundreisen und Touren. Oldenbourg-Verlag, M¨ unchen-Wien. Kliewer, N., Knechtel, T., Lehmann, R. (2005): Qualifikationsbezogene Mehrdepot-Tourenplanung mit Zeitfenstern: Fallstudie technischer Kundendienst der Miele&Cie. KG. Universit¨ at Paderborn, DS&OR Lab, Working Paper WP0502. Mellouli, T. (2003): Scheduling and Routing Systems in Public Transport Systems: Modeling, Optimization, and Decision Support. Habilitationsschrift, Universit¨ at Paderborn. Nickel, S., Velten, S., Weimerskirch, G. (2005): Strategische Supply-Chain Entscheidungen in der Stahlindustrie - eine Fallstudie. In: G¨ unther, H.-O., Mattfeld, D., Suhl, L. (Hrsg.): Supply Chain Management und Logistik - Optimierung, Simulation, Decision Support. Physica-Verlag.
Kapitel 9 [Banks 1998] [Banks et al. 2005]
[Biethahn et al. 1999]
[Kelton et al. 2002] [Kramer u. Neculau 1998] [Law u. Kelton 2000] [Liebl 1995] [Shannon 1975] [Steinhausen 1994]
Banks, J. (1998): Handbook of Simulation. John Wiley & Sons. Banks, J., Carson, J. S., Nelson, B. L., Nicol, D., M. (2005): Discrete-Event System Simulation. Pearson Education. Biethahn, J., Hummeltenberg, W., Schmidt, B., St¨ ahly, P., Witte, T. (2005): Simulation als betriebliche Entscheidungshilfe. Physica-Verlag. Kelton, W. D., Sadowski, R. P., Sadowski, D. A. (2002): Simulation with Arena – Second Edition. McGraw-Hill. Kramer, U., Neculau, M. (1998): Simulationstechnik. Carl Hanser Verlag. Law, A. M.,Kelton, W. D. (2000): Simulation Modelling and Analysis. McGraw-Hill. Liebl, F. (1995): Simulation. Oldenbourg-Verlag. Shannon, R. E. (1975): System Simulation. PrenticeHall. Steinhausen, D. (1994): Simulationstechniken. Oldenbourg-Verlag.
Sachverzeichnis
¨ Okonomische Interpretation aquivalente Formeln 114 ¨ 2-opt-Verfahren 252
62
Absolutwert 106 ADD-Algorithmus 260 Aggregationsmethode f¨ ur potentielle Leerfahrten 231 Aggregiertes Netzwerkflussmodell 228 Algebraische Darstellung 114 alternative Restriktionsgruppen 102 alternative Systemkonfigurationen 286 AMPL 89 Anfangsl¨ osung 52 Anschlusslinien 229 Approximation nichtlinearer Ausdr¨ ucke 109 Augmenting-Path-Algorithmus 201 Automatische Ein- und Ausgabe 82 Backtracking-Verfahren 135, 139, 141, 142, 149 Basis 46, 47, 59 Basisl¨ osung 47 Basisvariablen 47 Baum 168 Bin¨ arsuche 137 bipartiter Graph 167 Bounding 139 Branch-and-Bound-Verfahren 135, 139, 141, 148, 149, 151 Branching-Regeln 160 Branch&Cut 245 Brieftr¨ agerproblem 165
Chinese Postman 165 Column-Generation 246 CPLEX 78 Cuts 159 Cutting planes 159 DAG 168 Datenbasierte Verfahren 16 Datenstrukturen 85 Decision Support 5 Degenerierte Optimall¨ osungen 37 dequeue-Strategie 180 Dijkstra 173 directed acyclic graph 168 Diskrete Modelle 287 Diskrete Modelle: Techniken 275 Diskrete Simulation 14 Divide-and-Conquer 136 DLL-Schnittstelle 86 Duales Modell 67 Dualit¨ at 69 Dualit¨ atseigenschaften 69 Duality Gap 155 Dynamische Tourenplanung 254 Ecke 59 einstufiges Transportproblem 184 Entscheidungstheorie 14 Entscheidungsvariablen 32 Er¨ offnungsverfahren 137 Evaluierung der Anpassungsg¨ ute 279 Finanzplanung Fixkosten 98
23
304
Sachverzeichnis
Fixkostenprobleme 98 Floyd/Warshall 181 Ford/Moore 179 Formel 113 Freie Variablen 38 gemischt-ganzzahlige Modelle 135 Gemischt-ganzzahlige Optimierung 9 Generierung von zufallsbehafteten Inputdaten 280 gerichteter Graph 167 Gewichtung 118 Goal Programming 119 Grafische L¨ osung 33 Greedy-Methode 135 Heuristiken
12, 160
Implementierungstechniken 80, 158 Innere-Punkte-Verfahren 43 Interaktive Ein- und Ausgabe 82 Job Sequencing
144
k¨ urzeste Wege 164, 172, 189 K¨ urzeste-Wege-Problem 10 Kapazitiertes (einstufiges) WLP 257 Kette 167 Klausel 113 KNF 113, 114 Knoten-Auswahlregeln 161 Kombination Heuristik/mathematische Optimierung 235 Komplexit¨ at 133 Komponente 168 konjunktive Normalform 113, 114 Kontinuierliche Modelle 271, 272 Konzepte in diskreten Simulationsmodellen 275 kostenminimale Fl¨ usse 165, 203 Kreis 168 Kruskal 172 l¨ angste Wege 183 L¨ osungstechniken 8 L¨ osungsverfahren 42 label correcting 178 Laufzeitentwicklung, LP 80 Laufzeitentwicklung, MIP 161 LC-Verfahren 178
Lineare Modelle 31 Lineare Optimierung 8 lineare Suche 137 Literal 113 Logic 111 logische Aussagen 111 logische Formeln 111 Lokale Suche 138 LP-Modelle mit spezieller Struktur LP-Optimierungssoftware 77 LP-Solver 160 LP-Standardformat 45
38
Management Science 5 matching 190 Mathematical Programming Language 89 Mathematische Programmierung 19 Matrizen, total unimodulare 156 max-flow-min-cut 203 maximale Fl¨ usse 164, 191, 199 maximum flows 164 Mehrdeutige Optimall¨ osungen 37 Mehrere Perioden 41 Mehrere Produktionsst¨ atten 40 mehrfache Zielsetzung 116 Mehrschichtarbeit 96 Mehrstufige Warehouse Location Probleme 258 mehrstufiges Transportproblem 185 Metaheuristiken 12, 139 Min-Cost-Flow-Problem 165, 188, 197 Mindestanteile 117, 118 Minimale Spannb¨ aume 169 Minimaler Spannbaum 164 Minimierungsmodelle 38 MIP-Heuristiken 160 MIP-Techniken 158 mixed-integer Programming 135 Modell 6 Modellbildung 6 Modellierung 95 Modellierung der Inputdaten 277 Modellierungssprachen 83, 88 Modellierungstechniken 8, 120 Monte-Carlo-Simulation 13 MOPS 78 MPL 89 MPS-Format 83
Sachverzeichnis naturanaloge Verfahren 139 Netzwerkbasierte Modellierung des Umlaufplanungsproblems 222 Netzwerkoptimierung 10 Netzwerkorientierte Optimierungsmodelle 163 Netzwerktransformationen 225 Nichtbasisvariablen 47 Nichtlineare Programmierung 12 Nichtlinearit¨ aten, spezielle 103 Node selection strategies 161 O-Notation 135 Operations Research 5 Optimierungssoftware in der Praxis 234 Optimierungssysteme 18 passende Verteilungstypen 278 Personaleinsatzplanung 23 Phase I 52 Preprocessing 159 Prim 172 Produktionsplanung 21 Produktionsplanung und -steuerung (PPS) 216 Prognoseverfahren 15 Programmierung, mathematische 19 Programming, mixed-integer 135 Prozessindustrie 20 Pseudozufallszahlen 281 queue
305
Schnittebenen 159 Schwellenwerte 100 Schwierigkeitsgrad 133 Sensitivit¨ atsanalyse 67 Separable Programme 110 Set-Partitioning 245 shortest path 164 Simplex 60 Simplex-Verfahren 44, 48 Simplex-Verfahren, grafisch 56 Simulation 13, 269 Simulation und Optimierung 293 Simulation: Fallstudie Druckerpool 287 Simulationsexperimente 283 Simulationssoftware Arena 290 Spannbaum 164, 169 St¨ uckweise lineare Funktionen 107 Standard-Optimierungssoftware 207 Standardproblem der Tourenplanung 241 Standortplanung 165, 256 stark zusammenh¨ angender Graph 168 starke Zusammenhangskomponente 168 Station¨ are Simulationsmodelle 285 Steuerung des Simulationsablaufs 276 Strong Branching 161 successive-shortest-path-Algorithmus 205 Supply Chain Management 21 Sweep-Verfahren 250
181
r-opt-Verfahren 252 Rechenaufwand 81 reduzierte Kosten 64 Restflussnetzwerk 201, 205 Restriktionen 33 Revenue Management 24 Rucksackproblem 135, 143 s-t-Fluss 189 Savings-Verfahren 247 Sch¨ atzung der Verteilungsparameter 279 Sch¨ atzung von Ergebnisgr¨ oßen 283 Schattenpreise 64, 66 Schlange 181
Teilgraph 168 total unimodular 156 total unimodulare Matrizen 156 Tourenplanung 165, 237 Transformationsregeln 116 Transportproblem 164, 167, 184 Transshipment-Modell 185 Transshipment-Modell, Umformung 192 Travelling-Salesman-Problem 165, 238 Tripel-Algorithmus 182 Umformung des Transshipment-Modells 192 Umladeproblem 11, 165 Umlaufplanungsproblem 220
306
Sachverzeichnis
Umlaufplanungsproblem: Praxisanwendung 227 Unbeschr¨ ankte Modelle 37 ungerichteter Graph 167 Unkapazitiertes (einstufiges) WLP 256 Valid Inequalities 159 Varianzreduktionsverfahren 287 Vehicle Routing 241 Vehicle Scheduling 241 Verbesserungsverfahren 137, 251 Vergleich von Alternativen 270 Verschnittprobleme 22
Wald 168 Warteschlangenmodelle 270 Weg 168 Weiche Restriktionen 106 XPressMP
78
Zentrenprobleme 262 Zielfunktion 32 Zirkulationsfluss 191 Zufallsvariablen 282 zul¨ assiger Bereich 36, 59 Zuordnungsproblem 189 zusammenh¨ angender Graph Zyklus 168
168