Karl Heinz Borgwardt unter Mitarbeit von Matthias Tinkl und Thomas Wörle Aufgabensammlung und Klausurentrainer zur Optimierung
Aus dem Programm
Mathematik
Nichtlineare Optimierung von Walter Alt Numerische Verfahren der konvexen, nichtglatten Optimierung von Walter Alt
Aufgabensammlung und Klausurentrainer zur Optimierung von Karl Heinz Borgwardt Optimierung (Teil 1 und Teil 2) von Peter Gritzmann Numerik der Optimierung von Christian Großmann und Johannes Terno Lineare Optimierung und Netzwerkoptimierung von Horst W. Hamacher und Kathrin Klamroth Kombinatorische Optimierung erleben von Stephan Hußmann und Brigitte Lutz-Westphal Mathematische Optimierung von Volker Kaibel Gemischt-ganzzahlige Optimierung: Modellierung in der Praxis von Josef Kallrath Zuschnitt- und Packungsoptimierung von Guntram Scheithauer
www.viewegteubner.de
Karl Heinz Borgwardt unter Mitarbeit von Matthias Tinkl und Thomas Wörle
Aufgabensammlung und Klausurentrainer zur Optimierung Für die Bachelorausbildung in mathematischen Studiengängen STUDIUM
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Prof. Dr. Karl Heinz Borgwardt Universität Augsburg Institut für Mathematik Universitätsstraße 14 86135 Augsburg E-Mail:
[email protected] 1. Auflage 2010 Alle Rechte vorbehalten © Vieweg +Teubner | GWV Fachverlage GmbH, Wiesbaden 2010 Lektorat: Ulrike Schmickler-Hirzebruch | Nastassja Vanselow Vieweg +Teubner ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.viewegteubner.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. 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: KünkelLopka Medienentwicklung, Heidelberg Druck und buchbinderische Verarbeitung: STRAUSS GMBH, Mörlenbach Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0878-3
Vorwort Die vorliegende Aufgabensammlung zur Optimierung ist aus einer 25-j¨ahrigen Lehrt¨atigkeit an der Universit¨at Augsburg f¨ur Mathematik- und Wirtschaftsmathematik-Studierende entstanden. Im zweij¨ahrigen Rhythmus habe ich jeweils die Vorlesungen Optimierung I (Lineare Optimierung), Optimierung II (Nichtlineare Optimierung), Operations Research I (Kombinatorische Optimierung) und Operations Research II (Ganzzahlige Optimierung und Spieltheorie) gelesen und an den Pr¨ufungen und Klausuren mitgewirkt. Zu jeder dieser Vorlesungen wurden ein bis zwei Langklausuren (Bearbeitungszeit jeweils 3 Stunden) veranstaltet. Dabei waren Aufgaben mit betr¨achtlicher Tiefe und Zeitaufwand zu be¨ arbeiten (Variation zwischen 15 bis 60 Minuten). Die Aufgaben erforderten gr¨undliche Uberlegungen zum Beweisgang oder zum Rechenweg, so dass sich die L¨osung nicht in drei Zeilen ¨ oder mit der bloßen Angabe eines Rechenergebnisses darstellen l¨asst. Diese Ubungsund Klausuraufgaben mit vollst¨andigen L¨osungen wurden gesammelt und immer wieder aktualisiert bzw. verbessert. Bei den Studierenden war klar erkennbar, wie stark sich das – teilweise freigestellte – Bearbeiten ¨ von Ubungsund Hausaufgaben positiv auf das jeweilige Pr¨ufungs- oder Klausurergebnis ausgewirkt hat. Nur durch das Sich-Hineindenken in die jeweiligen Anforderungen kam die Klarheit und die Erfahrung auf, die bei der Bearbeitung von Klausuraufgaben zu einem z¨ugigen und zielgerichteten Vorgehen f¨uhrt. In Zusammenarbeit mit dem Vieweg+Teubner Verlag entstand nun der Plan, diese gesammelten Aufgaben in Buchform zu ver¨offentlichen. Um den Rahmen nicht zu sprengen und um den spezifischen Anforderungen der Bachelor-Ausbildung gerecht zu werden, haben wir uns in der vorliegenden Sammlung auf die folgenden Inhalte beschr¨ankt, die hier f¨ur die Bachelor-Phase als wesentlich erachtet werden: •
eine Einf¨uhrung in die Lineare Optimierung von der Polyedertheorie bis hin zum Verst¨andnis und der Beherrschung des Simplexverfahrens,
•
die Kenntnis von Methoden, um ganzzahlige (lineare) Optimierungsprobleme l¨osen zu k¨onnen,
•
die Theorie und Analyse von nichtlinearen Optimierungsaufgaben mit Schwerpunktsetzung auf konvexe Optimierung,
•
eine elementare Einf¨uhrung in die graphentheoretisch motivierte kombinatorische Optimierung mit Betonung von aufspannenden B¨aumen und k¨urzesten Wegen.
vi
Vorwort
Die Sammlung gliedert sich in vier Teile. Teil II baut auf Teil I auf, die Teile III und IV k¨onnen eigenst¨andig erarbeitet werden. Jeder Teil zerf¨allt in Kapitel, die sich an den Hauptthemen der jeweiligen Vorlesungen orientieren. Und darunter befindet sich eine letzte Gliederungsstufe – einzelne thematische Abschnitte innerhalb des Kapitels. Jeder Abschnitt enth¨alt zun¨achst eine Erinnerung und Er¨orterung der wesentlichen Vorkenntnisse, die der Leser aufweisen sollte, weil diese zum Verst¨andnis und zur Bearbeitung der zugeordneten Aufgaben wichtig sind. Hier werden alle wichtigen Bezeichnungen, Definitionen und S¨atze zusammengefasst. Zum Erlernen des Stoffes und zum tieferen Verst¨andnis empfiehlt es sich, auf die in der Literaturliste angegebenen Lehrb¨ucher zur¨uckzugreifen. Dort finden sich auch alle erforderlichen Beweise, Beispiele und mathematischen Herleitungen. Naturgem¨aß besteht die st¨arkste Anlehnung an mein Lehrbuch [3], aber auch das demn¨achst erscheinende Lehrbuch von Gritzmann [6] sowie [9] meines Augsburger Kollegen Jungnickel sind f¨ur diesen Zweck zu empfehlen. Dem Leser/Aufgabenbearbeiter wird angeraten, diese jeweiligen Erl¨auterungstexte zun¨achst zu lesen, bevor er sich mit den Aufgaben befasst. Auf den jeweiligen Erkl¨arungsteil folgt eine Kollektion von Aufgabenstellungen zum gerade aktuellen Thema. Danach folgen die ausf¨uhrlich erkl¨arten L¨osungen zu den vorher gestellten Aufgaben dieses Abschnitts. Die 150 Aufgaben sind jeweils mit Zeitangaben (Uhrsymbol) versehen, die unsere Einsch¨atzung des ungef¨ahren Zeitbedarfs anzeigen. Somit erhoffen wir uns f¨ur Studierende, die das Buch durcharbeiten, mehrere positive Aspekte: •
Fertigkeit, die Aufgaben z¨ugig zu bearbeiten,
•
Verst¨andnis des Stoffes,
•
Erkennen, welche S¨atze f¨ur welche Aufgabenstellungen wesentlich sind,
•
¨ Uberblick u¨ ber verschiedene denkbare und m¨ogliche Aufgabenstellungen,
•
Zuwachs an Selbstvertrauen aufgrund erfolgreicher Bearbeitung.
In diesem Sinne w¨unschen wir allen Lesern eine gewinnbringende Lekt¨ure. Es sollte auch noch auf die Bedeutung dieser Sammlung f¨ur Aufgaben- und Klausurensteller ¨ hingewiesen werden. Man kann diese Aufgaben zur Ubung stellen und man kann nach angepassten Modifikationen aus den gemachten Angaben leicht neue Klausuraufgaben gewinnen. Auch hierf¨ur w¨unschen wir einen großen Nutzen. Unsere Aufgabensammlung enth¨alt wesentlich mehr Material, als es dieses Buch vom Umfang her aufnehmen k¨onnte. Deshalb haben wir eine Kollektion von zus¨atzlichen Aufgaben mit L¨osungen auf der Vieweg+Teubner Homepage online zur Verf¨ugung gestellt. Diese findet man unter dem Link: http://www.viewegteubner.de/index.php;do=show/site=v/book_id=19447.
¨ Uber den Online Plus-Button gelangt man zu diesem Zusatzmaterial. Hier handelt es sich vorwiegend um Aufgaben mit gr¨oßeren Datens¨atzen, l¨angeren L¨osungswegen und gr¨oßerem Rechenbedarf. Viele dieser Aufgaben eignen sich sehr gut als Hausaufgaben oder als kleine Programmierprojekte.
Vorwort
vii
An diesem Langfrist-Projekt haben naturgem¨aß viele helfende H¨ande ihren Anteil: Da sind zun¨achst zu nennen, die ehemaligen Mitarbeiter(-innen) Prof. Dr. Petra Huhn, Dr. Gabriele H¨ofner, Dipl.-Math.oec. Andreas Pfaffenberger und ungez¨ahlte studentische Hilfskr¨afte, allen voran Beate Hauff und Markus G¨ohl, die durch st¨andige Aufschreibarbeit und Erprobung ¨ von Aufgaben und L¨osungen im Ubungsbetrieb zur Aktualisierung und Optimierung der Aufgabenstellungen und L¨osungen beigetragen haben. Der Dank geht weiter an die beiden aktuellen Mitarbeiter Dipl.-Math.oec. Matthias Tinkl und Dipl.-Math.oec. Thomas W¨orle, die u¨ ber Jahre hinweg und insbesondere in der heißen Phase der Erstellung dieser Buchform unverzichtbare ¨ der Inhalte und zur Beitr¨age zum Setzen der L¨osungen und Bilder in LATEX, zur Uberarbeitung Richtigkeit der Aussagen geliefert haben. Und schließlich ist den Sekret¨arinnen Margit Brandt und Monika Deininger daf¨ur zu danken, dass diese umfangreiche Sammlung u¨ berhaupt erst Schriftform angenommen hat. Augsburg, im August 2009
Karl Heinz Borgwardt Matthias Tinkl Thomas W¨orle
Inhalt Vorwort
v
Bezeichnungen
xiii
Problemtypen
xvii
I Lineare Optimierung
1
1 1.1 1.2 1.3 1.4 1.5
Problemstellung und Zweck Modellierung . . . . . . . . . . . . . . . Aufgaben zur Modellierung . . . . . . . . L¨osungen zur Modellierung . . . . . . . . Aufgaben zum spielerischen L¨osen . . . . L¨osungen zu den spielerischen Aufgaben .
2 2.1 2.2 2.3
Darstellungsformen und Alternativs¨atze fur ¨ lineare Optimierungsprobleme Lineare Ungleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufgaben zu linearen Ungleichungssystemen . . . . . . . . . . . . . . . . . . . . . L¨osungen zu linearen Ungleichungssystemen . . . . . . . . . . . . . . . . . . . . .
29 29 34 37
3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9
Polyedertheorie Konvexit¨at von Mengen . . . . . . . . . . . . Aufgaben zur Konvexit¨at von Mengen . . . . L¨osungen zur Konvexit¨at von Mengen . . . . Polyeder und polyedrische Kegel . . . . . . . Aufgaben zu Polyeder und polyedrische Kegel L¨osungen zu Polyeder und polyedrische Kegel Ecken und Seitenfl¨achen . . . . . . . . . . . Aufgaben zu Ecken und Seitenfl¨achen . . . . L¨osungen zu Ecken und Seitenfl¨achen . . . .
45 45 48 51 59 61 62 66 69 70
. . . . .
. . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
7 . 7 . 8 . 12 . 17 . 19
. . . . . . . . .
4 Polyederstruktur 81 4.1 Endliche Erzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
x
Inhalt
4.2 4.3 4.4 4.5 4.6
Aufgaben zur endlichen Erzeugung . L¨osungen zur endlichen Erzeugung . Zerlegungssatz . . . . . . . . . . . Aufgaben zum Zerlegungssatz . . . L¨osungen zum Zerlegungssatz . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
83 84 91 94 97
5 5.1 5.2 5.3 5.4 5.5 5.6
Dualit¨at Duale Probleme und Dualit¨atssatz . . . . . . . . . . . Aufgaben zu dualen Problemen und zum Dualit¨atssatz L¨osungen zu dualen Problemen und zum Dualit¨atssatz S¨atze vom komplement¨aren Schlupf . . . . . . . . . . Aufgaben zu den S¨atzen vom komplement¨aren Schlupf L¨osungen zu den S¨atzen vom komplement¨aren Schlupf
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
107 107 111 112 117 118 120
6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9
Simplex-Algorithmus Restriktionsorientierter Simplex-Algorithmus . . . . . . . . Aufgaben zum restriktionsorientierten Simplex-Algorithmus L¨osungen zum restriktionsorientierten Simplex-Algorithmus Variablenorientierter Simplex-Algorithmus . . . . . . . . . . Aufgaben zum variablenorientierten Simplex-Algorithmus . L¨osungen zum variablenorientierten Simplex-Algorithmus . Postoptimierung . . . . . . . . . . . . . . . . . . . . . . . . Aufgaben zur Postoptimierung . . . . . . . . . . . . . . . . L¨osungen zur Postoptimierung . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
127 127 142 145 157 162 164 179 185 187
II Ganzzahlige lineare Optimierung
195
7 7.1 7.2 7.3 7.4 7.5 7.6
Problemstellung und Zweck Modellierung . . . . . . . . . . . . . Aufgaben zur Modellierung . . . . . . L¨osungen zur Modellierung . . . . . . Unimodulare Probleme . . . . . . . . Aufgaben zu unimodularen Problemen L¨osungen zu unimodularen Problemen
199 200 204 207 215 216 218
8 8.1 8.2 8.3
Polyedertheorie bei Ganzzahligkeit 223 Theorie der Ganzzahligen Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . 223 Aufgaben zur Theorie der Ganzzahligen Optimierung . . . . . . . . . . . . . . . . . 226 L¨osungen zur Theorie der Ganzzahligen Optimierung . . . . . . . . . . . . . . . . . 228
9 9.1 9.2 9.3 9.4
Algorithmen der Ganzzahligen Optimierung Dakins Branch-and-Bound-Algorithmus . . . . . . . Aufgaben zu Dakins Branch-and-Bound-Algorithmus L¨osungen zu Dakins Branch-and-Bound-Algorithmus Gomorys Schnittebenenverfahren . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
233 233 236 238 247
Inhalt
xi
9.5 Aufgaben zu Gomorys Schnittebenenverfahren . . . . . . . . . . . . . . . . . . . . 252 9.6 L¨osungen zu Gomorys Schnittebenenverfahren . . . . . . . . . . . . . . . . . . . . 254
III Nichtlineare Optimierung
261
10 10.1 10.2 10.3
Problemstellung und Zweck der nichtlinearen Optimierung 265 Modellierung von nichtlinearen Optimierungsproblemen . . . . . . . . . . . . . . . 265 Aufgaben zur Modellierung von nichtlinearen Optimierungsproblemen . . . . . . . . 267 L¨osungen zur Modellierung von nichtlinearen Optimierungsproblemen . . . . . . . . 272
11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9
Konvexit¨at in nichtlinearen Optimierungsproblemen Konvexe Mengen . . . . . . . . . . . . . . . . . . . . . Aufgaben zu konvexen Mengen . . . . . . . . . . . . . . L¨osungen zu konvexen Mengen . . . . . . . . . . . . . . Konvexit¨at und Differenzierbarkeit . . . . . . . . . . . . Aufgaben zur Konvexit¨at und Differenzierbarkeit . . . . L¨osungen zur Konvexit¨at und Differenzierbarkeit . . . . Optimierungseigenschaften bei Konvexit¨at . . . . . . . . Aufgaben zu Optimierungseigenschaften bei Konvexit¨at . L¨osungen zu Optimierungseigenschaften bei Konvexit¨at .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
281 282 285 285 290 298 300 305 308 313
12 12.1 12.2 12.3 12.4 12.5 12.6
Optimalit¨atskriterien Karush-Kuhn-Tucker-Theorie . . . . . Aufgaben zu Karush-Kuhn-Tucker . . L¨osungen zu Karush-Kuhn-Tucker . . Theorie der Constraint-Qualifications . Aufgaben zu Constraint-Qualifications L¨osungen zu Constraint-Qualifications
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
323 324 329 331 339 341 344
13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9
Dualit¨at in der nichtlinearen Optimierung Lagrange-Dualit¨at . . . . . . . . . . . . . . . Aufgaben zur Lagrange-Dualit¨at . . . . . . . L¨osungen zur Lagrange-Dualit¨at . . . . . . . Dualit¨atss¨atze . . . . . . . . . . . . . . . . . Aufgaben zu den Dualit¨atss¨atzen . . . . . . . L¨osungen zu den Dualit¨atss¨atzen . . . . . . . Sattelpunkte . . . . . . . . . . . . . . . . . . Aufgaben zu Sattelpunkten . . . . . . . . . . L¨osungen zu Sattelpunkten . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
351 351 352 353 358 360 361 368 370 372
. . . . . .
. . . . . .
. . . . . .
IV Elementare kombinatorische Optimierung
375
14 B¨aume und W¨alder 381 14.1 Minimale aufspannende B¨aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
xii
Inhalt
14.2 Aufgaben zu minimalen aufspannenden B¨aumen . . . . . . . . . . . . . . . . . . . . 385 14.3 L¨osungen zu minimalen aufspannenden B¨aumen . . . . . . . . . . . . . . . . . . . . 388 15 15.1 15.2 15.3 15.4 15.5 15.6
Kurzeste ¨ Wege und Routenplanung Modellierung als K¨urzeste-Wege-Problem . . . . . . . . . . . . Aufgaben zur Modellierung als K¨urzeste-Wege-Problem . . . . L¨osungen zur Modellierung als K¨urzeste-Wege-Problem . . . . Algorithmen zur Bestimmung k¨urzester Wege . . . . . . . . . . Aufgaben zu den Algorithmen zur Bestimmung k¨urzester Wege . L¨osungen zu den Algorithmen zur Bestimmung k¨urzester Wege .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
399 399 399 401 404 409 411
Literaturhinweise
419
Index
421
Bezeichnungen Hier werden Standard-Bezeichnungen aufgef¨uhrt, die in allen vier Teilen verwendet werden. Bezeichnungen, die nur in einem Teil Anwendung finden, werden dort eingef¨uhrt. Mengen Zahlenmengen: N, Z, Q, R. K steht f¨ur einen der angeordneten K¨orper R oder Q. ⊂ und ⊆ heißt Teilmenge von, heißt echte Teilmenge von. M sei eine Menge, ℘(M ) Potenzmenge von M und Mn = M × M × · · · × M karthesisches Produkt bzw. Menge aller n-Tupel u¨ ber M . #(M ) bezeichnet die Elementanzahl von M . Vektoren und Matrizen H¨aufig, vor allem in der linearen Optimierung, ergibt sich die Notwendigkeit, gleichzeitig mit verschiedenen Vektoren und verschiedenen Komponenten dieser Vektoren zu rechnen bzw. zu argumentieren. Zur Unterscheidbarkeit der beiden Indizierungen f¨uhren wir (wo erforderlich) die Regel ein: Obere Indizes bezeichnen die Komponenten, untere Indizes unterscheiden verschiedene Vektoren. Treten gleichzeitig Exponenten auf, so wird dies durch Klammern verdeutlicht. ⎛ 1⎞ x ⎜ x2 ⎟ ⎜ ⎟ Vektoren x = ⎜ . ⎟ werden grunds¨atzlich als Spaltenvektoren aufgefasst. ⎝ .. ⎠ xn Transponierte Vektoren xT = (x1 , x2 , . . . , xn ) sind Zeilenvektoren. xT y bezeichnet das Standard-Skalarprodukt zweier Vektoren x und y, also xT y =
n
xi y i .
i=1
· bezeichnet die euklidische Norm: Schreiben wir f¨ur Vektoren x, y ∈ K n
x :=
(x1 )2 + . . . + (xn )2
x > y, dann ist xi > y i f¨ur alle i = 1, . . . , n. x ≥ y, dann ist xi ≥ y i f¨ur alle i = 1, . . . , n. x ≥= y, dann ist x ≥ y und xi > y i f¨ur mindestens ein i. Entsprechend verwendet man die Relationen x < y , x ≤ y und x ≤= y.
xiv
Bezeichnungen
Mengenoperationen S, T seien Mengen. S + T = {x + y | x ∈ S, y ∈ T } S − T = {x − y | x ∈ S, y ∈ T } αS = {αx | x ∈ S} Spezielle Vektoren aus K n ⎛ ⎞
1 1, i = j ⎜ .. ⎟ i 1 = ⎝ . ⎠, genauer 1n . ej ist der j-te Einheitsvektor, das heißt ej = 0, i = j. 1 K (m,n) ist die Menge der (m × n)-Matrizen u¨ ber K. ⎛ ⎞ a11 a12 . . . a1n ⎜ a21 a22 . . . a2n ⎟ ⎜ ⎟ Zu A = ⎜ . .. .. ⎟ bezeichnen wir die i-te Zeile von A mit Ai. und die j-te ⎝ .. . . ⎠ am1 am2 . . . amn Spalte von A mit A.j . Diese Gr¨oßen werden tats¨achlich als Zeilenvektoren bzw. Spaltenvektoren angesehen. Oft ist es jedoch n¨otig, die Zeilen einer Matrix wie allgemeine Vektoren (also Spaltenvektoren) zu behandeln. Dazu u¨ bertragen wir die Inhalte von Ai. komponentenweise in einen Spaltenvektor ai . Damit wird ⎛ T⎞ a1 ⎜ .. ⎟ A = ⎝ . ⎠ ∈ K (m,n) aTm und die Matrix wird so als Komposition von Zeilenvektoren interpretiert. Zeilenindex- und Spaltenindexvektoren f¨ur A ∈ K (m,n) sind Vektoren der Art ⎛ ⎞ i1 ⎜ .. ⎟ I = ⎝ . ⎠ mit 1 ≤ i1 < · · · < ip ≤ m, ik ∈ {1, . . . , m} f¨ur alle k = 1, . . . , p, ip ⎛ ⎞ j1 ⎜ .. ⎟ J = ⎝ . ⎠ mit 1 ≤ j1 < · · · < jq ≤ n, j ∈ {1, . . . , n} f¨ur alle = 1, . . . , q. jq ⎛
Damit wird AIJ
ai1 j1 ⎜ .. =⎝ . aip j1
...
⎞ ⎛ ⎞ ⎛ ⎞ ai1 jq 1 1 .. ⎟. Diese Matrix wird zu A, falls I = ⎜ .. ⎟, J = ⎜ .. ⎟. ⎝.⎠ ⎝.⎠ . ⎠
. . . aip jq
m
n
Bezeichnungen
xv
Kombination von Vektoren, Hullen ¨ und Unabh¨angigkeit •
Ein Vektor x ∈ K n heißt lineare Kombination einer Punktmenge Y ⊂ K n , wenn gilt: Es gibt eine endliche Menge {y1 , . . . , yk } ⊂ Y und λ1 , . . . , λk ∈ K, so dass x=
k
λi yi .
i=1
•
Sind dabei alle λi ≥ 0, ∀i = 1, . . . , k, dann heißt x eine konische Kombination von Y .
•
Bei λi > 0, ∀i = 1, . . . , k, spricht man von einer positiven Kombination von Y . k Bei i=1 λi = 1 spricht man von einer affinen Kombination von Y .
• •
k Bei i=1 λi = 1 und λi ≥ 0, ∀i = 1, . . . , k, spricht man von einer konvexen Kombination von Y .
•
F¨ur eine nichtleere Teilmenge Y ⊂ K n bezeichnet lin(Y ) die lineare H¨ulle von Y : lin(Y ) =
k
x ∈ K n
∃λ1 , . . . , λk ∈ K, y1 , . . . , yk ∈ Y mit x = λi yi i=1
•
aff(Y ) ist die affine H¨ulle von Y : aff(Y ) =
k
x ∈ K n
∃λ1 , . . . , λk ∈ K, y1 , . . . , yk ∈ Y mit λi = 1 und x=
k
i=1
λi yi
i=1
•
conv(Y ) bezeichnet die konvexe H¨ulle von Y :
conv(Y ) = x ∈ K n
∃λ1 , . . . , λk ∈ K, y1 , . . . , yk ∈ Y mit λ1 , . . . , λk ≥ 0, k
λi = 1 und x =
i=1
•
k
λi yi
i=1
cone(Y ) ist der konvexe Kegel, den Y aufspannt (die konische H¨ulle von Y ).
cone(Y ) = x ∈ K n
∃λ1 , . . . , λk ∈ K, y1 , . . . , yk ∈ Y, mit λ1 , . . . , λk ≥ 0 und x=
k i=1
λi yi
xvi
Bezeichnungen
•
Ist Y = {a1 , . . . , ak } eine Menge von Vektoren des K n , dann ist der Rezessionskegel von Y: rec(Y ) = {x ∈ K n | aT1 x ≤ 0, . . . , aTk x ≤ 0}
•
cone(a1 , . . . , ak ) wird auch als Polarkegel zu X = {x | aT1 x ≤ b1 , . . . , aTm x ≤ bm } bei x0 (polar(x0 )) bezeichnet, wenn bei X am Punkt x0 gerade gilt: aT1 x0 = b1 , . . . , aTk x0 = bk und aTk+1 < bk+1 , . . . , aTm x0 < bm
•
•
Eine Menge M ⊂ K n heißt –
linearer Raum, falls M = lin(M ),
–
affiner Raum, falls M = aff(M ),
–
konvexe Menge, falls M = conv(M ),
–
konvexer Kegel, falls M = cone(M ).
Eine Teilmenge Y von K n heißt linear unabh¨angig, wenn f¨ur alle Linearkombinationen gilt: k λi yi = 0 ⇒ λ1 , . . . , λk = 0. i=1
Ist M ⊂ K n ein linearer Unterraum, dann heißt die Elementanzahl der gr¨oßten linear unabh¨angigen Teilmenge von M der Rang von M (dim M ). Ist M ⊂ K n ein affiner Unterraum von K n , dann ist die (affine) Dimension von M die Dimension des Differenzraumes zu aff(M ). Also ist dim M = dim aff(M ). F¨ur den Differenzraum schreiben wir DR(M ) bzw. DR(aff(M )). •
Eine Teilmenge Y ⊂ K n heißt affin unabh¨angig, wenn sich kein Element von Y als Affinkombination der anderen darstellen l¨asst. Man sagt auch: die Elemente von Y sind in allgemeiner Lage. Im K n k¨onnen nie mehr als n + 1 Punkte in allgemeiner Lage sein.
•
Der affine Rang von M ist die Maximalzahl der affin unabh¨angigen Vektoren aus M . Demnach gilt die Beziehung affine Dimension = affiner Rang −1.
Problemtypen Nun wollen wir (die) Problemtypen auflisten, mit denen wir uns befassen und f¨ur die wir L¨osungstechniken entwickeln wollen.
Definition 1 Sucht man ein Element x∗ ∈ S mit f (x∗ ) ≥ f (x) f¨ur alle x ∈ S, so heißt diese Problemstellung ein Maximierungsproblem. Sucht man ein y∗ ∈ S mit f (y∗ ) ≤ f (y) f¨ur alle y ∈ S , so spricht man von einem Minimierungsproblem. Beides sind Optimierungsprobleme.
Bezeichnung F¨ur Maximierungsprobleme lautet die Aufgabenbeschreibung: Maximiere f (x) unter der Nebenbedingung x ∈ S, formal max f (x) unter x ∈ S
⇔ s.t. x ∈ S
Der dabei erzielbare Maximalwert ist: Maximum{f (x) | x ∈ S} = max{f (x) | x ∈ S}. Entsprechend beschreibt man ein Minimierungsproblem durch min f (x)
unter x ∈ S.
Im ersten Teil besch¨aftigen wir uns mit linearen Optimierungsproblemen, einer der f¨ur die reale Anwendung wichtigsten mathematischen Aufgabenstellungen.
xviii
Problemtypen
Definition 2 (Lineares Optimierungsproblem) Gegeben seien c ∈ Rn , A ∈ R(m,n) , b ∈ Rm . Dann heißt max cT x
(bzw. min cT x)
unter Ax ≤ b und x ∈ Rn
ein lineares Optimierungsproblem.
Hierbei ist
⎛
⎛ ⎞ ⎞ b1 a1n ⎜ b2 ⎟ a2n ⎟ ⎜ ⎟ ⎟ .. ⎟ und b = ⎜ .. ⎟ . ⎝ . ⎠ ⎠ .
a11 ⎜ a21 ⎜ A=⎜ . ⎝ ..
a12 a22 .. .
... ...
am1
am2
. . . amn
bm
Die Nebenbedingungen, ausf¨uhrlich geschrieben, besagen, dass a11 x1 + a12 x2 + . . . + a1n xn ≤ b1 .. .. .. . . . am1 x1 + am2 x2 + . . . + amn xn ≤ bm . Die Menge der Punkte, die die Nebenbedingungen erf¨ullen, bezeichnen wir auch als Zul¨assigkeitsbereich und notieren ihn als X = {x | Ax ≤ b}. Der zweite Teil stellt die Zusatzforderung, dass vorgeschlagene Punkte nur ganzzahlige Komponenten haben d¨urfen. Definition 3 (Lineares ganzzahliges Optimierungsproblem) Gegeben seien c ∈ Rn , A ∈ R(m,n) , b ∈ Rm . Dann heißt max cT x
unter Ax ≤ b und x ∈ Zn
ein lineares ganzzahliges Optimierungsproblem.
Der dritte Teil behandelt nichtlineare Optimierungsprobleme. Diese haben folgende Form: Definition 4 (Allgemeines nichtlineares Optimierungsproblem) Es seien f, gi (i = 1, . . . , m), hj (j = 1, . . . , p) Funktionen von Rn nach R. Dann heißt max f (x) unter gi (x) ≤ 0 hj (x) = 0 ein nichtlineares Optimierungsproblem.
f¨ur alle i = 1, . . . , m f¨ur alle j = 1, . . . , p
Problemtypen
xix
Besonders gut lassen sich Optimierungsprobleme dieser Art l¨osen, wenn f bzw. g oder h Konvexit¨atsanforderungen gen¨ugen.
Definition 5 (Konvexes/konkaves Optimierungsproblem) Sei M ⊂ Rn eine konvexe Menge und f eine konvexe (konkave) Funktion von M nach R. Dann heißt min f (x) unter x ∈ M ein konvexes (konkaves) Minimierungsproblem. Ist f (x) zu maximieren, dann erhalten wir ein konvexes (konkaves) Maximierungsproblem.
Im vierten Teil werden wir einen Einstieg in die kombinatorische Optimierung versuchen. Hier ist das allgemeine Problem folgendermaßen zu verstehen.
Definition 6 (Lineares kombinatorisches Optimierungsproblem) Gegeben sei eine endliche Grundmenge E und eine Bewertungsfunktion c : E → R. Außerdem sei ein System von E-Teilmengen A ⊂ ℘(E) gegeben. Dann heißt max
c(e)
unter S ∈ A
e∈S
ein lineares kombinatorisches Optimierungsproblem.
Im gegebenen Rahmen m¨ussen wir uns hier auf die Behandlung von aufspannenden B¨aumen und k¨urzesten Wegen in Graphen, deren Kanten mit Kostenfaktoren bewertet sind, beschr¨anken. Bei der Behandlung aufspannender B¨aume ist das zul¨assige System dann die Menge aller zusammenh¨angender Kantenkollektionen, die jeden Knoten erreichen und keine Kreise aufweisen. Bei k¨urzesten Wegen besteht A aus allen zusammenh¨angenden Kantenketten, die bei dem Startknoten beginnen und am Zielknoten enden.
Kapitel 1
Problemstellung und Zweck 1.1 Modellierung Um die mathematische Kunst der L¨osung von Optimierungsaufgaben f¨ur reale Anwendungen nutzbar zu machen, m¨ussen die Gegebenheiten der vorliegenden Fragestellung in die mathematische Sprache u¨ bersetzt werden. Erst dann kann das Problem an einen mathematischen Bearbeiter oder an ein mathematisches Berechnungssystem u¨ bergeben werden. Bei dieser sogenannten Modellierung muss darauf geachtet werden, dass alle realen Erfordernisse mathematisch ber¨ucksichtigt werden und dass die Zielsetzung unzweideutig angegeben und festgelegt wird. Gleichzeitig sollte man das entstehende System nicht zu sehr durch u¨ berfl¨ussige Informationen aufbl¨ahen. Generell sollte man sich hierzu folgende Eingangsfragen stellen: •
Welches sind die beeinflussbaren Variablen?
•
Welche Festparameter sind durch die Problemstellung vorgegeben?
•
Was ist das eigentliche Optimierungsziel und wie kann ich es – m¨oglichst einfach, aber ohne Verf¨alschung – als Funktion der beeinflussbaren (Entscheidungs-Variablen) beschreiben.
•
Welchen Einschr¨ankungen unterliegt die Festlegung der Entscheidungsvariablen?
•
Wie k¨onnen diese Restriktionen in Funktionsform ausgedr¨uckt werden.
¨ Resultat all dieser Uberlegungen sollte dann eine explizite Auflistung von •
Variablen
•
Parametern
•
Zielfunktionen
•
Restriktionen
8
I: 1 Problemstellung und Zweck
gem¨aß der allgemeinen Problemstellung sein. Im hier vorliegenden Problemumfeld muss also bei der Aufgabenstellung maximiere cT x unter Ax ≤ b entschieden werden: •
Was bedeuten die Variablen xi , wie viele brauche ich?
•
Wie viele Restriktionen (Zeilen von A) brauche ich?
•
Wie hoch sind die Kapazit¨aten b?
Nach erfolgter L¨osung sollte es dann m¨oglich sein, das Ergebnis (den L¨osungsvorschlag) auf die Realsituation zur¨uck zu u¨ bertragen.
1.2 Aufgaben zur Modellierung Aufgabe 1.2.1 Eine Firma k¨onnte in den kommenden Monaten i = 1, . . . , 12 jeweils (13 − i) · 1.000 internetf¨ahige Mobiltelefone mit einem Reingewinn von jeweils (100 − 5i) e pro Produkt absetzen. Danach kommt die Nachfrage zum Erliegen. Dann a¨ ndert sich der Sendestandard zugunsten eines anderen Produkts, das eine Konkurrenzfirma anbietet. Unsere Firma besitzt ein Monopol f¨ur ihr Produkt und hat zum Zeitpunkt i = 0 gerade mal 1.000 St¨uck auf Lager. Aber sie verf¨ugt u¨ ber Produktionsanlagen zur Herstellung von 1.000 St¨uck pro Monat. Allerdings m¨ussen Arbeiter diese Maschinen bedienen und u¨ berwachen, so dass f¨ur je 100 produzierte St¨uck im Monat ein Arbeiter eingesetzt werden muss. Die Firma hat eine Belegschaft von 100 Arbeitern und sonst derzeit keine Auftr¨age. Die Arbeiter k¨onnen nicht entlassen werden und es werden auch keine neuen eingestellt. Beliebig viele Arbeiter k¨onnen jedoch alternativ zur Kapazit¨atserweiterung der Produktionsanlage eingesetzt werden. Dabei k¨onnen k Arbeiter die Kapazit¨at der Anlage in einem Monat um 25·k St¨uck erh¨ohen. Diese Erweiterung wirkt sich dann auf alle zuk¨unftigen Monate aus. Aus Platzgr¨unden kann allerdings die Kapazit¨at der Anlage nicht u¨ ber 10.000 St¨uck pro Monat ausgeweitet werden. Die Baukosten f¨ur jede Kapazit¨atserweiterung um ein St¨uck pro Monat betragen 10 e. Jeder Arbeiter kann entweder in der Produktion oder Anlagenerweiterung (oder u¨ berhaupt nicht) eingesetzt werden. S¨amtliche Transaktionen (Verkauf, Umbeorderung von Arbeitern) sollen sich jeweils nur am Monatsende/Monatsbeginn abspielen (12 Perioden). Bestellungen laufen im Monatsverlauf auf und werden am Monatsende nach Vorratslage bedient. Falls der Vorrat nicht reicht, verf¨allt die Bestellung, sie kann nicht zu einem sp¨ateren Zeitpunkt bedient werden. Wie sollen die Arbeiter zu Beginn jedes Monats eingeteilt werden, so dass ein m¨oglichst hoher Reingewinn abz¨uglich der Erweiterungskosten erzielt wird? Formulieren Sie dieses Problem als (LP ) unter Vernachl¨assigung von impliziten Ganzzahligkeitsbedingungen. Hinweis: F¨uhren Sie f¨ur jeden einzelnen Monat Variablen ein f¨ur die momentane Anzahl der produzierenden Arbeiter, der an der Ausweitung t¨atigen Arbeiter, f¨ur die Produktions-Kapazit¨aten des jeweiligen Monats, die produzierte/abgesetzte/vorr¨atige St¨uckzahl und so weiter.
1.2 Aufgaben zur Modellierung
9
Aufgabe 1.2.2 Eine Horde von Steinzeitmenschen ist durch eine Naturkatastrophe von der Außenwelt total abgeschnitten und muss sich f¨ur die n¨achsten f¨unf Jahre v¨ollig von ihrer Ernte und ihren Vorr¨aten versorgen. Gl¨ucklicherweise ist gerade Herbst und es kann mit der Ernte begonnen werden (denken Sie an Kartoffelernte). Dies ergibt einen Kartoffelvorrat von K0 (Zentnern Kartoffeln). Der Planungszeitraum umfasst die Ernten K1 , . . . , K5 (in Zentnern Kartoffeln) in den folgenden f¨unf Jahren. Im i-ten Jahr stehen genau Ki−1 Zentner Kartoffeln zur Verf¨ugung, da wegen Verderblichkeit nichts l¨anger als ein Jahr aufgehoben werden kann. Diese Kartoffeln k¨onnen als Saatgut (Si ) verwendet oder verzehrt werden (Vi ). Die aus dem Saatgut erzielte Ernte ist jeweils Φi Si , i = 1, . . . , 5. Es ist vorauszusehen, dass in der Horde in den Jahren i = 1, . . . , 5 jeweils Bi Menschen leben werden. Die im Jahr i zum Verzehr bestimmten Kartoffeln werden auf diese Bi Personen gleichm¨aßig aufgeteilt. Jeder Hordenmensch hat einen j¨ahrlichen Mindestbedarf von m Zentnern Kartoffeln (damit er u¨ berlebt) und einen Maximalbedarf von M Zentnern Kartoffeln (mehr kann er nicht essen). Die Planung soll garantieren, dass in jeder Periode i jeder Hordenmensch zwischen m und M Zentner verzehren kann, wof¨ur der Ernteertrag aus der Vorperiode Ki−1 zur Verf¨ugung steht. Ferner soll die letzte Ernte einen Ertrag K5 von mindestens 2K0 erbringen. Als Zielgr¨oße betrachte man den Pro-Kopf-Verzehr in den jeweiligen Jahren. Diesen wollen wir m¨oglichst groß werden lassen. Dazu werden zwei verschiedene Vorgehensweisen vorgeschlagen. Setzen Sie jede in eine Formulierung als lineares Optimierungsproblem um. a)
Hier soll die Summe aus den Pro-Kopf-Verzehren der f¨unf Jahre maximiert werden.
b)
Hier soll der geringste Pro-Kopf-Verzehr in den f¨unf Jahren gr¨oßtm¨oglich gestaltet werden (die Qualit¨at bemisst sich also am schlechtesten Jahr).
Aufgabe 1.2.3 In der zentralen Revisionsabteilung eines Konzerns wird (auf welchem Wege auch immer) bekannt, dass die Steuerfahndung eine Untersuchung der 4 Konzernt¨ochter (Filialen) plant. Dabei werden gleichzeitig alle Filialen aufgesucht und es wird die genaue Anzahl von steuerrelevanten Fehlbuchungen ermittelt. Liegt in jeder Filiale die Anzahl der Fehlbuchungen bei h¨ochstens 10, dann gilt dies als Kavaliersdelikt. Liegt die h¨ochste Fehlbuchungszahl aller Filialen bei M mit 10 < M ≤ 30, dann sind (M − 10)· 10.000 e zu berappen, bei mehr als 30 Fehlbuchungen in irgendeiner Filiale (jedoch h¨ochstens 50 Fehlbuchungen) bezahlt man zus¨atzlich noch einmal eine Strafe von (M − 30)· 50.000 e. Liegt die h¨ochste Fehlbuchungszahl u¨ ber 50, dann wandern der Vorstand und der Chef der Revisionsabteilung ins Gef¨angnis, was unbedingt zu vermeiden ist. Der Chef der Revisionsabteilung weiß nun, dass die Steuerfahndung nach genau 40 Arbeitstagen erscheinen wird. Er kann die Filialen nicht warnen, damit diese ihre Fehlbuchungen bereinigen, weil sonst herausk¨ame, dass er informiert ist. Stattdessen kann er seine drei Revisionisten zu scheinbaren Routinekontrollen in die Filialen schicken. Dazu stehen also 120 Manntage zur Verf¨ugung. Unser Revisionschef kennt seine Pappenheimer in den Filialen und aufgrund der Zahlen der vergangenen Jahre traut er
10
I: 1 Problemstellung und Zweck
Filiale A
70 Fehlbuchungen,
Filiale B
90 Fehlbuchungen,
Filiale C
40 Fehlbuchungen und
Filiale D
30 Fehlbuchungen zu.
Nach seinen Erfahrungen findet ein Revisionist pro Tag im Schnitt in Filiale A
1 Fehlbuchung,
in Filiale B
2 3
in Filiale C
1 Fehlbuchung und
in Filiale D
1 3
Fehlbuchungen,
Fehlbuchungen
und kann diese bereinigen. Der Chef muss nun entscheiden, wie er die 120 Manntage auf die vier Filialen aufteilt (auch Bruchteile sind erlaubt). Helfen Sie ihm, indem Sie ein LP-Modell entwickeln, das obiges Problem beschreibt.
Aufgabe 1.2.4 Sie m¨ussen zu vier Diplompr¨ufungen in den F¨achern A, B, C und D antreten und diese Pr¨ufungen in der angegebenen Reihenfolge und innerhalb von 30 Tagen ablegen. Von heute ab gerechnet, ist der fr¨uheste Termin f¨ur die erste Pr¨ufung in 30 Tagen und der sp¨ateste Termin f¨ur die letzte ist in 60 Tagen. F¨ur diese Pr¨ufungen m¨ussen Sie noch viel lernen. Aus vielerlei Gr¨unden erscheint es sinnvoll, beim Lernen nicht zwischen den F¨achern hin- und herzuspringen, sondern vier disjunkte Intervalle zu bestimmen, in denen jeweils f¨ur ein Fach gelernt wird. Auch das Lernen soll in der Reihenfolge A, B, C, D geschehen. Nun haben Sie sich aufgrund fr¨uherer Bem¨uhungen in den F¨achern verschieden gute Ausgangspositionen erarbeitet. Jetzt – aus dem Stand heraus – w¨urden Sie in Fach A mit 2,0, in B mit 3,0, in C mit 5,0 und in D mit 4,5 abschneiden. Jeder in ein Fach investierte Lerntag bringt Ihnen eine Verbesserung, wenn das Lernen vor der Pr¨ufung erfolgt: F¨ur A ergibt sich eine Verbesserung von 0,2 pro Lerntag, f¨ur B von 0,25, f¨ur C von 0,1 und f¨ur D von 0,2. Nachteilig ist aber, dass Sie zwischen Abbruch der Lernerei in einem Fach und Pr¨ufung in diesem Fach durch Vergessen und Verwirrung (weil Sie ja dann f¨ur ein anderes Fach lernen) pro Tag wieder 0,1 einb¨ußen. Hinweis: Zur Vereinfachung m¨oge die Diskretheit der Tage ignoriert werden und eine kontinuierliche Zeitachse verwendet werden. Außerdem gebe es keinerlei Beschr¨ankungen f¨ur die Noten, die beliebige reelle Werte annehmen d¨urfen. Insbesondere gibt es keine bestm¨ogliche Note und auch keine schlechtestm¨ogliche Note. Sie u¨ berlegen nun, wie Sie Ihre vier Pr¨ufungstermine legen sollen und wann Sie f¨ur die einzelnen F¨acher lernen sollen. Modellieren Sie dieses Problem als lineares Optimierungsproblem, wenn a)
es dabei Ihr Ziel ist, dass die schlechteste Note so gut wie m¨oglich wird.
1.2 Aufgaben zur Modellierung
11
b)
es Ihr Ziel ist, dass die Durchschnittsnote so gut wie m¨oglich wird.
c)
Sie nur am Bestehen der Pr¨ufungen interessiert sind, das heißt, dass jede Pr¨ufung mit der Note 4,0 oder besser absolviert werden soll.
Aufgabe 1.2.5 In einer Gebirgsprovinz wird die Wasserversorgung von 5 Gemeinden I, II, III, IV und V dadurch gew¨ahrleistet, dass jede Gemeinde ein R¨uckhaltebecken besitzt und das dort aufgelaufene Wasser verbraucht werden kann. Die R¨uckhaltebecken werden durch Schmelzwasser und/oder Zuleitung von Wasser gespeist. Außerdem existiert ein Stausee 0, der sich im Fr¨uhjahr durch die Schneeschmelze f¨ullt und von dem aus Wasser an tiefergelegene Becken abgegeben werden kann. 0
I
II
IV
III
V
Wegen der Beschaffenheit des Gel¨andes gibt es Wasserleitungen nur von 0 nach I, von 0 nach II, von 0 nach IV , sowie von II nach III, von IV nach V und von III nach V . An jedem Ort I, II, III, IV und V ist der Bedarf f¨ur das Jahr bekannt. Zudem sind die Kapazit¨aten des Stausees und der R¨uckhaltebecken und die Schmelzwassermengen, die direkt in die R¨uckhaltebecken fließen, bekannt. Da die Schneeschmelze im Fr¨uhjahr ist, muss jeweils nach der Schneeschmelze festgelegt werden, wie viel Wasser auf den jeweiligen Leitungen weitergegeben wird. Das F¨ullen der R¨uckhaltebecken ist nur direkt nach der Schneeschmelze m¨oglich, da das Wasser des Stausees im weiteren Verlauf des Jahres zu sehr verschmutzt. Es gibt keine weiteren M¨oglichkeiten der Wassergewinnung und zu viel zugeleitetes Wasser fließt ungenutzt ab, sofern es nicht an eine andere Gemeinde weitergeleitet werden kann. Formulieren Sie ein entsprechendes Optimierungsproblem mit linearen Nebenbedingungen. Bewerten Sie Ihre Planung mit einer Zielfunktion, die ber¨ucksichtigt, dass der Schaden bei Unterversorgung mit Wasser in jeder Gemeinde quadratisch mit dem ungedeckten Bedarf w¨achst. Setzen Sie voraus, dass alle R¨uckhaltebecken vor der Schneeschmelze leer sind.
12
I: 1 Problemstellung und Zweck
1.3 L¨osungen zur Modellierung L¨osung zu 1.2.1 Index: i ∈ I = {1, . . . , 12}
Es gilt immer Parameter:
Preis der abgesetzten St¨ucke im Monat i: Bestellmenge im Monat i: Vorrat am Anfang des ersten Monats: Kapazit¨at der Anlage im ersten Monat:
πi = 100 − 5i Bi = (13 − i) · 1.000 v1 = 1.000 K1 = 1.000
Variablen: Vorrat am Anfang jedes Monats (nach Verkauf): produzierte Menge im Monat i: abgesetzte Menge am jeweiligen Monatsende: produzierende Arbeiter im Monat i: zus¨atzliche Arbeiter im Monat i: Kapazit¨at der Anlage im Monat i:
v2 , . . . , v12 , v13 pi , i ∈ I ai , i ∈ I wi , i ∈ I ei , i ∈ I Ki , i ∈ I \ {1}
Restriktionen: vi+1 vi pi pi pi wi + ei wi ei ai ai Ki+1 Ki Ki
= ≥ ≤ ≤ ≥ ≤ ≥ ≥ ≤ ≥ = ≤ ≥
vi + pi − ai 0 wi · 100 Ki 0 100 0 0 Bi 0 Ki + 25ei 10.000 0
i = 1, . . . , 12 i = 2, . . . , 13 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 12 i = 1, . . . , 11 i = 2, . . . , 12 i = 2, . . . , 12
(Lagerfortf¨uhrung) (Produktion begrenzt durch Personal) (Produktion begrenzt durch Kapazit¨at) (Personaleinsatz)
(Absatzbeschr¨ankung) (Kapazit¨atserweiterung) (Kapazit¨atsschranke)
Zielfunktion: max
12 i=1
πi · ai −
12 i=1
(ei · 25) · 10 =
12 i=1
[(100 − 5i)ai − 250ei ]
1.3 L¨osungen zur Modellierung
13
L¨osung zu 1.2.2 Index: i = 1, . . . , 5
Perioden
Parameter: K0 Φi Bi m M
Ernte zum Zeitpunkt 0 Ertragsfaktor bei der Ernte f¨ur Periode i Anzahl Menschen in der Horde in Periode i j¨ahrlicher Mindestbedarf eines Hordenmenschen an Zentnern Kartoffeln j¨ahrlicher Maximalbedarf eines Hordenmenschen an Zentnern Kartoffeln
Variablen: Ki Si Vi Λi =
Vi Bi
Ernte (in Zentnern Kartoffeln) in Periode i Saatgut in Periode i Verzehr in Periode i Pro-Kopf-Verzehr in Periode i
Restriktionen: Jetzt (in Zeitpunkt 0) ist eine Ernte in H¨ohe von K0 angefallen. (Wir sind am Beginn des 1. Jahres, die Planung endet nach dem 5. Jahr mit der Ernte, die K5 erbringt.) Nach jeder Ernte wird entschieden (geplant), wie die vorhandene Menge aufgeteilt wird. Vi Si Ki−1 K5
≥ ≥ = ≥
0 0 Vi + Si 2K0
i = 1, . . . , 5 i = 1, . . . , 5 i = 1, . . . , 5
(ist klar) (ist klar) (Verzehr in Jahr i und Saatgut in Jahr i) (in Text gefordert)
Aus dem Saatgut ergibt sich durch Vermehrung die Ernte des n¨achsten Jahres: Ki F¨ur Vi muss gelten:
= Φi · Si
m · Bi ≤ Vi ≤ M · Bi
Und es gelte: Λi =
Vi f¨ur i = 1, . . . , 5 Bi
i = 1, . . . , 5 i = 1, . . . , 5
(Pro-Kopf-Verbrauch)
Zielfunktion: 5
a)
Hier ist die Zielfunktion max
b)
Hier will man das Minimum der Λi
i=1
Λi . (i = 1, . . . , 5) maximieren. Dazu setze
μ ≥ 0, μ ≤ Λ1 , . . . , μ ≤ Λ5
14
I: 1 Problemstellung und Zweck
und maximiere μ. Gesamtmodell:
5
Λi
a)
maximiere
b)
maximiere μ spezifisch unter μ ≤ Λi ∀i
i=1
Allgemeine Nebenbedingungen: Vi , Si m · Bi Λi Ki−1 K5 Ki
≥ ≤ = = ≥ =
0 Vi ≤ M · Bi Vi Bi
Vi + Si 2K0 Φi · Si
i = 1, . . . , 5 i = 1, . . . , 5 i = 1, . . . , 5 i = 1, . . . , 5 i = 1, . . . , 5
(Nichtnegativit¨at) (Begrenzungen des Verzehrs) ¨ (Uberversorgungsfaktor) (Aufteilung in Verzehr und Saatgut) (Endforderung) (Vermehrung)
L¨osung zu 1.2.3 Index: A, B, C, D
Filialen
Variablen: TA , TB , TC , TD FA , FB , FC , FD M bzw. M10 , M10,30 , M30,50
Zeitdauern (in Manntagen), die den 4 Filialen zugeordnet werden Fehlbuchungen der Filialen h¨ochste Fehlbuchungszahl der Filialen
Restriktionen: Es gilt: 0 ≤ TA , 0 ≤ TB , 0 ≤ TC , 0 ≤ TD und
(1.1)
TA + TB + TC + TD ≤ 120
(1.2)
Die (erwartete) Zahl von Fehlbuchungen, die nach 40 Tagen noch bestehen, ist bei A : FA = 70 − TA · 1, 2 bei B : FB = 90 − TB · , 3 bei C : FC = 40 − TC · 1, 1 bei D : FD = 30 − TD · 3
(1.3) (1.4) (1.5) (1.6)
wobei gilt: 0 ≤ FA , 0 ≤ FB , 0 ≤ FC , 0 ≤ FD
(1.7)
1.3 L¨osungen zur Modellierung
15
Auf keinen Fall Gef¨angnisstrafe riskieren, deshalb: FA , FB , FC , FD ≤ 50
(1.8)
Zu minimieren ist eigentlich max{FA , FB , FC , FD }. Dies bewerkstelligt man durch eine Oberschrankenvariable M ≥ 0 mit FA ≤ M, FB ≤ M, FC ≤ M, FD ≤ M
(1.9)
Zu minimieren ist dann M bzw. die eigentliche Zielfunktion. Diese Zielfunktion muss aber st¨uckweise beschrieben werden: M = M10 + M10,30 + M30,50 mit
(1.10)
M10 , M10,30 , M30,50 ≥ 0 und
(1.11)
M10 ≤ 10, M10,30 ≤ 20, M30,50 ≤ 20
(1.12)
Zielfunktion: Zu minimieren ist also die Strafe Z = 0 · M10 + 10.000 · M10,30 + 50.000 · M30,50 . Das resultierende lineare Optimierungsproblem lautet schließlich: min Z unter (1.1) bis (1.12) Aus der Monotonie der Zielfunktionsbewertung folgt, dass zun¨achst M10 auf 10 aufgef¨ullt wird, danach erst M10,30 auf 20 geht und danach schließlich M30,50 anf¨angt zu wachsen.
L¨osung zu 1.2.4 a)
Variablen:
b A , bB , bC , bD eA , eB , eC , eD p A , pB , pC , pD n A , nB , nC , nD s
Beginnzeitpunkte Endzeitpunkte Pr¨ufungszeitpunkte Noten schlechteste Note Zielfunktion: min s Restriktionen: 1)
Nebenbedingungen f¨ur Lernspannen: 0 ≤ bA ≤ eA ,
2)
eA ≤ b B ≤ e B ,
eB ≤ b C ≤ e C ,
eC ≤ bD ≤ eD ≤ 60
Nebenbedingungen f¨ur Pr¨ufungstermine: 30 ≤ pA ≤ pB ≤ pC ≤ pD ≤ 60 e A ≤ pA ,
eB ≤ pB ,
eC ≤ pC ,
eD ≤ pD
16
I: 1 Problemstellung und Zweck
3)
Nebenbedingungen f¨ur Noten: nA = 2,0 − 0,2(eA − bA ) + 0,1(pA − eA ) nB = 3,0 − 0,25(eB − bB ) + 0,1(pB − eB ) nC = 5,0 − 0,1(eC − bC ) + 0,1(pC − eC ) nD = 4,5 − 0,2(eD − bD ) + 0,1(pD − eD )
4)
Nebenbedingungen f¨ur schlechteste Note: s ≥ nA ,
s ≥ nB ,
s ≥ nC ,
s ≥ nD
b)
Variablen wie in a), jedoch ohne s“, Nebenbedingungen aus 1), 2), 3) ” Zielfunktion: 1 · min nA + nB + nC + nD 4
c)
Variablen wie in a), ohne s“, Nebenbedingungen aus 1), 2), 3), ” zus¨atzliche Nebenbedingungen: nA ≤ 4,
nB ≤ 4,
nC ≤ 4,
Zielfunktion irrelevant!
L¨osung zu 1.2.5 Parameter: Bi Kj Wi
Bedarf von Gemeinde i = 1, . . . , 5 Kapazit¨at des Stausees/der Becken, j = 0, . . . , 5 Schmelzwassermengen direkt f¨ur Gemeinde i
Variablen: 01 , 02 , 04 , 23 , 45 , 35 s1 , s2 , s3 , s4 , s5 v1 , v2 , v3 , v4 , v5
Fließmengen auf den Leitungen ungedeckter Bedarf Vorrat der Gemeinden
Zielfunktion: min
5 (si )2 i=1
Restriktionen: 1)
ij ≥ 0
2)
sij ≥ 0
nD ≤ 4
1.4 Aufgaben zum spielerischen L¨osen
3)
Vorrat der Gemeinden v1 v2 v3 v4 v5
4)
17
≤ ≤ ≤ ≤ ≤
W1 + 01 , W2 + 02 − 23 , W3 + 23 − 35 , W4 + 04 − 45 , W5 + 35 + 45 ,
v1 v2 v3 v4 v5
≤ K1 , ≤ K2 , ≤ K3 , ≤ K4 , ≤ K5 ,
v1 v2 v3 v4 v5
≥0 ≥0 ≥0 ≥0 ≥0
Stauseekapazit¨at K0 − 01 − 02 − 04 ≥ 0
5)
Bedarfsdeckung B1 ≤ s1 + v1
B2 ≤ s2 + v2
B4 ≤ s4 + v4
B5 ≤ s5 + v5
B3 ≤ s3 + v3
1.4 Aufgaben zum spielerischen L¨osen Aufgabe 1.4.1 ¨ ¨ ungenutzt und umAn einer Olbohrstelle hat sich eine Explosion ereignet, so dass jetzt Ol weltsch¨adlich austritt. Zur Abdichtung m¨ussen drei Experten A, B, C nacheinander in dieser Reihenfolge jeweils 20 Minuten an dem Leck arbeiten. Im Moment schlafen sie aber leider noch 5 km von der Bohrstelle entfernt. Vom Alarm geweckt, eilen sie zu ihrem Gel¨andewagen, der jedoch nicht anspringt. Sie finden ein Fahrrad (f¨ur eine Person). Nat¨urlich benutzt A das Fahrrad, da er als Erster arbeiten muss. Allerdings k¨onnte es g¨unstig sein, wenn A das Fahrrad sp¨ater unterwegs liegen l¨asst, damit B nicht allzu sp¨at nach A an der Bohrstelle ankommt. Ebenso sollte B unter Umst¨anden auch das Rad f¨ur C unterwegs liegen lassen. Die Geschwindigkeit auf dem Rad betr¨agt 20 km/h. Zu Fuß betr¨agt die Geschwindigkeit a)
10 km/h,
b)
5 km/h.
An welchen Stellen sollten A bzw. B das Rad liegen lassen, damit das Leck schnellstm¨oglich abgedichtet wird? Formulieren Sie dieses Problem als (LP ) und l¨osen Sie es in beiden F¨allen.
Aufgabe 1.4.2 Eine Investmentbank (IVB) plant, sich – wenn lohnend – an drei Unternehmen A, B, C st¨arker zu beteiligen. Derzeit verf¨ugt die IVB u¨ ber 20 % der Aktienpakete jeder Firma, deren Gesamtaktienpakete jeweils aus 100.000 Aktien bestehen. Den Wert von A sch¨atzt man bei der IVB auf insgesamt 2 Mio. e, den von B auf 1 Mio. e und den von C auf 2,5 Mio. e. Man w¨are also normalerweise bereit, f¨ur einzelne Aktien folgende Preise zu zahlen:
18
I: 1 Problemstellung und Zweck
bei A f¨ur eine Aktie 20 e, bei B f¨ur eine Aktie 10 e, bei C f¨ur eine Aktie 25 e. Die IVB sieht aber auch, dass eine Erh¨ohung des Anteils zu zus¨atzlichem Einfluss und damit zu einer Wertsteigerung f¨uhrt, so dass man f¨ur einzelne Aktien 1 e mehr bezahlen wird, solange der eigene Anteil zwischen 20 % und 30 % liegt, noch 1 e mehr f¨ur den Anteil zwischen 30 % und 40 % und noch 1 e mehr bei 40 % − 50 % Anteil. Mehr als 50 % d¨urfen nicht gehalten werden, denn dies verbietet das Kartellamt. Die derzeitigen B¨orsenkurse sind: 16 e pro Aktie von A, 5 e pro Aktie von B, 15 e pro Aktie von C. ¨ Der derzeitige Preis ist aber nur realisierbar, solange das eigene Paket unter 30 % liegt. Bei Uberschreiten dieser Marke gibt die B¨orse eine Mitteilung heraus und deswegen steigen die Kurse von A um 25 %, von B um 60 % und von C um 20 % an. Analog ergibt sich eine nochmalige Steigerung bei der Marke 40 %. Hier steigt der Kurs von A nochmals um 30 %, der von B um 100 % und der von C nochmals um 25 %. Der IVB stehen 1 Mio. e zum Aktienkauf zur Verf¨ugung. Soll die gesamte Summe investiert werden und wie soll die investierte Summe verwendet werden, um den Wertzugewinn zu maximieren? a)
Modellieren Sie obiges Problem als (LP ) mit konkreten Zahlen.
b)
Ermitteln Sie die zahlenm¨aßige L¨osung.
Aufgabe 1.4.3 a)
Der Zul¨assigkeitsbereich des Problems (P ) mit min f (x)
=
4x1 5x1 x1 x1 −x1 x1
+ 16x2 + 2x2 + x2 + 5x2 −x2 x2
≥ ≥ ≥ ≥ ≥ ≥ ≥
10 3 5 −5 0 −5 0
ist ein Polygon Q im R2 . Zeichnen Sie dieses Polygon und l¨osen Sie (P ) mithilfe dieser Zeichnung. b)
Bestimmen Sie alle Ecken des Polygons Q.
1.5 L¨osungen zu den spielerischen Aufgaben
c)
19
Eine wesentliche Erkenntnis der linearen Optimierung besagt Folgendes: Bei linearen Optimierungsproblemen, deren Zul¨assigkeitsbereich mindestens eine Ecke besitzt, befindet sich – falls es u¨ berhaupt Optimalpunkte gibt – unter den Optimalpunkten auch eine Ecke. Bestimmen Sie rechnerisch eine Optimall¨osung und geben Sie eine Begr¨undung f¨ur Ihren rechnerischen Ansatz.
Aufgabe 1.4.4
Sei X der Einheitsw¨urfel im R3 ; seine acht Ecken sind (x1 , x2 , x3 )T ∈ R3 , x ∈ {0, 1}3. a)
Beschreiben Sie X durch ein lineares Ungleichungssystem (U ).
b)
Eine Ungleichung aT x ≤ b heißt straff, falls aT x = b gilt. F¨ur welche Punkte des W¨urfels sind keine, eine, zwei bzw. drei Ungleichungen in (U ) straff?
c)
Wir betrachten das lineare Optimierungsproblem max x1 + x2 + x3 x ∈ X.
(P )
Es sei bekannt, dass der Optimalwert von (P ) an einer Ecke angenommen wird. Starten Sie an der Ecke (0, 0, 0)T und gehen Sie jeweils (solange m¨oglich) entlang einer Kante zu einer Ecke mit h¨oherem Zielfunktionswert u¨ ber. Veranschaulichen Sie das Vorgehen an einer Zeichnung. Am Ende erhalten Sie die Optimall¨osung. Warum? Geben Sie alle so konstruierbaren Pfade an und zeichnen Sie sie ein. Bemerkung: Sie haben gerade Simplex-Pfade konstruiert.
Aufgabe 1.4.5
Ein Bauer will schwarze und braune K¨uhe m¨asten. Ihm stehen daf¨ur 80.000 m2 Weideland und 500 Tonnen Futtermittel zur Verf¨ugung. Eine schwarze Kuh braucht 500 m2 Weideland zum Grasen, eine braune 800 m2 . Eine schwarze Kuh braucht 7 Tonnen Futtermittel bis zur Verkaufsreife, eine braune 4 Tonnen. Eine ausgewachsene schwarze Kuh kann f¨ur 1.500 e, eine braune f¨ur 1.600 e verkauft werden. Wie viele schwarze bzw. braune K¨uhe sollte sich der Bauer anschaffen, um den Gesamtverkaufspreis zu maximieren? L¨osen Sie dies anhand einer Zeichnung.
1.5 L¨osungen zu den spielerischen Aufgaben L¨osung zu 1.4.1 Variablen: Z A , ZB , ZC x (in km) y (in km)
seien die Zeitpunkte (in h), in denen A, B, C mit ihrer Arbeit fertig werden. sei der erste Wechselpunkt des Fahrrads zwischen A und B. sei der zweite Wechselpunkt des Fahrrads zwischen B und C.
20
I: 1 Problemstellung und Zweck
Optimierungsproblem: min
ZC x ≥ 0, x ≤ y, y ≤ 5 1 ZA ≥ 3 1 ZB ≥ ZA + 3 1 ZC ≥ ZB + 3 5−x 1 x ZA ≥ + + 20 10 3 x 5−x 1 (bzw. + + in Version b) 20 5 3 y−x 5−y 1 x + + + ZB ≥ 10 20 10 3 x y−x 5−y 1 (bzw. + + + in Version b) 5 20 5 3 5−y 1 y + + ZC ≥ 10 20 3 y 5−y 1 (bzw. + + in Version b) 5 20 3
Erl¨auterungen: a)
Die Fahrzeit f¨ur die ganze Strecke betr¨agt 15 Minuten, die Laufzeit 30 Minuten. Insgesamt hat man also die M¨oglichkeit, die Einsparung von 15 Minuten (gegen¨uber der Laufzeit) zu verteilen auf A, B, C. Wem soll nun die Einsparung gegeben werden? ZA kann nicht kleiner als 15 min Fahrzeit + 20 min Arbeitszeit = 35 min werden. Benutzt allein A das Fahrrad, dann muss B 5 Minuten warten und wird nach 55 Minuten mit der Arbeit fertig. C muss also 25 Minuten warten. ⇒ ZA = 35, ZB = 55, ZC = 75, x = y = 5 Eine bessere M¨oglichkeit gibt es nicht, denn C k¨onnte n¨amlich nur fr¨uher fertig werden, wenn auch B fr¨uher fertig wird. Dies geht aber nur, wenn A fr¨uher als bei 35 min mit der Arbeit fertig w¨are (das geht aber nicht). ⇒ L¨osung ist optimal Formaler Nachweis: Formal zeigt man die Optimalit¨at mit dem Polarkegelsatz. (x, y, ZA , ZB , ZC )T stellt den Variablenvektor dar und −e5 ist der Zielfunktionsvektor.
1.5 L¨osungen zu den spielerischen Aufgaben
Als Restriktionsmatrix erh¨alt man ⎛ −1 0 ⎜ 1 −1 ⎜ ⎜ 0 1 ⎜ ⎜ 0 0 ⎜ ⎜ 0 A=⎜ 0 ⎜ 0 0 ⎜ ⎜− 1 0 ⎜ 20 ⎜ 1 1 ⎝ 20 − 20 1 0 20
21
⎞ 0 0 0 0 0 0⎟ ⎟ 0 0 0⎟ ⎟ −1 0 0⎟ ⎟ 1 −1 0⎟ ⎟. 0 1 −1⎟ ⎟ −1 0 0⎟ ⎟ ⎟ 0 −1 0⎠ 0 0 −1
F¨ur die angegebene L¨osung sind die Restriktionen 2, 3, 5, 6 und 7 straff. Aus den dazugeh¨orenden Vektoren l¨asst sich der Zielfunktionsvektor konisch kombinieren, denn es gilt ⎛ 1⎞ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ − 20 0 0 0 1 0 ⎜ 0 ⎟ ⎜0⎟ ⎜0⎟ ⎜0⎟ ⎜−1⎟ ⎜1⎟ ⎜ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ ⎜ 0 ⎟ = 1 · ⎜ 0 ⎟ + 1 · ⎜0⎟ + 1 · ⎜ 1 ⎟ + 1 · ⎜ 0 ⎟ + 1 · ⎜ −1 ⎟ ⎜ ⎜ ⎟ 20 ⎜ ⎟ 20 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ ⎝ 0 ⎠ ⎝0⎠ ⎝1⎠ ⎝−1⎠ ⎝0⎠ ⎝0⎠ −1 −1 0 0 0 0 ⎛
Daraus folgt, dass die L¨osung optimal ist. b)
F¨ur den Fuß weg braucht man 60 Minuten und per Fahrrad 15 Minuten. Man kann also 45 Minuten einsparen und diese lassen sich auf die drei Experten verteilen. A B C
braucht (60 − α) + 20 Minuten, braucht max{(60 − α) + 40, (60 − β) + 20} Minuten, braucht max{(60 − α) + 60, (60 − β) + 40, (60 − γ) + 20}
wobei α + β + γ = 45 und α, β, γ ≥ 0. Man wird also versuchen, das Maximum von C klein zu halten. max{120 − α, 100 − β, 80 − γ} wird bei α + β + γ = 45 und α, β, γ ≥ 0 dann minimal, wenn man die Einsparung am effektivsten einsetzt. Gibt man zuerst α die ersten 20 Minuten Einsparung, dann wird das Maximum bei 100 erreicht. Also gibt man dem α weitere α Einsparungen (α = 20 + α), so dass f¨ur C ZC = max{100 − α, 100 − β, 80 − γ} gilt. Weiter reduzieren kann man nun nur, indem man α und β gleich groß w¨ahlt. Es sind noch 25 Minuten verf¨ugbar und man setzt α = β = 12,5. Somit ergibt sich α = 32,5 und β = 12,5. ⇒ ZA = 47,5, ZB = 67,5, ZC = 87,5 ⇒x=
65 12,5 · 5 32,5 · 5 = , y =x+ =5 45 18 45
22
I: 1 Problemstellung und Zweck
Formaler Nachweis: Als Restriktionsmatrix erh¨alt man hier ⎞ ⎛ −1 0 0 0 0 ⎜ 1 −1 0 0 0⎟ ⎟ ⎜ ⎜ 0 1 0 0 0⎟ ⎟ ⎜ ⎜ 0 0 −1 0 0⎟ ⎟ ⎜ ⎜ 0 1 −1 0⎟ A=⎜ 0 ⎟. ⎟ ⎜ 0 0 0 1 −1 ⎟ ⎜ ⎜− 3 0 −1 0 0⎟ ⎟ ⎜ 20 ⎟ ⎜ 3 3 ⎝ 20 − 20 0 −1 0⎠ 3 0 0 0 −1 20 F¨ur die angegebene L¨osung sind die Restriktionen 3, 5, 6, 7 und 8 straff. Aus den dazugeh¨orenden Vektoren l¨asst sich der Zielfunktionsvektor konisch kombinieren, denn es gilt ⎛
⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ 3⎞ ⎛ 3 ⎞ − 20 0 0 0 0 20 ⎜0⎟ ⎜1⎟ ⎜0⎟ ⎜0⎟ ⎜ 0 ⎟ ⎜− 3 ⎟ ⎜ ⎟ ⎜ ⎜ ⎜ ⎜ ⎜ ⎟ ⎟ ⎟ ⎟ 20 ⎟ ⎜ 0 ⎟ = 3 · ⎜0⎟ + 1 · ⎜ 1 ⎟ + 1 · ⎜ 0 ⎟ + 1 · ⎜ −1 ⎟ + 1 · ⎜ 0 ⎟ ⎜ ⎟ 40 ⎜ ⎟ 2 ⎜ ⎟ ⎜ ⎟ 2 ⎜ ⎟ 2 ⎜ ⎟ ⎝0⎠ ⎝0⎠ ⎝−1⎠ ⎝1⎠ ⎝ 0 ⎠ ⎝ −1 ⎠ −1 0 0 −1 0 0 Daraus folgt, dass die L¨osung optimal ist.
L¨osung zu 1.4.2 a)
Variablen: Wegen der Staffelung der Preise f¨ur die K¨aufe und die Werteinsch¨atzung (Nutzen) ist es sinnvoll, die Variablen KA , KB , KC f¨ur die zu kaufenden Anteile am Gesamtaktienpaket zu staffeln. Parameter: Die Preise f¨ur die Aktien sind wie folgt gestaffelt als: 30 40 50 CA = 16 CA = 20 CA = 26 30 40 50 = 16 CB = 5 CB = 8 CB 30 40 50 = 15 CC = 18 CC = 22,5 CC
Der erzielbare Nutzen (Werteinsch¨atzung der IVB) ist ebenfalls gestaffelt: n30 A = 20 + 1 n30 B = 10 + 1 n30 C = 25 + 1
n40 A = 20 + 2 n40 B = 10 + 2 n40 C = 25 + 2
n50 A = 20 + 3 n50 B = 10 + 3 n50 C = 25 + 3
1.5 L¨osungen zu den spielerischen Aufgaben
23
Der erzielbare Wertzugewinn ist demnach nji − cji (Nutzen - Kosten), genauer: 30 40 = 5 gA =2 gA 30 40 =4 gB = 6 gB 30 40 = 11 gC =9 gC
50 gA = −3 50 gB = −3 50 gC = 5,5
Restriktionen:
30 40 50 KA = KA + KA + KA
(1.13)
KB =
(1.14)
KC = mit
30 KB 30 KC
+ +
40 KB 40 KC
+ +
50 KB 50 KC
Kij ≥ 0 ∀j = 30, 40, 50, i = A, B, C.
(1.15)
(1.16)
Da wir Anteile am Gesamtaktienpaket betrachten, haben wir die Oberschranken Kij ≤ 10 ∀j = 30, 40, 50, i = A, B, C.
(1.17)
Zu den bisherigen Nebenbedingungen kommt die Budgetschranke von 1 Mio. Da die Kij prozentuale Anteile beschreiben und 1 % genau 1.000 Aktien entsprechen, ist 1.000 · Kij die dem Anteil entsprechende Anzahl an Aktien. Also:
30 40 50 · 16 + 1.000 · KA · 20 + 1.000 · KA · 26 1.000 · KA 30 40 50 + 1.000 · KB · 5 + 1.000 · KB · 8 + 1.000 · KB · 16 30 40 50 · 15 + 1.000 · KC · 18 + 1.000 · KC · 22,5 ≤ 1.000.000 + 1.000 · KC
(1.18)
Zielfunktion: Die Zielfunktion ist nun ( gij Kij = Zusatzgewinn): i,j
30 40 50 30 40 50 30 40 50 ·5+KA ·2+KA ·(−3)+KB ·6+KB ·4+KB ·(−3)+KC ·11+KC ·9+KC ·5,5 KA
Diese Zielfunktion gilt es zu maximieren unter den Nebenbedingungen (1.13) bis (1.18). Wegen des monoton fallenden Gewinns f¨ur steigende Anteile werden durch die Optimierung die Anteile von unten aufgef¨ullt“, das heißt, dass automatisch zuerst der Anteil bis ” zur 30 % Marke gekauft wird, dann der zur 40 % Marke und danach der bis zur 50 % Marke. Dies gilt bei allen drei Unternehmen.
24
I: 1 Problemstellung und Zweck
b)
Idee: Zuerst die Anteile mit gr¨oßtm¨oglichem Gewinn pro eingesetzter Geldeinheit kaufen Gewinn Besetzung Preis Kosten 30 KB (6) 60.000 10 · 1.000 5 50.000 50.000 30 (11) 110.000 10 · 1.000 15 150.000 200.000 KC 40 (9) 90.000 10 · 1.000 18 180.000 380.000 KC 40 (4) 40.000 10 · 1.000 8 80.000 460.000 KB 30 (5) 50.000 10 · 1.000 16 160.000 620.000 KA 50 (5,5) 55.000 10 · 1.000 22,5 225.000 845.000 KC 40 (2) 15.500 7,75 · 1.000 20 155.000 1.000.000 KA 420.500 50 50 und KB f¨uhren nur zu Verlusten. Das Budget ist ausgesch¨opft und KA Ergebnis: Dazu soll die IVB kaufen:
von A von B von C
17,75 %, 20 % 30 %.
und
Der Gesamtgewinn betr¨agt 420.500 e.
L¨osung zu 1.4.3 a)
Zeichnung des Polygons: Zielrichtung
x2 5 4
Q
3 2
5
1
2 1 2
1
2
3
x1 4
5
Der Punkt in Q mit der niedrigsten Projektion auf die Zielrichtung ist optimal (minimal). In diesem Fall ist dies x = ( 52 , 12 )T mit dem Zielfunktionswert 52 · 4 + 12 · 16 = 18.
1.5 L¨osungen zu den spielerischen Aufgaben
25
b)
Die Ecken von Q sind
c)
Da es sich hier um einen beschr¨ankten Zul¨assigkeitsbereich handelt und die Zielfunktion 4x1 + 16x2 stetig ist, wird ein Optimalwert angenommen. Deshalb kommt unter den Optimalpunkten auch eine Ecke vor und man darf sich auf die Auswertung der Ecken beschr¨anken.
5 4 0 5 5 , , , 21 , 35 5 5 0 2 3
Die Zielfunktionswerte an diesen Ecken sind 80, 100, 20, 18, 32. 5 Also ist nach der benutzten Erkenntnis der Optimalwert 18 und die Ecke malpunkt.
2 1 2
ein Opti-
L¨osung zu 1.4.4 a)
Lineares Ungleichungssystem: 0≤ 0≤ 0≤
x1 x2 x3
≤1 ≤1 ≤1
b)
Keine Ungleichung ist straff in den inneren Punkten, also sind alle R¨ander des W¨urfels ausgenommen. Eine Ungleichung ist straff an den 6 Seiten (ohne deren R¨ander). Zwei Ungleichungen sind straff an den 12 Kanten (ohne deren begrenzende Ecken). Drei Ungleichungen sind straff an den 8 Ecken.
c)
m¨ogliche Simplexpfade:
x3
x3 1.0
x2 1.0
1.0
1.0
x2 1.0
1.0
x1
x1
Jeder Schritt von einer Ecke zu einer Nachbarecke (durch eine Kante verbunden) f¨uhrt nur zu einer Verbesserung, wenn eine Komponente von 0 auf 1 steigt und alle anderen
26
I: 1 Problemstellung und Zweck
Komponenten gleich bleiben. Andererseits sind zwei Ecken mit nur einer Unterschiedskomponente immer durch eine Kante verbunden. Infolgedessen kann man jede der drei Komponenten einmal steigern, nur die Reihenfolge ist variabel. Man gelangt schließlich immer zur Optimalecke (1, 1, 1)T . ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 1 1 1 ⎝0⎠ → ⎝0⎠ → ⎝1⎠ → ⎝1⎠ 0 0 0 1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 1 1 1 ⎝0⎠ → ⎝0⎠ → ⎝0⎠ → ⎝1⎠ 0 0 1 1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 1 1 ⎝0⎠ → ⎝1⎠ → ⎝1⎠ → ⎝1⎠ 0 0 0 1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 0 1 ⎝0⎠ → ⎝1⎠ → ⎝1⎠ → ⎝1⎠ 0 0 1 1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 1 1 ⎝0⎠ → ⎝0⎠ → ⎝0⎠ → ⎝1⎠ 0 1 1 1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 0 1 ⎝0⎠ → ⎝0⎠ → ⎝1⎠ → ⎝1⎠ 0 1 1 1
L¨osung zu 1.4.5 x sei die Anzahl schwarzer K¨uhe und y die Anzahl brauner K¨uhe. Das Optimierungsmodell ist dann max
1.500x + 1.600y 500x + 800y 7x + 4y x, y
≤ 80.000 ≤ 500 ≥ 0
(Erl¨os) (Weidelandbeschr¨ankung) (Futtermittelbeschr¨ankung) (nichtnegative Anzahl K¨uhe)
Wir werten die Ecken des Zul¨assigkeitsbereiches Q aus.
1.5 L¨osungen zu den spielerischen Aufgaben
27
y 120 100
beste Ecke
80 60
Q
40 20 0 0 Die Ecken sind
20
40 60 80 100 120 140 160
x
3 2 22 9 0 71 7 0 , , , . 0 0 100 86 91
Die dritte Ecke ergibt sich aus dem Gleichungssystem 2 5x + 8y = 800 −9x = −200 x = 200 9 = 22 9 ⇔ ⇔ 7x + 4y = 500 4y = 500 − 1.400 = 7x + 4y = 500 9 ⇒y=
1 3.100 = 86 36 9
T
Ein Optimum l¨age bei 22 92 , 86 91 vor, realistischer ist jedoch (22, 86)T . Der realistische Maximalwert ist also 33.000 + 137.600 = 170.600.
3.100 9
Kapitel 2
Darstellungsformen und Alternativs¨atze fur ¨ lineare Optimierungsprobleme 2.1 Lineare Ungleichungssysteme Lineare Optimierungsaufgaben beziehen ihren Zul¨assigkeitsbereich aus linearen Ungleichungssystemen. Insofern sind verschiedene Typen anzutreffen, die sich aber im Wesentlichen gleichen. Ein Optimierungsproblem kann auf sehr verschiedene Arten beschrieben werden. Um solche verschiedenen Beschreibungen handhaben zu k¨onnen, befassen wir uns jetzt mit Transformationen zwischen Darstellungsformen.
Definition 2.1 Ein System der Art Ax + By + Cz Dx + F y + Gz Hx + Iy + Jz x z
≤a =b ≥c ≥0 ≤0
A ∈ K (m1 ,p) , B ∈ K (m1 ,q) , C ∈ K (m1 ,r) , a ∈ K m1 D ∈ K (m2 ,p) , F ∈ K (m2 ,q) , G ∈ K (m2 ,r) , b ∈ K m2 H ∈ K (m3 ,p) , I ∈ K (m3 ,q) , J ∈ K (m3 ,r) , c ∈ K m3 0 ∈ K p, x ∈ K p, y ∈ Kq, z ∈ Kr r 0∈K .
heißt Ungleichungssystem in allgemein(st)er Form.
Bezeichnungen Eine Ungleichungsrestriktion aTi x ≤ bi heißt bei x straff, wenn aTi x = bi , locker, wenn aTi x < bi und verletzt, wenn aTi x > bi . Analoges gilt f¨ur Restriktionen aTi x ≥ bi . Gleichungsrestriktionen aTi x = bi sind entweder erf¨ullt (straff) bei aTi x = bi oder verletzt bei aTi x = bi .
30
I: 2 Darstellungsformen und Alternativs¨atze f¨ur lineare Optimierungsprobleme
Definition 2.2 Zwei Ungleichungssysteme heißen transformationsidentisch, wenn sie sich durch folgende Maßnahmen ineinander u¨ berf¨uhren lassen. 1.
Beschreibung einer Gleichung durch zwei Ungleichungen und umgekehrt: aT x = β ⇔ aT x ≤ β und aT x ≥ β
2.
Umwandlung einer ≥ in eine ≤ Beziehung und umgekehrt: aT x ≥ β ⇔ −aT x ≤ −β.
3.
Einf¨uhrung und Entfernung von Schlupfvariablen: Es gelte i)
aT x ≤ β, dann kann man auch verlangen
ii)
aT x + γ = β, γ ≥ 0 (γ heißt hier Schlupfvariable).
Aus einem Ungleichungssystem wird also durch Einf¨uhrung von Schlupfvariablen ein Gleichungssystem mit teilweiser Vorzeichenbedingung. Die Dimension des VariablenRaumes w¨achst dabei um die Dimension des Schlupfvariablenvektors an. 4.
Einf¨uhrung und Entfernung von vorzeichenbeschr¨ankten Variablen: x sei nicht vorzeichenbeschr¨ankt. Setze x = x+ − x− mit xi+ = max{xi , 0}, xi− = max{0, −xi }. Statt Ax = b schreibt man dann Dw = d, w ≥ 0 mit D = [A, −A] und w = w ∈ K 2n , d = b.
x+ , x−
5.
¨ Anderung von Vorzeichen oder Vorzeichenbeschr¨ankungen: Man ersetzt eine Variable xi ≥ 0 durch eine Variable z i ≤ 0 bei gleichzeitiger Alternierung der betreffenden Spalte und umgekehrt. Dann liefert A.i xi bei xi ≥ 0 den gleichen Beitrag wie −A.i z.i bei z i ≤ 0. Oder aber man ersetzt eine nicht vorzeichenbeschr¨ankte Variable y i durch die Variable −y i unter gleichzeitiger Alternierung der Spalte.
6.
Austausch zwischen Vorzeichenbedingung und Ungleichung: Vorzeichenbedingungen k¨onnen auch in den Ungleichungen bereits erw¨ahnt werden.
Bemerkung All diese Transformationen haben die Eigenschaft, dass man aus dem Ergebnis der Transformation eines Punktes und der Angabe der ausgef¨uhrten Transformation jeweils den Ausgangspunkt in der urspr¨unglichen Darstellung rekonstruieren kann.
2.1 Lineare Ungleichungssysteme
31
Bemerkung Da Transformationsidentit¨at eine reflexive, symmetrische und transitive Relation ist, kann man ¨ von einer Aquivalenzrelation sprechen.
Lemma 2.3 Zu jedem System der Form Ax + By + Cz Dx + F y + Gz Hx + Iy + Jz x z
A ∈ K (m1 ,p) , B ∈ K (m1 ,q) , C ∈ K (m1 ,r) , a ∈ K m1 D ∈ K (m2 ,p) , F ∈ K (m2 ,q) , G ∈ K (m2 ,r) , b ∈ K m2 H ∈ K (m3 ,p) , I ∈ K (m3 ,q) , J ∈ K (m3 ,r) , c ∈ K m3 0 ∈ K p, x ∈ K p, y ∈ Kq, z ∈ Kr r 0∈K
≤a =b ≥c ≥0 ≤0
gibt es eine transformationsidentische Darstellung des Zul¨assigkeitsbereichs in Ungleichungsform: ⎛
A ⎜ D ⎜ ⎜−D ⎜ ⎜−H ⎜ ⎝ −E 0
B F −F −I 0 0
⎞ ⎛ ⎞ a C ⎛ ⎞ ⎜b⎟ G⎟ ⎟ x ⎜ ⎟ ⎜ ⎟ −G⎟ ˜x ≤ ˜b. ⎟ ⎝y ⎠ ≤ ⎜−b⎟ :⇔ A˜ ⎟ ⎜−c⎟ −J ⎟ ⎟ ⎜ z ⎝0⎠ 0 ⎠ 0 E
Ebenso existiert eine transformationsidentische Darstellung in Gleichungsform mit Vorzeichenbedingungen: ⎛
A B ⎝D F H I
−B −F −I
⎛ ⎞ x ⎞ ⎜y1 ⎟ ⎛ ⎞ ⎟ −C E 0 ⎜ a ⎜y2 ⎟ ⎜ ⎠ ⎝b⎠ −G 0 0 ⎜ ⎟ = z⎟ ⎟ −J 0 −E ⎜ c ⎝ s1 ⎠ s2
mit x ≥ 0, y1 ≥ 0, y2 ≥ 0, z ≥ 0, s1 ≥ 0, s2 ≥ 0
˜x = ˜b mit x :⇔ A˜ ˜ ≥ 0.
Definition 2.4 Man spricht von zwei transformationsidentischen Optimierungsproblemen, wenn die zugeh¨origen Ungleichungssysteme transformationsidentisch sind und wenn die entsprechende Transfor¨ mation auch auf die Zielfunktion angewandt worden ist. Außerdem wird noch der Ubergang von der Maximierung der Zielfunktion zur Minimierung der entsprechenden negativen Zielfunktion zugelassen (und umgekehrt).
32
I: 2 Darstellungsformen und Alternativs¨atze f¨ur lineare Optimierungsprobleme
Definition 2.5 Wir erkl¨aren die kanonische Form eines Optimierungsproblems als max v T x unter Ax ≤ b mit v, x ∈ K n , A ∈ K (m,n) , b ∈ K m (kanonisch bezieht sich auf die Art der Beschreibung des Zul¨assigkeitsbereichs).
Definition 2.6 Die sog. Standardform eines linearen Optimierungsproblems hat folgende Darstellung: max cT x (bzw. min cT x) unter Ax = b, x ≥ 0.
Korollar 2.7 ¨ In jeder Transformations-Aquivalenzklasse von Optimierungsproblemen befinden sich ein kanonisches und ein Standardproblem.
Lemma 2.8 Zu einer kanonischen Darstellung gibt es demnach immer eine a¨ quivalente Standarddarstellung und umgekehrt.
Alternativs¨atze Ein wesentlicher Aspekt bei linearen Ungleichungssystemen ist die Frage und Erkundung ihrer L¨osbarkeit. Hierf¨ur stehen etliche sogenannte Alternativs¨atze zur Verf¨ugung. Dabei wird zu einem Ungleichungssystem ein Partnerproblem definiert, das genau dann erf¨ullbar ist, wenn das Originalproblem nicht l¨osbar ist. In einem Alternativsatz werden also zwei sich ausschließende Aussagen aufgelistet, von denen aber bei jeder Spezifizierung immer eine wahr ist. Das Wort Entweder“ ist also im Folgenden immer ausschließend gemeint. ” Wir kommen nun zum wichtigsten Alternativsatz f¨ur lineare Ungleichungssysteme. Satz 2.9 (Lemma von Farkas) Entweder gilt I es existiert ein x ∈ K n mit Ax = b und x ≥ 0 oder II es existiert ein z ∈ K m mit AT z ≤ 0 sowie bT z > 0 .
2.1 Lineare Ungleichungssysteme
Ein weiteres sehr hilfreiches Ergebnis stammt von Motzkin.
Satz 2.10 (Motzkin) A, C, D seien gegebene (dimensionsvertr¨agliche) Matrizen. A sei vorhanden. Dann gilt: Entweder I Ax > 0, Cx ≥ 0, Dx = 0 hat eine L¨osung x ⎛ ⎞
y1 T T T A y1 + C y3 + D y4 = 0 hat eine L¨osung y = ⎝y3 ⎠ . oder II das System y1 ≥= 0, y3 ≥ 0 y4
Nun wollen wir auch nichthomogene Ungleichungen behandeln k¨onnen.
Satz 2.11 (Nichthomogenes Farkas-Theorem) Sei A ∈ K (m,n) , b ∈ K n , c ∈ K m und β ∈ K . Es gilt Entweder I bT x > β, Ax ≤ c ist l¨osbar mit x ∈ K n
AT y = b, cT y ≤ β, y ≥ 0 oder besitzt eine L¨osung y ∈ K m . oder II AT y = 0, cT y < 0, y ≥ 0
Satz 2.12 (Gordan) F¨ur eine gegebene Matrix A ∈ K (m,n) gilt Entweder I Ax > 0 oder II AT y = 0, y ≥= 0 ist l¨osbar.
Satz 2.13 (Gale: L¨osbarkeit eines Ungleichungssystems) Entweder I Ax ≤ c oder II AT y = 0, cT y < 0, y ≥ 0 ist l¨osbar.
Satz 2.14 (Gale: Nichtnegative L¨osbarkeit eines Ungleichungssystems) Entweder I Ax ≤ c, x ≥ 0 oder II AT y ≥ 0, cT y < 0, y ≥ 0 ist l¨osbar.
33
34
I: 2 Darstellungsformen und Alternativs¨atze f¨ur lineare Optimierungsprobleme
Satz 2.15 (Stiemke: Strikt positive L¨osbarkeit) Entweder I Ax = 0, x > 0 oder II AT y ≥= 0 ist l¨osbar.
Der folgende Satz hilft beim Erkennen von u¨ berfl¨ussigen Restriktionen. Satz 2.16 (Redundanzsatz) Ax ≤ b definiere einen nichtleeren Zul¨assigkeitsbereich. Dann ist cT x ≤ γ genau dann redundant bez. Ax ≤ b (das heißt, dass die Ungleichung verzichtbar ist), wenn sich c als konische Kombination der Zeilen von A schreiben l¨asst und die entsprechende Kombination der b-Komponenten nicht mehr als γ liefert. Der folgende Satz bildet die geometrische Grundlage der algorithmischen L¨osung von linearen Optimierungsproblemen, weil er ein hinreichendes und notwendiges Kriterium f¨ur Optimalit¨at angibt. Satz 2.17 (Polarkegelsatz) Zu einem linearen Optimierungsproblem max cT x unter Ax ≤ b sei ein Punkt x0 gegeben, f¨ur den gilt: Ax0 ≤ b , AI x0 = bI , AJ x0 < bJ , I ∪ J = {1, . . . , m} . Dann ist cT x0 unter der Nebenbedingung Ax ≤ b genau dann optimal, wenn gilt: c ∈ cone(ai | i ∈ I) = cone(ATi. | i ∈ I) = polar(x0 ).
2.2 Aufgaben zu linearen Ungleichungssystemen Aufgabe 2.2.1 Betrachten Sie die Optimierungsaufgabe max −x1 unter x1 2x1 x1 4x1 2x1
+x2 −2x2 −x2
−x3 x3 −x3
2
−3x
2
3
+x 2x
3
−x
+x4 +x4 +3x4 −2x4 +x4
≤ 2 ≤ 4 ≤ 1 ≤ −1 ≤ 1 ≤ 4 ≤ 2
(cT x) (a1 ) (a2 ) (a3 ) (a4 ) (a5 ) (a6 ) (a7 )
2.2 Aufgaben zu linearen Ungleichungssystemen
a)
35
Werten Sie die Zielfunktion und obige Restriktionen an folgenden Punkten u1 , . . . , u7 aus. u1
u2
u3
u5
u6
u7
0
−2
−1
1
0
1
0
1
1
1
1
1
1
0
7 5 7 5 4 5 6 5
1
1
1
0
2
x
0
0
x3
1
x4
1
x
u4
− 25 2 0
b)
Stellen Sie fest, welche Restriktionen bei den Punkten u1 , . . . , u7 straff, locker bzw. verletzt sind. Geben Sie Ihre Ergebnisse in Tabellenform an. Kontrollieren Sie, welche dieser Punkte zul¨assig, unzul¨assig, innere Punkte, Basisl¨osungen, Ecken bzw. Optimalpunkte sind (begr¨undete Aussagen).
c)
Wenn Sie die richtigen Restriktionsauswertungen vorgenommen haben, m¨ussten Sie in der Lage sein, durch Kombination verschiedener ui folgende Anforderungen zu erf¨ullen: (i)
Gesucht wird ein zul¨assiger Punkt, der bzgl. a1 und a4 , aber nirgendwo sonst straff ist.
(ii) Gesucht wird ein zul¨assiger Punkt, der nur bzgl. a5 straff ist, sonst nirgends. (iii) Betrachten Sie die Problemstruktur und Ihre Tabelle und bestimmen Sie so einen zul¨assigen Punkt mit Zielfunktionswert 5.
Aufgabe 2.2.2 Wir betrachten ein lineares Optimierungsproblem max cT x unter
Ax ≤ b, x ∈ Rn .
(P )
Man sagt, (P ) sei unbeschr¨ankt, wenn es zu jedem α ∈ R ein zul¨assiges x mit cT x > α gibt. Zeigen Sie, dass genau einer der folgenden drei F¨alle eintritt: (i)
(P ) ist unzul¨assig.
(ii)
(P ) ist unbeschr¨ankt.
(iii) (P ) hat eine Optimall¨osung. Hinweis: Man zeige zun¨achst, dass der Wertebereich X := {cT x : x ∈ Rn , Ax ≤ b} abgeschlossen ist.
Aufgabe 2.2.3
Seien A, B Mengen und A, B ⊂ Rn , z ∈ Rn , α ∈ R. Man sagt, die Hyperebene {x ∈ Rn : z T x = α} trennt A und B, falls z T a ≤ α f¨ur alle a ∈ A und z T b > α f¨ur alle b ∈ B. Seien a1 , ..., ak , b ∈ Rn gegeben. Zeigen Sie, dass genau einer der folgenden beiden F¨alle eintritt:
36
I: 2 Darstellungsformen und Alternativs¨atze f¨ur lineare Optimierungsprobleme
(i)
b ∈ cone({a1 , ..., ak }).
(ii)
Es gibt eine Hyperebene H mit 0 ∈ H, die {a1 , ..., ak } und {b} trennt.
Veranschaulichen Sie die beiden Alternativen im R2 durch eine Zeichnung.
Aufgabe 2.2.4 a)
Beweisen Sie folgenden Alternativsatz f¨ur eine lineare Optimierungsaufgabe max cT x unter x ∈ P = {x ∈ Rn : Ax ≤ b}, 0 < β ∈ R unter Berufung auf das Nichthomogene Farkas-Theorem. Entweder gilt (I) Es gibt z mit Az ≤ b, A(−z) ≤ b und cT z > β oder ⎫ ⎧ T ⎪ ⎪ b y y y 1 1 1 ⎪ T T ⎪ (A , −A ) ⎪ = c, ≤ β, ≥0⎪ ⎪ ⎪ ⎪ ⎪ y2 y2 y2 b ⎨ ⎬ ist l¨osbar. (II) das System oder ⎪ ⎪ T ⎪ ⎪ ⎪ ⎪ b y1 y1 y1 ⎪ ⎪ ⎪ = 0, < 0, ≥0⎪ ⎩ (AT , −AT ) ⎭ y2 y2 y2 b
b)
¨ Nun sei b ≥ 0 vorausgesetzt. Uberlegen Sie sich, dass sich unter dieser Annahme die Bedingung (II) vereinfacht zu (II’)
T y b y1 y1 ≤ β, 1 ≥ 0 = c, (A , −A ) y2 y2 y2 b T
T
(das heißt, dass der zweite Teil von (II) weggelassen werden kann).
Aufgabe 2.2.5
Es seien a1 , . . . , am Punkte des K n . Sie kennen die folgende Definition: a1 , . . . , am sind affin unabh¨angig, wenn sich kein Element aus {a1 , . . . , am } als Affinkombination der anderen darstellen l¨asst. Und der affine Rang von {a1 , . . . , am } ist die Maximalzahl von affin unabh¨angigen Vektoren in dieser Menge. a)
Beweisen Sie, dass i) und ii) a¨ quivalent sind: i) ii)
b)
a1 , . . . , ak sind affin unabh¨angig; (μ1 , . . . , μk ) = (0, . . . , 0) mit ki=1 μi ai = 0 und ki=1 μi = 0.
Beweisen Sie, dass I und II Alternativen darstellen: I:
0 ∈ aff(a1 , . . . , am );
II:
Affiner Rang(a1 , . . . , am ) = dim(lin(a1 , . . . , am )).
2.3 L¨osungen zu linearen Ungleichungssystemen
37
2.3 L¨osungen zu linearen Ungleichungssystemen L¨osung zu 2.2.1 a)
Die folgende Tabelle gibt die Skalarprodukte zwischen ai und uj an und deklariert die Straffheit, Lockerheit und Verletztheit von Restriktionen. u1 aT1 ui aT2 ui aT3 ui aT4 ui aT5 ui aT6 ui aT7 ui cT u i
b)
c)
2 4 1
u2 = = =
−1 =
1 4
u3 < =
2 1
u4 =
1
3.3 L¨osungen zur Konvexit¨at von Mengen
53
L¨osung zu 3.2.2 a)
⇒: d = 0 sei eine freie Richtung von P (A, b) ⇒ es gibt x ∈ P (A, b), so dass x + λd ∈ P (A, b) ∀ λ ≥ 0 das heißt A(x + λd) ≤ b ∀ λ ≥ 0 ⇒ λAd ≤ b − Ax ⇒ Ad ≤ λ1 (b − Ax) ∀ λ > 0 ⇒ Ad ≤ 0 f¨ur λ → ∞
⇐: Sei d = 0, Ad ≤ 0, x ∈ P (A, b) beliebig. Dann gilt ∀ λ ≥ 0 A(x + λd) = Ax + λAd ≤ Ax + λ · 0 ≤ b ⇒ alle x + λd mit λ ≥ 0 sind zul¨assig ⇒ d ist freie Richtung
b)
Betrachte M = {x ∈ R2 | x1 − 2x2 ≥ −6, x1 − x2 ≥ −2, x1 + x2 ≥ 1, x ≥ 0} und N = M ∩ {x ∈ R2 | x1 ≤ x2 }. Rechnerisch: F¨ur eine freie Richtung muss Ad ≤ 0 mit d = 0 gelten. Setze d = (d1 , d2 )T . M:
−d1 + 2d2 −d1 + d2 −d1 − d2 −d1 −d2
≤0 ≤0 ≤0 ≤0 ≤0
⇔ ⇔ ⇔ ⇔ ⇔
2d2 d2 −d2 d1 d2
≤ ≤ ≤ ≥ ≥
d1 d1 d1 0 0
(immer erf¨ullt f¨ur d2 ≥ 0, d1 ≥ 0)
Also gilt f¨ur die freien Richtungen 2d2 ≤ d1 und d2 ≥ 0. Die freien Richtungen liegen somit in 2 1 cone , . 1 0 x2 6 5 4 3
unbeschr¨ankter Zul¨assigkeitsbereich
2
Kegel der freien Richtungen
1 −2 −1 −1
x1 1
2
3
4
−2 Zul¨assigkeitsbereich der Menge M N:
Die zus¨atzliche Restriktion x1 − x2 ≤ 0 impliziert d1 ≤ d2 . Mit den Bedingungen der Menge M haben wir dann d2 ≥ 0, d1 ≤ d2 ≤ 21 d1 ⇒ d1 = 0, d2 = 0. (Widerspruch)
54
I: 3 Polyedertheorie
N hat also keine freien Richtungen. x2 6 5 sig ke its be re ic h
4
Zu la¨ s
3 2 1
x −2 −1 −1
1
2
3
4
5
6
−2 Zul¨assigkeitsbereich der Menge N
c)
1)
Z. z.: Wenn wir zi = −A−1 ei setzen, dann spannen die zi den konvexen Kegel der freien Richtungen auf, das heißt, dass es zu jeder freien Richtung d es ρ1 , . . . , ρn ≥ 0 n mit d = i=1 ρi zi gibt. Die zi sind (wegen Azi = −ei ≤ 0) freie Richtungen. d = 0 ist freie Richtung und A invertierbar ⇒ mit ξ := Ad gilt ξ ≤ 0 und d = A−1 ξ. Also hat man −1
d=A
ξ
−1
= A
= A−1
n i=1 n
i
ξ ei |ξ i |(−ei )
wegen ξ i ≤ 0 ∀ i
i=1
=
n
|ξ i |A−1 (−ei )
i=1
=
n
|ξ i |zi .
i=1
Setze nun ρi = |ξ i | ≥ 0 und dann gilt d = 2)
n i=1
ρi z i .
Z. z.: Die zi sind extremale freie Richtungen. Annahme: (O. B. d. A.) z1 w¨are nicht extremal. Dann m¨usste es verschiedene freie Richtungen d1 = αd2 , α > 0 geben mit z1 = λd1 + μd2 ,
λ, μ > 0.
3.3 L¨osungen zur Konvexit¨at von Mengen
55
Das heißt aber ⎛ Az1 ⎞ = λAd⎛ 1 + μAd ⎞ 2 ξ1 κ1 ⎜ ⎟ ⎜ ⎟ bzw. −e1 = λ ⎝ ... ⎠ + μ ⎝ ... ⎠ mit ξ i , κi ≤ 0 ξ
n
κ
∀ i.
n
Dann aber m¨ussen ξ 2 , . . . , ξ n = κ2 , . . . , κn = 0 sein und Ad1 , Ad2 sind Vielfache von −e1 , also auch Vielfache voneinander. Dann sind aber auch d1 , d2 Vielfache voneinander, da A invertierbar ist. (Widerspruch) ⇒ Die zi sind extremale freie Richtungen.
L¨osung zu 3.2.3 Wir f¨uhren den Beweis durch Induktion. Induktionsanfang: k = 1 Da x zu conv(a1 , . . . , am ) geh¨ort, gibt es r(≥ 1) Erzeuger (o. B. d. A.) a1 , . . . , ar , so dass r r i=1 λi ai , i=1 λi = 1, λi ≥ 0 (man lasse die Erzeuger mit λj = 0 einfach weg). Induktionsannahme: Sei k ≥ 1, k < m. x sei gegeben in der Form x = ki=1 λi ai , ki=1 λi = 1, λi > 0 ∀i Induktionsschritt: Wir weisen nach, dass wir eine echte Erzeugung mit a1 , . . . , ak und ak+1 finden k¨onnen. 1.
Trivialfall: ak+1 = x Dann stellen wir x dar als 12 ak+1 + 12 ki=1 λi ai mit λi gem¨aß Induktionsannahme k 1 1 1 1 i=1 λi = 1 ⇒ 2 + 2 λi = 1, 2 λi > 0 und 2 > 0.
2.
nichttrivialer Fall: ak+1 = x. Da es sich bei x um einen inneren Punkt handelt, gibt es eine Umgebung Uε (x) ⊂ conv(a1 , . . . , am ). Betrachten wir die Richtung von x nach ak+1 , also R+ (ak+1 − x) und wandern wir von x aus in die Gegenrichtung, also in R+ (x − ak+1 ), dann geh¨ort f¨ur ein δ > 0 jeder Punkt x + η(x − ak+1 ) mit 0 < η < δ immer noch zu conv(a1 , . . . , am ). Nun ist aber x eine echte Konvexkombination von ak+1 und x + η(x − ak+1 ), n¨amlich 1 η [x + η(x − ak+1 )] + ak+1 . 1+η 1+η m F¨ur [x + η(x − ak+1 )] gibt es ganz simpel eine Darstellung i=1 μi ai mit μi ≥ 0 und μi = 1, also gilt: x=
x=
m 1 η ak+1 mit η > 0. μi ai + 1 + η i=1 1+η
56
I: 3 Polyedertheorie
Mischen wir jetzt beide Darstellungen, so gilt k m 1 1 1 η 1 1 1 · · ak+1 λi ai + · μi ai + · x= ·x+ ·x = · 2 2 2 i=1 2 1 + η i=1 2 1+η k 1 1 1 1 1 1 η λi + · μi ai + · μk+1 + ak+1 = 2 21+η 21+η 21+η i=1
+
m 1 1 · μi ai 21+η
i=k+2
Die Koeffizienten der beiden ersten Terme sind positiv: 1 2 1 2
1 · λi + 12 · 1+η · μi , η 1 · 1+η μk+1 + 12 · 1+η ,
weil λi > 0, μi ≥ 0, η > 0 weil η > 0, μk+1 ≥ 0
Die Koeffizienten des letzten Terms sind nichtnegativ, weil μi ≥ 0. Die Koeffizientensumme ist k 1 i=1
m 1 η 1 1 1 1 η 1 1 · λi + · · = + · + · = 1. μi + · 2 2 1 + η i=1 2 1+η 2 2 1+η 2 1+η
Deshalb haben wir hier eine Konvexdarstellung mit mindestens k + 1 echten Erzeugern.
L¨osung zu 3.2.4 a)
Sei x1 Optimum von (P1 ) mit Optimalwert γ1 = cT x1 . Sei x2 Optimum von (P2 ) mit Optimalwert γ2 = cT x2 . Betrachte den Punkt λx1 + (1 − λ)x2 , dieser ist zul¨assig f¨ur (Pmix ), denn A(λx1 + (1 − λ)x2 ) = λAx1 + (1 − λ)Ax2 ≤ λb1 + (1 − λ)b2 . Zielfunktionswert: cT (λx1 + (1 − λ)x2 ) = λγ1 + (1 − λ)γ2 ⇒ Es gibt in (Pmix ) einen zul¨assigen Punkt, dessen Zielfunktionswert mindestens so groß wie die Mischung λx1 + (1 − λ)x2 ist.
b)
Wenn x1 Optimalpunkt f¨ur (P1 ) und x2 Optimalpunkt f¨ur (P2 ) ist, dann m¨ussen wir beweisen, dass es kein z gibt, so dass Az ≤ 0 und cT z > 0, denn dies w¨are notwendig f¨ur eine freie Richtung in (Pmix ). G¨abe es aber diese freie Richtung, dann kann man sie in (P1 ) an x1 und in (P2 ) an x2 anh¨angen (addieren) und damit erh¨alt man dort Unbeschr¨anktheit. (Widerspruch)
3.3 L¨osungen zur Konvexit¨at von Mengen
57
L¨osung zu 3.2.5 a)
cT x nach oben unbeschr¨ankt ⇒ ∃z mit Az ≤ 0, cT z > 0, wegen c = λc1 + (1 − λ)c2 , 0 ≤ λ ≤ 1. ⇒ λcT1 z + (1 − λ)cT2 z > 0 ⇒ cT1 z > 0 oder cT2 z > 0 ⇒ cT1 x oder cT2 x ist unbeschr¨ankt nach oben auf X, weil ein Aufliegepunkt in X und eine freie Richtung z existieren.
b)
cT1 x und cT2 x sind beschr¨ankt nach oben auf X ⇒ cT x beschr¨ankt nach oben auf X ∀c ∈ [c1 , c2 ] (nach Teil a)) Da X = conv(v1 , . . . , vk ) + cone(z1 , . . . , z ) gilt und cT x beschr¨ankt ist, muss cT zi ≤ 0 gelten und das Maximum wird an einem der Punkte v1 , . . . , vk angenommen. ⇒ f (c) = max{cT v1 , . . . , cT vk } cT vi ist f¨ur alle i eine lineare, stetige, eindimensionale Funktion. Die Maximumsfunktion von linearen Funktionen ist wiederum stetig und st¨uckweise linear. Zudem ist die Maximumsfunktion konvexer Funktionen konvex.
c)
Wir charakterisieren den Bereich, wo ein vi zu den Optimalpunkten geh¨ort. Seien ξ1 , ξ2 Auspr¨agungen von c und ξ1 , ξ2 ∈ [c1 , c2 ]. Weiter sei ξ1T vi ≥ ξ1T vj , und
ξ1T z
≤ 0,
ξ2T vi ≥ ξvj ,
ξ2T z
≤0
∀j
∀z ∈ cone(z1 , . . . , z )
Mischt man dann ξ1 und ξ2 zu λξ1 + (1 − λ)ξ2 , dann ergibt sich: [λξ1 + (1 − λ)ξ2 ]T vi ≥ [λξ1 + (1 − λ)ξ2 ]T vj
∀j
und [λξ1 + (1 − λ)ξ2 ] z ≤ 0 ∀z ∈ cone(z1 , . . . , z ). T
Also ist der vi -Dominanzbereich ein Intervall, es gibt nur k solche vi ’s. Ein vi geh¨ort sicher zu den Optima. Daher gibt es allenfalls k solche Intervalle.
L¨osung zu 3.2.6 Wenn eine strikte Trennung m¨oglich sein soll, dann m¨ussen beide Mengen disjunkt sein. (Wenn ¨ eine schwache Trennung m¨oglich sein soll, dann darf es keine Uberschneidung mit inneren Punkten geben.) ⎛
a)
⎞ 0 F¨ur λ ∈ [1, 2] ist ⎝−1 + λ⎠ als einer der Erzeuger von Dλ darstellbar als 0 ⎛ ⎞ ⎛ ⎞ 0 0 (−1 + λ) ⎝1⎠ + (2 − λ) ⎝0⎠ , 0 0
58
I: 3 Polyedertheorie
und geh¨ort somit auch zu T . ⇒ strikte Trennung unm¨oglich. (Man beachte, dass bei λ = 2 eine schwache Trennung m¨oglich w¨are.) b)
Ist λ ∈ [0, 1], dann ist ⎞ ⎞ ⎛1⎞ ⎛1 0 2 2 (1 − λ) ⎠ λ ⎝−1 + λ⎠ + (1 − λ) ⎝λ ⎠ = ⎝ 0 1 1 0 2 2 (1 − λ) ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 1 0 0 ⎝0⎠ + (1−λ) ⎝0⎠ + λ ⎝0⎠ ∈ T ∩ Dλ = (1−λ) 2 2 0 1 0 ⎛
⇒ strikte Trennung unm¨oglich (Man beachte, dass bei λ = 0 ebenfalls eine schwache Trennung m¨oglich w¨are.) c)
Ist λ > 2, dann sind in Dλ alle zweiten Komponenten > 1, in T dagegen sind alle Komponenten aus [0, 1]. F¨ur (x1 , x2 , x3 )T ∈ Dλ gilt x2 ≥ min{λ − 1, λ, λ} = λ − 1 > 1 und insbesondere gilt λ−1> Damit ist
1 x , λ, x3 2 1
1 1 1 · 1 + · (λ − 1) = λ > 1. 2 2 2
T 1 x ∈ R, x3 ∈ R
1 2 ⇔ x = λ 2
eine strikt trennende Hyperebene. d)
Ist λ < 0, dann sind in Dλ alle zweiten Komponenten negativ, insbesondere gilt x2 ≤ max{λ − 1, λ, λ} = λ < 0 f¨ur (x1 , x2 , x3 )T ∈ Dλ und x2
0 oder bei Addition von Ungleichungen nicht. Achtung: Multiplikation mit μ ≤ 0 und Subtraktion w¨urde im Allgemeinen den Zul¨assigkeitsbereich ver¨andern. Folglich bestimmen A und b das Polyeder P , aber zur Erzeugung von P gibt es unendlich viele definierende Ungleichungssysteme. Definition 3.16 Sei ein Polyeder P = P (A, b) gegeben. Eine Ungleichung aTi x ≤ bi heißt f¨ur P redundant, wenn sich beim Weglassen dieser Ungleichung P nicht ver¨andert.
60
I: 3 Polyedertheorie
Vorsicht: Redundanz ist keine restriktionsindividuelle, sondern eine systembedingte Eigenschaft. Und das gleichzeitige Entfernen mehrerer redundanter Restriktionen kann dazu f¨uhren, dass der Zul¨assigkeitsbereich ver¨andert wird. Deshalb darf das Entfernen redundanter Ungleichungen nur sukzessive erfolgen. Besonders einfache Polyeder sind die sogenannten polyedrischen Kegel.
Definition 3.17 Ein Kegel C ∈ K n heißt polyedrischer Kegel, wenn C ein Polyeder ist.
Lemma 3.18 Eine Menge C ∈ K n ist genau dann ein polyedrischer Kegel, wenn es eine Matrix A ∈ K (m,n) gibt, so dass C = P (A, 0) = {x | Ax ≤ 0} (das heißt, dass C durch ein homogenes Ungleichungssystem definiert wird).
Definition 3.19 Ist P (A, b) ein Polyeder, so nennt man den Kegel P (A, 0) den Rezessionskegel von P (A, b) (bezeichnet mit rec(P )).
Lemma 3.20 Gegeben sei das Polyeder P (A, b) = ∅ . Dann ist d ∈ K n , d = 0 genau dann eine freie Richtung von P (A, b), wenn Ad ≤ 0 gilt, das heißt rec(P ) = {d | d freie Richtung } ∪ {0}.
Satz 3.21 (Trennungssatz f¨ur Polyeder) Seien P = P (A, f ) und Q = P (B, g) zwei K n -Polyeder mit der Eigenschaft P ∩ Q = ∅, P = Q, P = K n , Q = K n . Dann gibt es einen Vektor c ∈ K n \ {0} und ein γ ∈ K mit P ⊂ {x | cT x < γ} und Q ⊂ {x | cT x > γ}, das heißt, dass durch die Hyperebene H = H(c, γ) = {x | cT x = γ} die Polyeder P und Q strikt getrennt werden.
3.5 Aufgaben zu Polyeder und polyedrische Kegel
61
3.5 Aufgaben zu Polyeder und polyedrische Kegel Aufgabe 3.5.1 Seien P = {x ∈ Rn : Ax ≤ b} ein Polytop, c, d ∈ Rn . Betrachte die linearen Optimierungsprobleme (LP (λ)) max(c + λd)T x, x ∈ P, deren Zielfunktion von einem Parameter λ ∈ R abh¨angt. a)
Sei e eine Ecke von P . Setze I(e) := {λ ∈ R : e ist Optimall¨osung von (LP (λ))}. Zeigen Sie: I(e) ist konvex.
b)
Zeigen Sie: I(e) ist ein abgeschlossenes Intervall in R (m¨oglicherweise leer oder einelementig). Sei E die Menge der Ecken von P . Zeigen Sie: e∈E I(e) = R.
c) d)
Sei F (λ) der Optimalwert von (LP (λ)), λ ∈ R. Zeigen Sie, dass F (λ) eine stetige, st¨uckweise lineare Funktion von λ ist.
Aufgabe 3.5.2 Sei A ∈ Rm,n mit m < n. Zeigen Sie, dass ein lineares Optimierungsproblem der Form max cT x
unter Ax ≤ b, x ∈ Rn
keinen eindeutigen Optimalpunkt haben kann.
Aufgabe 3.5.3 Sei P = P (A, b) = ∅ ein Polyeder im Rn . Schreibe A b mit a ∈ Rn , β ∈ R. , b = T β a
A=
Die Ungleichung aT x ≤ β heißt strikt redundant bzgl. P , falls aT x < β f¨ur alle x ∈ P (A, b) gilt. a)
Zeigen Sie: Die Ungleichung aT x ≤ β ist strikt redundant f¨ur P genau dann, wenn es z ≥ 0 gibt mit z T A = aT und z T b < β.
b)
Zeigen Sie, dass man alle bzgl. P strikt redundanten Ungleichungen gleichzeitig weglassen kann, ohne P zu ver¨andern.
c)
Zeigen Sie durch ein Beispiel, dass man in Teil b) die Voraussetzung der strikten Redundanz nicht durch (gew¨ohnliche) Redundanz ersetzen kann.
62
I: 3 Polyedertheorie
Aufgabe 3.5.4 Sei A eine m × n-Matrix mit Zeilen ai T . Wir betrachten ein Polyeder P = P (A, b) = ∅ und die zugeh¨origen Restriktionshyperebenen Hi = {x ∈ Rn : ai T x = bi }. Die Restriktionen ai T x ≤ bi , i = 1, ..., k, (k < n) seien redundant f¨ur P . Außerdem gelte Hi ∩ Hj ∩ P = ∅ f¨ur alle i, j ≤ k, i = j. Zeigen Sie, dass man diese k redundanten Restriktionen simultan weglassen kann, ohne P zu ver¨andern, das heißt, dass P = {x ∈ Rn : ai T x ≤ bi , i = k + 1, ..., m} gilt.
3.6 L¨osungen zu Polyeder und polyedrische Kegel L¨osung zu 3.5.1 a)
Seien λ1 , λ2 ∈ I(e), α ∈ (0, 1). Zu zeigen ist: αλ1 + (1 − α)λ2 ∈ I(e). Sei z ∈ P beliebig. Zu zeigen ist dann: (c + (αλ1 + (1 − α)λ2 )d)T z ≤ (c + (αλ1 + (1 − α)λ2 )d)T e Dies folgt aus (c + (αλ1 + (1 − α)λ2 )d)T z = α(c + λ1 d)T z + (1 − α)(c + λ2 )T z λ1 ,λ2 ∈I(e)
≤
α(c + λ1 d)T e + (1 − α)(c + λ2 d)T e = (c + (αλ1 + (1 − α)λ2 )d)T e ⇒ αλ1 + (1 − α)λ2 ∈ I(e)
b)
Zu zeigen ist: I(e) ist abgeschlossen. Seien λi ∈ I(e), λi → λ. Zu zeigen ist dann: λ ∈ I(e). Dazu: Sei z ∈ P beliebig. Dann gilt (c + λi d)T z ≤ (c + λi d)T e ∀i i→∞
=⇒ (c + λd)T z ≤ (c + λd)T e ⇒ λ ∈ I(e)
c)
Zu zeigen ist: R =
I(e).
e∈E
Dazu: Sei λ ∈ R beliebig. Dann gibt es e ∈ E, so dass e die Optimall¨osung von (LP (λ)) ist (Hauptsatz der linearen Optimierung ). Es folgt λ ∈ I(e). Das zeigt die Behauptung. d)
Sei e ∈ E beliebig. Dann gilt F (λ) = (c + λd)T e ∀λ ∈ I(e) nach Definition von F und
3.6 L¨osungen zu Polyeder und polyedrische Kegel
63
I(e). Somit ist F (λ) auf I(e) linear. Da E endlich ist und R =
I(e), ist F (λ) somit
e∈E
st¨uckweise linear. Zu zeigen bleibt noch: F (λ) ist stetig. Dazu: Problemstellen sind die Randpunkte von I(e). Sei a solch ein Randpunkt, etwa I(e) und da die I(e) abgeschlossen sind, gibt es ein f ∈ E mit I(e) = [a, b]. Da R = e∈E
a ∈ I(f ). Also sind e und f beide Optimalpunkte von (LP (a)). ⇒ lim F (λ) = lim (c + λd) = (c + ad)T f = (c + ad)T e = λ→a−
λ→a−
= lim (c + λd)T e = lim F (λ) λ→a+
λ→a+
Also ist F stetig.
L¨osung zu 3.5.2 Wenn der Zul¨assigkeitsbereich X = {x | Ax ≤ b} leer ist, so ergibt sich die Behauptung automatisch. Daher sei im Folgenden X = ∅. Weil Rang(A) < n ist, hat Ad = 0, d = 0, d ∈ Rn sicher eine L¨osung (→ der Kern von A ist nicht leer). O. B. d. A. sei cT d ≥ 0 (sonst verwendet man −d). Fall 1: Es gibt u¨ berhaupt keinen Optimalpunkt. Damit ist die Behauptung best¨atigt. Fall 2: Es gibt einen Optimalpunkt x (also cT d = 0 ∀d ∈ Kern(A)). Betrachte dann den um d verschobenen Punkt x + d. Es gilt A(x+d) = Ax+Ad = Ax ≤ b (nach Voraussetzung) und cT (x+d) = cT x+cT d = cT x. Folglich ist dann auch x+d zul¨assig und genauso gut (bzgl. der Zielfunktion) wie x. Wenn aber x schon optimal war, dann kann x + d nur ein weiterer Optimalpunkt sein.
L¨osung zu 3.5.3 a)
T
Z. z.: aT x ≤ β ist strikt redundant ⇔ ∃ z ≥ 0 mit A z = a und z T b < β T
⇐: ∃ z ≥ 0 mit A z = a und z T b < β F¨ur ein beliebiges x ∈ P (A, b) gilt Ax ≤ b und aT x ≤ β. ⇒ aT x ≤ β
∀ x ∈ P (A, b)
Weil ein z ≥ 0 existiert mit z T A = aT und z T b < β, liefert eine konische Kombination der (A, b)-Ungleichungen die f¨ur P (A, b) g¨ultige Restriktion (z T A)x ≤ z T b < β , also aT x < β. ⇒ die Hyperebene {x | aT x = β} und P (A, b) haben keinen gemeinsamen Punkt.
64
I: 3 Polyedertheorie
⇒: ∀ x ∈ P (A, b) gilt Ax ≤ b und aT x < β. ⇒ x mit Ax ≤ b und aT x ≥ β Nach Gale gilt: T T y y = 0, b , −β < 0. ∃ (y, y0 ) ≥ 0 mit A , −a y0 y0 T
T
⇔∃ (y, y0 ) ≥ 0 mit A y = y0 a, b y − βy0 < 0 T
T
Fall 1: y0 = 0 ⇒ ∃ y ≥ 0 mit A y = 0 und b y < 0 Aber: wegen P (A, b) = ∅ ⇒ P (A, b) = ∅ ⇒ ∃ x mit Ax ≤ b T T ⇒(Gale) y ≥ 0 mit A y = 0, b y < 0 ⇒ Fall 1 kommt nicht vor. T T Fall 2: y0 = 0 ⇒ ∃ y ≥ 0, y0 > 0 mit A y = y0 a und b y − βy0 < 0 1 ⇒ ∃ z := y0 y ≥ 0 mit aT = b)
1 T 1 T y A = z T A, y b = z T b < β. y0 y0
Gegeben sei ein Ungleichungssystem Ax ≤ b (⇔ aT1 x ≤ b1 , . . . , aTm x ≤ bm ). Davon seien (o. B. d. A.) aT1 x ≤ b1 , . . . , aTk x ≤ bk (k < m) strikt redundant. Also gilt ∀ x ∈ P (A, b) aTi x < bi ∀ i = 1, . . . , k. Z. z.: P (A, b) = P ∗ := {x | aTk+1 x ≤ bk+1 , . . . , aTm x ≤ bm } ⊂:
klar
⊃:
Sei x ∈ P ∗ . Z. z.: x ∈ P (A, b), bzw. aT1 x ≤ b1 , . . . , aTk x ≤ bk . Annahme: x ∈ / P (A, b), das heißt, dass es f¨ur dieses x ein 1 ≤ i0 ≤ k mit aTi0 x > bi0 gibt. Wegen P (A, b) = ∅ existiert x0 mit Ax0 ≤ b. Betrachte das Intervall [x0 , x] und Punkte x(λ) := x0 + λ(x − x0 ) f¨ur λ ∈ [0, 1].
Es gilt
x(λ) ∈ P ∗ ∀ λ ∈ [0, 1] (wegen x0 , x ∈ P ∗ , P ∗ konvex) x(0) = x0 ∈ P (A, b) / P (A, b) (wegen aTi0 x > bi0 ). x(1) = x ∈ / P (A, b) ∀ ε > 0. ⇒ ∃ λ ∈ [0, 1], so dass x(λ) ∈ P (A, b) und x(λ + ε) ∈ Dann muss bei x(λ) eine Restriktion (z. B. aTi1 x ≤ bi1 mit 1 ≤ i1 ≤ k) gerade straff und f¨ur x(λ + ε) unzul¨assig werden. ⇒ Es gibt Punkte aus P (A, b), f¨ur die die i1 -Restriktion straff wird. (Widerspruch) ⇒ aTi1 x ≤ bi1 ist nicht strikt redundant. ⇒ ∀ i ∈ {1, . . . , k} gilt aTi x ≤ bi ⇒ x ∈ P (A, b)
⇒ P (A, b) = P ∗
3.6 L¨osungen zu Polyeder und polyedrische Kegel
c)
65
Die Schraffierung verbietet den entsprechenden Halbraum. Es ist also nur der Punkt (0, 0) zul¨assig.
3
4
5
2
1
Entfernt man aber die in der vorliegenden Konstellation redundanten Restriktionen 1, 2, 3 und 5 gleichzeitig, dann vergr¨oßert sich der Zul¨assigkeitsbereich.
L¨osung zu 3.5.4 Wir wollen beweisen, dass P = {x | aTi x ≤ bi , i = k + 1, . . . , m} gilt, dass es also keinen Punkt y gibt mit aTi y ≤ bi ∀ i > k und aTj y > bj f¨ur ein 1 ≤ j ≤ k. Annahme: Ein solcher Punkt y existiert. Wir wissen, dass P (A, b) = ∅. Es existiert also ein x0 mit x0 ∈ P . Betrachte das Intervall [x0 , y]. Dies beginnt in P und endet außerhalb. Deshalb enth¨alt es einen Randpunkt z von P , so dass [x0 , z] ⊂ P und (z, y] ∩ P = ∅. Durch z verl¨auft eine Restriktionshyperebene, die (z, y] unzul¨assig macht, aber [x0 , z] akzeptiert. Dies sei eine Hyperebene {x | aT x = b }, wobei der Index nur aus {1, . . . , k} stammen kann (denn y erf¨ullt ja alle Restriktionen zu k + 1, . . . , m). Nun sind aber alle Restriktionen mit ≤ k redundant. Wir k¨onnen also die -te Restriktion weglassen, ohne P zu ver¨andern (das Weglassen einer einzelnen redundanten Restriktion ist erlaubt). Nach wie vor ist [x0 , z] zul¨assig und (z, y] unzul¨assig. Deshalb muss auch noch eine andere Restriktion aT x ≤ b mit ≤ k durch z gehen und (z, y] abtrennen. ⇒ z ∈ P ∩ H ∩ H , mit , ≤ k
(Widerspruch)
66
I: 3 Polyedertheorie
3.7 Ecken und Seitenfl¨achen In der Polyedertheorie spielen Extremalpunkte, -linien und -fl¨achen eine wichtige Rolle. Auf diese konzentrieren wir uns im folgenden Abschnitt. Definition 3.22 M sei eine konvexe Menge in K n . Eine konvexe Teilmenge W von M heißt extremale Teilmenge von M , wenn f¨ur alle x ∈ W gilt: Falls x = λy + (1 − λ)z mit λ ∈ (0, 1) und y, z ∈ M , dann folgt y ∈ W und z ∈ W .
Bemerkungen 1.
Eine einpunktige extremale Teilmenge von M heißt extremaler Punkt.
2.
Eine konvexe Menge M ist extremale Teilmenge von sich selbst.
3.
Jede Extremalmenge W von M l¨asst sich als W = M ∩ (aff(W )) darstellen.
Definition 3.23 (a) Ist P (A, b) vorgegeben, dann nennt man die Hyperebenen H(ai , bi ) = {x | aTi x = bi } Restriktionshyperebenen von P (A, b). (b)
H(c, α) = {x | cT x = α} sei eine Hyperebene aus K n mit cT x ≤ α f¨ur alle x ∈ P (A, b). Dann heißt H trennende Hyperebene zu P (A, b) und cT x ≤ α heißt g¨ultige Ungleichung f¨ur P (A, b).
(c)
H(c, α) heißt St¨utzhyperebene zu P , wenn H das Polyeder P trennt und gleichzeitig ber¨uhrt, das heißt P ⊂ HR(c, α, ≤) und P ∩ H(c, α) = ∅.
Definition 3.24 Eine St¨utzhyperebene H zu P heißt singul¨ar, wenn gilt: H ∩ P = P , also P ⊂ H.
Definition 3.25 Die Schnittmenge eines Polyeders P mit einer endlichen Menge S von St¨utzhyperebenen zu P heißt Seitenfl¨ache von P . Jede Seitenfl¨ache F kann also folgendermaßen dargestellt werden: H F =P ∩ H∈S
Auch ∅ und P sind Seitenfl¨achen von P .
3.7 Ecken und Seiten߬achen
67
Definition 3.26 Sei P ein Polyeder der Dimension d in K n und H eine St¨utzhyperebene zu P . Dann nennt man eine Seitenfl¨ache H ∩ P eine Facette von P , wenn dim(H ∩ P ) = d − 1. Man nennt eine Seitenfl¨ache H ∩ P Ecke von P , wenn dim(H ∩ P ) = 0 (und H ∩ P = ∅). Man nennt eine Seitenfl¨ache H ∩ P Kante von P , wenn dim(H ∩ P ) = 1.
Lemma 3.27 H1 , . . . , Hk seien endlich viele St¨utzhyperebenen an P , so dass gerade F = P ∩ H1 ∩ . . . ∩ Hk eine Seitenfl¨ache ist. Dann gibt es auch eine Hyperebene H, so dass bereits F = P ∩ H gilt.
Damit reicht auch schon eine St¨utzhyperebene zur Generierung einer Seitenfl¨ache.
Lemma 3.28 Jede Seiten߬ache eines Polyeders ist extremal.
Lemma 3.29 P sei gegeben durch Restriktionen ai T x ≤ bi und Restriktionshyperebenen {x | ai T x = bi }. Dann gelten: 1.
W = P sei eine extremale Teilmenge von P . Dann enth¨alt W keinen inneren Punkt, und es gibt mindestens eine Restriktionshyperebene, die W vollst¨andig enth¨alt.
2.
Ist W = P, W = ∅, dann ist W die Schnittmenge aller Restriktionshyperebenen, die W vollst¨andig enthalten, mit P . Bei W = ∅ ist aff(W ) = W ⊂Hi Hi , wobei Hi = {x | aTi x = bi } und damit ist auch dim(W ) = dim( W ⊂Hi Hi ).
3.
Satz 3.30 1. Die extremalen Teilmengen eines Polyeders sind seine Seiten߬achen. 2.
Die extremalen Punkte eines Polyeders sind seine Ecken.
3.
Jede Ecke ist eindeutig bestimmt als Schnittpunkt aller Restriktionshyperebenen, auf denen sie liegt.
68
I: 3 Polyedertheorie
Korollar 3.31 Sei P = ∅ und dim P < n. Dann ist aff(P ) der Durchschnitt aller singul¨aren Restriktionshyperebenen von P .
Satz 3.32 Sei P = ∅. Dann ist die Anzahl der Seitenfl¨achen der Dimension k unabh¨angig vom Ungleichungssystem, das P beschreibt.
Definition 3.33 Eine Teilmenge W einer konvexen Menge M heißt exponiert, wenn es eine lineare Funktion f : K n → K gibt, die u¨ berall auf W und sonst nirgendwo ihren Maximalwert annimmt. Also gilt W = {z ∈ M | f (z) ≥ f (x) ∀x ∈ M }. Auch ∅ ist exponiert.
Satz 3.34 Jede exponierte Teilmenge von P (A, b) ist eine Seiten߬ache von P und jede Seiten߬ache ist exponiert.
Definition 3.35 Eine Seitenfl¨ache F heißt echt, wenn F = P und nichttrivial, wenn F = ∅. Ist eine Seitenfl¨ache F = P , dann nennt man die Seitenfl¨ache singul¨ar. Ein Punkt x ∈ P heißt relativer Randpunkt von P , wenn er zu mindestens einer echten Seitenfl¨ache geh¨ort. Die zugeh¨orige Menge heißt ∂R (P ). Punkte aus P \ ∂R (P ) geh¨oren zum relativen Inneren von P : IntR (P ).
Korollar 3.36 Jede echte, nichttriviale Seitenfl¨ache von P hat eine Darstellung P ∩ H, wobei H eine St¨utzhyperebene zu P ist.
Korollar 3.37 Wenn eine lineare Funktion auf einem Polyeder ihr Maximum annimmt, dann gleich auf einer ganzen, diesen Punkt enthaltenden Seiten߬ache.
3.8 Aufgaben zu Ecken und Seiten߬achen
69
3.8 Aufgaben zu Ecken und Seitenfl¨achen Aufgabe 3.8.1 In einer Ecke x eines n-dimensionalen Polyeders P = {x | Ax ≤ b} ⊆ Rn , das durch m(> n) Ungleichungen induziert wird, sollen sich genau n Restriktionshyperebenen zu den Restriktionen aT1 x ≤ b1 , . . . , aTn x ≤ bn schneiden. Von x gehen n Kanten in Richtung z1 , . . . , zn ab. Jedes zi ist so geartet, dass es die Restriktionen aTj x ≤ bj f¨ur alle j = 1, . . . , n; j = i straff bel¨asst und die Restriktion aTi x ≤ bi echt entlastet. Zeigen Sie: a)
Die Kantenrichtungen z1 , . . . , zn sind linear unabh¨angig.
b)
F¨ur jedes k (0 < k ≤ n − 1) gibt es eine k-dimensionale Seitenfl¨ache von P , die x enth¨alt. n n = k . Die Anzahl der x enthaltenden Seitenfl¨achen der Dimension k ist n−k
c)
Aufgabe 3.8.2 Sei
X := {x ∈ R3 | x1 + x2 + x3 ≤ 1, x2 − x1 ≤ 0, x ≥ 0}.
Bestimmen Sie alle Seiten߬achen von X.
Aufgabe 3.8.3 Sei
P := {x ∈ R3 | −x3 ≤ 0, x1 ≤ −x3 , x3 ≤ x1 , x3 ≤ x2 , 0 ≤ x2 ≤ 1}.
Bestimmen Sie, welche der P begrenzenden Hyperebenen singul¨ar und welche Restriktionen redundant sind.
Aufgabe 3.8.4
Es sei P = P (A, b) ein Polyeder mit A ∈ K (m,n) , b ∈ K m . a)
P habe die Dimension n − l und die kleinste Dimension von Seitenfl¨achen, die P besitzt, sei k ≤ n − l. Zeigen Sie, dass bei k < n − l f¨ur jedes j mit k < j < n − l das Polyeder auch eine Seitenfl¨ache der Dimension j hat. Hinweis: Schließen Sie induktiv von Seitenfl¨achen der Dimension κ auf solche der Dimension κ + 1 in den genannten Grenzen.
b)
Der Kern von A (also {z | Az = 0}) habe die Dimension k. Zeigen Sie, dass es dann keine Seitenfl¨achen kleinerer Dimension als k von P gibt und dass f¨ur jedes z ∈ Kern(A), der Vektor z im Differenzraum jeder Seitenfl¨ache von P liegt.
70
I: 3 Polyedertheorie
Aufgabe 3.8.5 Sie haben ein Programm, das alle Basisl¨osungen eines Optimierungsproblems ˜x ≤ ˜b ˜ unter A˜ max c˜T x enumeriert und abschließend die beste Ecke ausgibt. Nun kommt jemand mit einem Problem in Standardform min cT x unter Ax = b, x ≥ 0, wobei m ≤ n, A ∈ R(m,n) , b ∈ Rm , c, x ∈ Rn , RangA = m, und m¨ochte, dass Sie es l¨osen. a)
Wie ermitteln Sie mit Ihrem Programm die beste Ecke des Problems in Standardform, wenn zur Speicherung des Problems gen¨ugend Speicherplatz zur Verf¨ugung steht (und Sie Ihr Programm nicht a¨ ndern)? Begr¨unden Sie Ihr Vorgehen und geben Sie an, wie viele Gleichungssysteme enumeriert werden. Wann tauchen dabei unterbestimmte Gleichungssysteme auf?
b)
Wie ermitteln Sie mit Ihrem Programm die beste Ecke des Problems in Standardform, wenn zur Speicherung des Problems m + n Zeilen zur Verf¨ugung stehen, Sie jedoch die Auswahl der Restriktionen bestimmen k¨onnen? Begr¨unden Sie Ihr Vorgehen und geben Sie an, wie viele Basisl¨osungen enumeriert werden.
c)
Wie k¨onnen Sie mithilfe des Programms entscheiden, ob die vom Programm gelieferte beste Ecke auch optimal ist? (Es steht Ihnen nun wieder gen¨ugend Speicherplatz zur Verf¨ugung.)
3.9 L¨osungen zu Ecken und Seitenfl¨achen L¨osung zu 3.8.1 a)
Annahme: zi sind linear abh¨angig F¨ur mindestens ein k gilt zk = i=k λi zi , wobei mindestens ein λi = 0 ist. Laut Angabe: ∀i : aTi zi < 0, ∀j = i : aTj zi = 0 Wegen zk = i=k λi zi ist aTk zk = 0, ρ˜ klein, so dass x + ρ · zi ∈ P ∀ρ ∈ [0, ρ˜) ist. Insbesondere gilt: k • aTj (x + ρ · i=1 zi ) < aTj x = bj f¨ur j = 1, . . . , k; k Restriktionen werden gelockert“ ”
3.9 L¨osungen zu Ecken und Seitenfl¨achen
• •
71
k aTj (x + ρ · i=1 zi ) = aTj x = bj f¨ur j = k + 1, . . . , n; n − k Restriktionen bleiben straff“ ” k aTj (x + ρ · i=1 zi ) < aTj x = bj f¨ur j = n + 1, . . . , m; m − n Restriktionen bleiben locker“ ”
Also: ∃ρ > 0 mit x + ρ
k
zi ∈ {x | aTi x = bi , i = k + 1, . . . , n} ∩ P =: W.
i=1
Weiterhin: ∃ε > 0, ε klein, so dass auch x + ρ ki=1 ( 12 ± ε)zi ∈ W . Da die zi linear unabh¨angig sind, ergibt sich aus diesen Punkten ein k-dimensionaler W¨urfel, der in W enthalten ist. ⇒ dim W ≥ k Es gilt dim{x | aTi x = bi , i = 1, . . . , n} = k, da ak+1 , . . . , an linear unabh¨angig sind. Da W ⊂ {x | aTi x = bi , i = 1, . . . , n} folgt dim W ≤ k, also dim W = k. Noch zu zeigen: W = {x | aTi x = bi , i = 1, . . . , n} ∩ P ist Seitenfl¨ache •
M¨oglichkeit 1: Beweisidee: W ist exponiert n Die Zielfunktion c˜T x = i=k+1 aTi x wird maximiert auf W , denn ∀x ∈ W gilt c˜T x =
n
aTi x =
bi
i=k+1
und ∀x ∈ / W, x ∈ P gilt aTj x < bj f¨ur ein j ∈ {k + 1, . . . , n}. ⇒ ∀x ∈ P \ W gilt c˜T x < •
bi . ⇒ W ist exponiert und deshalb auch Seitenfl¨ache.
M¨oglichkeit 2: ¨ Beweisidee: Uber die Definition einer Seitenfl¨ache W hat die Darstellung P∩
n
Hi mit Hi = {x | aTi x = bi }
i=k+1
c)
und die Hi sind Restriktionshyperebenen. ⇒ Hi sind trennende Hyperebenen. Zudem sind die Hi s St¨utzhyperebenen, da Hi das Polyeder P z. B. in x + ρ zi ber¨uhrt. ⇒ W ist Seitenfl¨ache. n M¨oglichkeiten, k (zu lockernde) (oder n − k straffe) Restriktionen Man hat nk = n−k auszuw¨ahlen. Der Nachweis, dass durch eine beliebige Auswahl eine Seitenfl¨ache impliziert wird, l¨auft analog zu b).
72
I: 3 Polyedertheorie
L¨osung zu 3.8.2 Zeichnung des Polyeders: x3 x1 + x2 + x3 2
≤ 1
(1)
1
≤ 0
(2)
1
≥ 0
(3)
2
x
≥ 0
(4)
x3
≥ 0
(5)
x −x
x
x1 x2
Wir erarbeiten systematisch alle Seitenfl¨achen unter Verwendung der Matrixdarstellung Ax ≤ b mit ⎛
⎞ 1 1 1 ⎜−1 1 0⎟ ⎜ ⎟ A=⎜ −1 0 0⎟ ⎜ ⎟, ⎝ 0 −1 0 ⎠ 0 0 −1
⎛ ⎞ 1 ⎜0⎟ ⎜ ⎟ ⎟ b=⎜ ⎜0⎟ . ⎝0⎠ 0
Dimension 0: Es gibt 53 Kombinationen mit Eckenkandidaten. Straffe Ungleichungen (1), (2), (3) (1), (2), (4) (1), (2), (5) (1), (3), (4) (1), (3), (5)
L¨osung (0, 0, 1)T (0, 0, 1)T ( 12 , 12 , 0)T (0, 0, 1)T (0, 1, 0)T
zul¨assig ja ja ja ja verst¨oßt gegen (2)
(1), (4), (5) (2), (3), (4)
(1, 0, 0)T nicht linear unabh¨angig
ja
(2), (3), (5) (2), (4), (5) (3), (4), (5)
(0, 0, 0)T (0, 0, 0)T (0, 0, 0)T
ja ja ja
Konsequenz Ecke Ecke Ecke Ecke unzul¨assige Basisl¨osung Ecke keine eindeutige L¨osung Ecke Ecke Ecke
Dimension 1: Straffe UGL (1), (2)
Kanten/Strahlen ⎛ ⎞ ⎛1⎞ 0 2 Kante zw. ⎝0⎠ und ⎝ 12 ⎠ 0 1
Konsequenz (0, 0, 1)T ist Randpunkt wg. (3), (4) ( 12 , 12 , 0)T ist Randpunkt wg. (5)
3.9 L¨osungen zu Ecken und Seitenfl¨achen
(1), (3)
(1), (4)
(1), (5)
(2), (3) (2), (4) (2), (5) (3), (4) (3), (5)
(4), (5)
⎛ ⎞ ⎛ ⎞ 0 0 ⎝0⎠ + λ ⎝ 1 ⎠ 1 −1 ⎛ ⎞ ⎛ ⎞ 0 1 Kante zw. ⎝0⎠ und ⎝0⎠ 1 0 ⎛ ⎞ ⎛1⎞ 1 2 Kante zw. ⎝0⎠ und ⎝ 12 ⎠ 0 0 ⎛ ⎞ ⎛ ⎞ 0 0 Kante zw. ⎝0⎠ und ⎝0⎠ 1 0 siehe (2), (3) ⎛ ⎞ ⎛1⎞ 0 2 Kante zw. ⎝0⎠ und ⎝ 12 ⎠ 0 0 siehe (2), (3) ⎛ ⎞ ⎛ ⎞ 0 0 ⎝0⎠ + λ ⎝1⎠ 0 0 ⎛ ⎞ ⎛ ⎞ 1 0 Kante zw. ⎝0⎠ und ⎝0⎠ 0 0
73
f¨ur λ > 0 wird (2) verletzt f¨ur λ < 0 wird (4) verletzt ⇒ unzul¨assig (0, 0, 1)T ist Randpunkt wg. (3) (1, 0, 0)T ist Randpunkt wg. (5) (1, 0, 0)T ist Randpunkt wg. (4) ( 12 , 12 , 0)T ist Randpunkt wg. (2) (0, 0, 1)T ist Randpunkt wg. (1) (0, 0, 0)T ist Randpunkt wg. (5)
(0, 0, 0)T ist Randpunkt wg. (3), (4) ( 12 , 12 , 0)T ist Randpunkt wg. (1) f¨ur λ > 0 wird (2) verletzt f¨ur λ < 0 wird (4) verletzt ⇒ unzul¨assig (1, 0, 0)T ist Randpunkt wg. (1) (0, 0, 0)T ist Randpunkt wg. (4)
Es gibt also 6 Kanten und keine Strahlen. Dimension 2:⎛⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎞ 1 1 0 2 1 ⎠ ⎝ ⎠⎠ ⎝ ⎝ ⎠ ⎝ aus (1): conv 0 , 2 , 0 0 0 1 ⎛⎛ ⎞ ⎛ 1 ⎞ ⎛ ⎞⎞ 0 0 2 aus (2): conv ⎝⎝0⎠ , ⎝ 12 ⎠ , ⎝0⎠⎠ 0 0 1 aus (3): keine zweidimensionale Seitenfl¨ ache: ⎛ ⎞ ⎛ ⎞ 0 0 ⎝0⎠, ⎝0⎠ bilden eine Verbindungskante ⇒ nur eindimensional 1 0 ⎛⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎞ 0 1 0 aus (4): conv ⎝⎝0⎠ , ⎝0⎠ , ⎝0⎠⎠ 1 0 0 ⎛⎛ 1 ⎞ ⎛ ⎞ ⎛ ⎞⎞ 1 0 2 aus (5): conv ⎝⎝ 12 ⎠ , ⎝0⎠ , ⎝0⎠⎠ 0 0 0
74
I: 3 Polyedertheorie
Triviale Seitenfl¨achen: ⎛⎛ ⎞ ⎛ ⎞ ⎛ 1 ⎞ ⎛ ⎞⎞ 0 1 0 2 P = conv ⎝⎝0⎠ , ⎝0⎠ , ⎝ 12 ⎠ , ⎝0⎠⎠ und ∅ 0 0 0 1 Es entsteht also ein Polyeder mit 4 Facetten, 6 Kanten und 4 Ecken. Die Restriktion (3) ist schwach redundant, sie l¨asst die Ecken (0, 0, 0)T und (0, 0, 1)T entartet werden. Bemerkung: Man kann sich einen Teil der Rechenarbeit sparen, indem man sich u¨ berlegt, dass die 3. Restriktion x1 ≥ 0 redundant ist, denn aus der 2. Restriktion ergibt sich x1 ≥ x2 und zusammen mit der 4. Restriktion x2 ≥ 0 muss auch immer x1 ≥ 0 gelten; formal: mit der Schreibweise aTi x ≤ bi f¨ur die Restriktionen haben wir a3 = (−1, 0, 0)T = a2 + a4 = (−1, 1, 0)T + (0, −1, 0)T und b3 = 0 = b2 + b4 = 0 + 0. Damit sind in den Rechnungen f¨ur die 0- und 1-dimensionalen Seitenfl¨achen diejenigen einzusparen, bei denen die 3. Restriktion als straffe Ungleichung ausgew¨ahlt wurde; das heißt, dass man sich 5 (von 10) Rechnungen bei den 0-dimensionalen Seitenfl¨achen und 4 (von 10) bei den 1-dimensionalen Seitenfl¨achen sparen kann.
L¨osung zu 3.8.3 x3
(b) −x3
≤ 0
(a)
3
x +x
≤ 0
(b)
−x1 + x3
1
3
≤ 0
(c)
2
≤ 0
(d)
−x2
≤ 0
(e)
2
≤ 1
(f)
x −x
x
1 Zul¨asssigkeitsbereich =
(a) −2
−1
1
j„ «ff 0 0
x1
−1 (c)
−2
Zul¨assig sind nur die Punkte (0, α, 0)T mit 0 ≤ α ≤ 1, denn x3 ≥ 0, x3 ≤ −x1 und x3 ≤ x1 sind nur erf¨ullbar bei x1 = x3 = 0. Also besteht P aus einer Kante (0, 0, 0)T (0, 1, 0)T . Geometrische Einsicht (Singularit¨at) Singul¨ar ist eine Restriktionshyperebene, wenn sie ganz P enth¨alt. Das bedeutet also, dass {x | x3 = 0}, {x | x1 + x3 = 0} und {x | −x1 + x3 = 0} singul¨ar sind. Dagegen sind die Restriktionshyperebenen zu x3 − x2 ≤ 0, −x2 ≤ 0 und x2 ≤ 1 nicht singul¨ar.
3.9 L¨osungen zu Ecken und Seitenfl¨achen
75
Formaler Nachweis: Hierf¨ur ist nachzuweisen, dass aTi x = bi f¨ur alle zul¨assigen Punkte g¨ultig ist, wenn das Polyeder eine Restriktion aTi x ≤ bi hat. Es muss also noch gezeigt werden, dass sich aTi x ≥ bi konisch aus den Restriktionen des Polyeders kombinieren l¨asst. (a)
ist singul¨ar, denn x3 ≤ 0 ergibt sich konisch aus (b) und (c). x1 + x3 −x1 + x3
(b)
⇒
2x3 ≤ 0
ist singul¨ar, denn x1 + x3 ≥ 0 ergibt sich konisch aus (c) und 2·(a). 2 · [−x3 ] ≤ −x1 + x3 ≤
(c)
≤ 0 ≤ 0
2·0 0
⇒
−x1 − x3 ≤ 0
ist singul¨ar, denn x1 − x3 ≤ 0 ergibt sich aus (b) und 2·(a). 2 · [−x3 ] x1 + x3
≤ 2·0 ≤ 0
⇒
x1 − x3 ≤ 0
(d)
ist nicht singul¨ar, weil sich −x3 + x2 ≤ 0 nicht konisch kombinieren l¨asst (man m¨usste (f) verwenden, dabei w¨urde aber die rechte Seite positiv werden).
(e)
ist nicht singul¨ar, da sich x2 ≤ 0 nicht konisch kombinieren l¨asst (man m¨usste (f) verwenden, dabei w¨urde aber die rechte Seite positiv werden).
(f)
ist nicht singul¨ar, da sich −x2 ≤ −1 nicht konisch kombinieren l¨asst (f¨ur die rechte Seite kann man nur 0 konisch erzeugen).
Geometrische Einsicht (Redundanz) (a)
L¨asst man −x3 ≤ 0 weg, dann bleibt unter anderem noch x1 + x3 ≤ 0 und −x1 + x3 ≤ 0. ⇒ x3 ≤ x1 , x3 ≤ −x1 ⇒ x3 ≤ |x1 | Zudem hat man noch die Restriktion x3 ≤ x2 . Damit bekommt man eine Ausweitung des Zul¨assigkeitsbereiches, z. B. mit (1, 1, −1)T ∈ P . ⇒ (a) ist nicht redundant.
(b)
L¨asst man x1 + x3 ≤ 0 weg, dann ist (1, 1, 1)T ∈ P pl¨otzlich zul¨assig. ⇒ (b) ist nicht redundant.
(c)
L¨asst man −x1 + x3 ≤ 0 weg, dann wird (−1, 1, 1)T ∈ P zul¨assig. ⇒ (c) ist nicht redundant.
(d)
L¨asst man x3 − x2 ≤ 0 weg, dann ergibt sich immer noch aus −x3 ≤ 0, x1 + x3 ≤ 0, −x1 + x3 ≤ 0, dass x3 ≥ 0 und x3 ≤ 0 gilt und somit auch x1 = x3 = 0. Andererseits gilt auch x2 ≥ 0. ⇒ 0 − x2 = x3 − x2 ≤ 0 ⇒ (d) ist redundant.
76
I: 3 Polyedertheorie
(e)
L¨asst man −x2 ≤ 0 weg, dann ergibt sich trotzdem x3 = 0 und x3 ≤ x2 . ⇒ 0 ≤ x2 ⇒ (e) ist redundant.
(f)
L¨asst man x2 ≤ 1 weg, dann wird (0, 2, 0)T ∈ P zul¨assig. ⇒ (f) ist nicht redundant.
Bemerkung: Es kann (d) oder (e), aber nicht beide gleichzeitig weggelassen werden. Formaler Nachweis: (a) - (c), (f) k¨onnen nicht konisch kombiniert werden aus den restlichen Restriktionen. (d)
x3 − x2 ≤ 0 ergibt sich aus −x3 x + x3 −x1 + x3 −x2 1
(e)
≤ ≤ ≤ ≤
0 0 0 0
−x2 + x3 ≤ 0
⇒
durch Aufsummierung
−x2 ≤ 0 ergibt sich aus −x3 −x + x3 2
≤ ≤
0 0
⇒
−x2 ≤ 0 durch Aufsummierung
L¨osung zu 3.8.4 a)
Seitenfl¨achen zu P entstehen aus P ∩ H1 ∩ · · · ∩ Hk , wobei Hi = {x | aTi x = bi } zu Restriktionen aTi x ≤ bi geh¨oren, also (o. B. d. A. irredundante) Restriktionshyperebenen sind. Wenn P die Dimension n − hat, dann muss es mindestens (evtl. mehr) Restriktionshyperebenen Hm , Hm−1 , . . . , Hm−+1 , . . . , Hm−r+1 geben (o. B. d. A. die letzten), so dass P in jeder diese Hyperebenen enthalten ist, das heißt, dass alle diese Hyperebenen singul¨ar sind. Es muss dann noch gelten ⎛ ⎞ am−r+1 Rang ⎝ am−1 ⎠ = und P hat die gew¨unschte Dimension n − . am Unser System sei nun bereits um alle Redundanzen bereinigt. Eine Seitenfl¨ache der Kleinstdimension k entsteht nun dadurch, dass wir einen Schnitt P ∩ H1 ∩ · · · ∩ Hn−−k finden (o. B. d. A. die ersten in der Reihenfolge), der die Seitenfl¨ache repr¨asentiert. Punkte dieses Schnittes (dieser Seitenfl¨ache) liegen in P , erf¨ullen also aT1 x ≤ b1 , . . . , aTm x ≤ bm
3.9 L¨osungen zu Ecken und Seitenfl¨achen
77
und sind dar¨uber hinaus straff f¨ur aT1 x ≤ b1 , . . . , aTn−−k x ≤ bn−−k (außerdem nat¨urlich auch noch in den singul¨aren Hyperebenen). F¨ur ein soches x gilt also aT1 x = b1 , . . . , aTn−−k x = bn−−k und generell aTn−−k+1 x = bn−−k+1 , . . . , aTm−r x = bm−r (man ist also bei x locker in allen anderen nichtsingul¨aren Restriktionen). ˜ ≤ bn−−k locker wird, Wir m¨ochten nun einen Punkt x ˜ konstruieren, bei dem aTn−−k x aber f¨ur die ersten n − − k − 1 Restriktionen die Straffheit gewahrt bleibt. Wir finden dazu ein z als L¨osung des Gleichungssystems (Rangbedingung erf¨ullt) aT1 z = 0 .. . aTn−−k−1 z = 0 aTn−−k z = −1 aTm z = 0 .. . aTm−r+1 z = 0 z steht senkrecht auf n − − k − 1 Vektoren (und auf den ai zu den singul¨aren Restriktionen), aber nicht auf an−−k . Addieren wir nun ein gen¨ugend kleines δz zu x, dann entsteht x ˜ = x + δz, so dass dort –
die ersten n − − k − 1 Restriktionen noch straff sind;
–
die (n − − k)-te Restriktion nun locker ist;
–
alle vorher lockeren Restriktionen immer noch locker sind;
–
die singul¨aren Restriktionen immer noch straff sind.
Folglich haben wir nun einen relativ inneren Punkt von P ∩H1 ∩H2 ∩· · ·∩Hn−−k−1 und dies ist eine Seitenfl¨ache von P mit der Dimension k + 1. So kann man induktiv schließen bis zur Dimension n − . b)
Sei Kern(A) ein Untervektorraum der Dimension k, sei z ∈ Kern(A), das heißt Az = 0. Sei w ∈ W und W eine Seitenfl¨ache von P . Dann gilt aT1 w .. .
≤ b1
aTm w
≤ bm
(und f¨ur einige = bi ).
78
I: 3 Polyedertheorie
Nun betrachte (w + z) und (w − z). Dann gilt aT1 (w + z) = aT1 w + aT1 z = aT1 w ≤ .. . aTm (w + z) = aTm w
≤
b1
bm
aT1 (w − z) = aT1 w ≤ .. .
b1
aTm (w − z) = aTm w
bm
≤
Somit geh¨oren (w + z) und (w − z) beide zu P und erzeugen w konvex. Da aber w in der Seitenfl¨ache (extremale Menge) enthalten ist, folgt (w + z) und (w − z) ∈ W . Also liegt z im Differenzraum der Seitenfl¨ache und deshalb muss diese mindestens die Dimension des Kerns haben.
L¨osung zu 3.8.5 a)
Problem: max unter
−cT x Ax ≤ −Ax ≤ −Ex ≤
b −b 0
b)
Obiges Problem ist transformationsidentisch zu mincT x unter Ax = b, x ≥ 0. Anzahl der zu l¨osenden Gleichungssysteme: 2m+n n Unterbestimmte Gleichungssysteme treten auf, wenn eine Restriktion i aus Ax ≤ b und die Restriktion i + m aus −Ax ≤ −b zusammen im Gleichungssystem vorkommen (oder mehrere solcher Paare“) ” Betrachte Ax ≤ b, −Ex ≤ 0. Dabei sollen die ersten m Restriktionen immer ausgew¨ahlt werden, dazu noch m − n aus den n Vorzeichenrestriktionen. Konsequenz aus dieser Auswahl: Alle Basisl¨osungen erf¨ullen Ax = b, x ≥ 0. Andererseits sind alle Basisl¨osungen, bei denen mindestens eine Restriktion aus Ax ≤ b echt locker ist, unzul¨assig f¨ur Ax = b, x ≥ 0. n Anzahl der enumerierten Basisl¨osungen: m−n
c)
–
Idee: zus¨atzliche Restriktion cT x ≤ cT xbest + 1 einf¨ugen und das Problem max unter
l¨osen.
−cT x Ax −Ax −Ex cT x
≤ ≤ ≤ ≤
b −b 0 cT xbest + 1
3.9 L¨osungen zu Ecken und Seitenfl¨achen
–
79
Fall 1: beste Ecke war optimal, dann ist die neue Restriktion redundant Fall 2: Problem war unbeschr¨ankt, dann gibt es (im urspr¨unglichen Problem) eine zielfunktionsverbessernde Kante bei xbest , die jetzt durch die neue Restriktion gestoppt wird. Es entsteht dadurch eine Ecke mit besserem Zielfunktionswert.
Kapitel 4
Polyederstruktur In diesem Kapitel stellen wir zun¨achst fest, dass es f¨ur Polyeder neben der Darstellung als L¨osungsmenge eines Ungleichungssystems auch eine dazu duale Darstellung gibt. Dabei beschreibt die Summe aus einer konvexen H¨ulle von endlich vielen Punkten und einem Kegel aus endlich vielen Richtungen die besagte L¨osungsmenge. Danach geht es darum, eine vorliegende L¨osungsmenge in diese Bestandteile zu zerlegen, was umfangreiche und sehr instruktive Aufgabenstellungen erm¨oglicht. Diese sind aber nur in Kurzform klausurgeeignet. Es empfiehlt sich hier, Berechnungsprogramme zu implementieren. Ein zus¨atzlicher Aspekt in dieser Zerlegung ist dann, ob im L¨osungsbereich nicht nur Halbgeraden, sondern sogar Geraden ganz liegen. Dies w¨urde implizieren, dass es keine Ecken gibt. Und das wiederum w¨urde die algorithmische Bearbeitung erschweren. Das Simplexverfahren aus Kapitel 6 ist n¨amlich origin¨ar auf die Existenz von Ecken angewiesen. Wir werden in Kapitel 6 aufzeigen, mit welchen Kunstgriffen man aber auch bei Nichtexistenz von Ecken die Anwendbarkeit des Simplexverfahrens herbeif¨uhren kann.
4.1 Endliche Erzeugung In diesem Abschnitt versuchen wir, ein Polyeder durch Angabe einer m¨oglichst kleinen Erzeugermenge und der diesbez¨uglichen Konvexkombination darzustellen.
Definition 4.1 Ein affiner Halbraum ist der nichtleere Durchschnitt zwischen einem affinen Unterraum und einem Halbraum, welcher den affinen Unterraum nicht ganz enth¨alt.
Satz 4.2 Jedes Polyeder ist die konvexe H¨ulle von endlich vielen affinen Unterr¨aumen oder affinen Halbr¨aumen.
82
I: 4 Polyederstruktur
Lemma 4.3 1. Jeder affine Unterraum ist die Summe eines Punktes und eines Untervektorraums. 2.
Jeder affine Halbraum ist die Summe einer Halbgeraden und eines Untervektorraums.
Nun wird gekl¨art, dass zur Charakterisierung und Erzeugung von Polyedern bereits recht wenige, n¨amlich endlich viele geometrische Informationen ausreichen.
Definition 4.4 Ein Paar von endlichen Punktmengen G = {x1 , . . . , xk } ⊂ K n , H = {y1 , . . . , y } ⊂ K n heißt endliche Erzeugermenge eines Polyeders P , wenn gilt P = conv(G) + cone(H).
Nun l¨asst sich u¨ ber Polyeder und polyedrische Kegel Folgendes beweisen:
Satz 4.5 (Satz von der endlichen Erzeugermenge) Jedes Polyeder hat eine endliche Erzeugermenge, also eine Darstellung der Form P = conv(x1 , . . . , xk ) + cone(y1 , . . . , y ).
Satz 4.6 (Minkowski) Jeder polyedrische Kegel hat eine endliche Erzeugermenge der Form cone(y1 , . . . , y ).
Die nun gewonnenen Ergebnisse haben Auswirkungen auf lineare Optimierungsprobleme.
Satz 4.7 Ist cT x auf einem nichtleeren Polyeder P nach oben (unten) beschr¨ankt, dann nimmt cT x auf P sein Maximum (Minimum) an.
Man kann zeigen, dass auch die Umkehrung des Satzes von der endlichen Erzeugermenge gilt, n¨amlich dass jede endlich erzeugte Menge ein Polyeder ist.
Definition 4.8 Ist U eine konvexe Menge aus K n , dann bezeichnen wir mit U 0 bzw. mit polar(U ) die Menge {x | xT u ≤ 0 ∀u ∈ U }. U 0 bzw. polar(U ) heißt Polarkegel von U .
4.2 Aufgaben zur endlichen Erzeugung
Lemma 4.9 Sei P (A, 0) = P vorgegeben. Dann gilt: P 0 = {x | Ax ≤ 0}0 = (rec(A))0 = cone(a1 , . . . , am ), wobei ai := ATi. Zeilen von A sind.
Lemma 4.10 Sei C ein endlich erzeugter Kegel. Dann gilt: C = C 00 .
Satz 4.11 (Satz von Weyl f¨ur konvexe Kegel) Jeder konvexe Kegel mit einem endlichen Erzeugersystem ist polyedrisch.
Satz 4.12 (Satz von Weyl f¨ur Polyeder) Wenn G = {y1 , . . . , yk } und H = {z1 , . . . , z } endliche Punktmengen sind, dann ist P = conv(G) + cone(H) ein Polyeder.
Satz 4.13 (Krein-Milman) Jedes beschr¨ankte Polyeder (Polytop) ist die konvexe H¨ulle seiner endlich vielen Ecken.
4.2 Aufgaben zur endlichen Erzeugung Aufgabe 4.2.1 Beweisen Sie: a)
Die konvexe H¨ulle aus zwei Polytopen ist wieder ein Polytop.
b)
Die konvexe H¨ulle von zwei polyedrischen Kegeln ist wieder ein polyedrischer Kegel.
c)
Die konvexe H¨ulle zweier Polyeder ist nicht immer ein Polyeder.
83
84
I: 4 Polyederstruktur
Aufgabe 4.2.2 Seien ⎛ −1 ⎜1 ⎜ ⎜0 A=⎜ ⎜ 1 ⎜ 2 ⎝−1
−2
⎛ ⎞ ⎞ 1 5 ⎜5⎟ −1⎟ ⎜ ⎟ ⎟ ⎜ ⎟ −1⎟ ⎟, b = ⎜ 5 ⎟ ⎜4⎟ −1⎟ ⎜ ⎟ ⎟ ⎝10⎠ ⎠ −1 1
20
und P = {x ∈ R2 | Ax ≤ b}. Geben Sie f¨ur P ein endliches Erzeugersystem gem¨aß P = conv(v1 , . . . , vk ) + cone(z1 , . . . , zl ) mit vi , zj ∈ R2 ∀i, j an.
Aufgabe 4.2.3
2 5 2 5 3 3 2 3 4 Seien G = , , , , , , , , und 2 2 5 5 8 3 10 0 4 1 1 5 H= , , gegeben. 1 2 1 Bestimmen Sie eine minimale Erzeugermenge f¨ur das Polyeder Q = conv(G) + cone(H).
Aufgabe 4.2.4 Seien P = conv(u1 , . . . , uk ) + cone(y1 , . . . , yr ) und Q = conv(v1 , . . . , v ) + cone(z1 , . . . , zs ) zwei Polyeder. a)
b)
Beweisen Sie, dass P + Q = {x | x = x1 + x2 mit x1 ∈ P, x2 ∈ Q} wieder ein Polyeder ist. F¨uhren Sie dazu folgende Schritte aus (beweisen Sie also): i)
P +Q ⊇ conv({ui +vj | i = 1, . . . , k, j = 1, . . . , })+cone(y1 , . . . , yr , z1 , . . . , zs )
ii)
P +Q ⊆ conv({ui +vj | i = 1, . . . , k, j = 1, . . . , })+cone(y1 , . . . , yr , z1 , . . . , zs )
Wenn Sie cT x u¨ ber P und u¨ ber Q maximiert haben (er¨ortern Sie alle F¨alle), was k¨onnen Sie dann u¨ ber die Maximierung von cT x u¨ ber P + Q sagen?
4.3 L¨osungen zur endlichen Erzeugung L¨osung zu 4.2.1 a)
Polytop P1 = conv(x1 , . . . , xk ), P2 = conv(y1 , . . . , y ) Zu zeigen: conv(conv(x1 , . . . , xk ), conv(y1 , . . . , y )) ist Polytop Es gen¨ugt: conv(conv(x1 , . . . , xk ), conv(y1 , . . . , y )) = conv(x1 , . . . , xk , y1 , . . . , y )
4.3 L¨osungen zur endlichen Erzeugung
85
⊆“ Sei z ∈ conv(conv(X), conv(Y )), das heißt z = λx + (1 − λ)y mit λ ∈ (0, 1) ” sowie x ∈ conv(X) und y ∈ conv(Y ). Also ηj yj mit ρi ≥ 0, ρi = 1, ηj ≥ 0, ηj = 1 z=λ ρi xi + (1 − λ) (1 − λ)ηj yj mit λρi ≥ 0, (1 − λ)ηj ≥ 0 ⇒z= (λρi )xi + ηj = λ + 1 − λ = 1 ⇒ z ∈ conv(X, Y ) und λ ρi + (1 − λ)
⊇“ Sei z ∈ conv(X, Y ), das heißt z = μ x + κj yj mit μi ≥ 0, κj ≥ 0, sowie
i i
” μi + κj = 1. O. B. d. A. gelte μi > 0 und κj > 0, ansonsten gilt z= z= Setze λ =
μi xi ∈ conv(X) ⊆ conv(conv(X), conv(Y )) oder κj yj ∈ conv(Y ) ⊆ conv(conv(X), conv(Y )))
μi ∈ (0, 1) damit gilt 1 − λ = z =λ·
wegen gilt
μi λ
≥ 0,
μi λ
x ˜=
=
μi λ
κj ∈ (0, 1) und
κj yj λ 1−λ
κj
κj κj P = 1 und analog 1−λ ≥ 0, 1−λ = κj = 1
μi
Pμi μi
xi + (1 − λ) ·
xi ∈ conv(X), y˜ =
κj ∈ conv(Y ). 1−λ
und damit z = λ˜ x + (1 − λ)˜ y ∈ conv(conv(X), conv(Y )) b)
Polyedrischer Kegel hat eine Darstellung als konvexer Kegel (Begr¨undung: Satz von Minkowski: Jeder polyedrische Kegel hat eine endliche Erzeugermenge) Zu zeigen: conv(cone(x1 , . . . , xk ), cone(y1 , . . . , y )) ist polyedrischer Kegel Es gen¨ugt: conv(C1 , C2 ) = cone(x1 , . . . , xk , y1 , . . . , y ) ⊆“ Sei z ∈ conv(C1 , C2 ) ” ⇒z=λ ρi xi + (1 − λ) ηj yj , λ ∈ [0, 1], ρi ≥ 0, ηj ≥ 0 ∀i, j (1 − λ)ηj yj mit λρi , (1 − λ)ηj ≥ 0 ∀i, j ⇒z= (λρi )xi + ⇒ z ∈ cone(x1 , . . . , xk , y1 , . . . , y ) ⊇“ Sei z ∈ cone(x1 , . . . , xk , y1 , . . . , y ) ” ⇒z= μi xi + κj yj mit μi , κj ≥ 0 κj μi xi + (1 − λ) yj mit λ ∈ (0, 1) ⇒z=λ λ 1−λ
μi
κj κj Da μλi ≥ 0, 1−λ ≥ 0 gilt, folgt x ˜= ˜= λ xi ∈ C1 sowie y 1−λ yj ∈ C2 und
86
I: 4 Polyederstruktur
z = λ˜ x + (1 − λ)˜ y mit λ ∈ (0, 1). Damit ist z ∈ conv(C1 , C2 ) c)
Betrachte die Polyeder {0 ∈ R2 } und {x ∈ R2 | x1 ∈ R, x2 = 1}. Die konvexe H¨ulle conv({0}, {x | x1 ∈ R, x2 = 1}) ergibt {x ∈ R2 | x1 ∈ R, x2 ≤ 1, x2 > 0} ∪ {0}. Dies ist nicht abgeschlossen, also kein Polyeder.
L¨osung zu 4.2.2 Zeichnung des Polyeders: (6)
x2
(1) Zu un la¨ bes ss c ig hr ke a¨ n its kt b e er re ic h
8 6 4 2 −10 −8 −6 −4 −2 −2
2
4
6
−4
(2)
(4)
1 8x
(1) −x1 + x2 (2) x1 − x2 (3) −x2 1 1 2 (4) 2x − x (5) −x1 − x2 (6) −2x1 + x2
≤ ≤ ≤ ≤ ≤ ≤
5 5 5 4 10 20
(3)
−6 −8 −10 Ecken:
(5)
15
−2 −5 −2 2 , x2 := x1 := , x3 := , x4 := − 52 −5 −5 −3
Geometrische Ermittlung der freien Richtungen: Die Kante, die von x1 abgeht und (1) straff h¨alt und die Kante, die von x4 abgeht und (2) straff h¨alt, haben beide die Richtung d = (1, 1)T , weil aT1 d = (−1, 1)
1 =0 1
und
aT2 d = (1, −1)
1 = 0. 1
Beide tauchen in einer Ober- und Unterbegrenzung von P auf, also kann es nur diese eine freie Richtung geben. Arithmetische Ermittlung der Richtungen:
1freien d = 0 muss aTi d ≤ 0 ∀ i gelten. F¨ur eine freie Richtung d = d2
4.3 L¨osungen zur endlichen Erzeugung
Hier heißt das:
87
(1) −d1 + d2 (2) d1 − d2 (3) −d2 1 1 2 (4) 2d − d 1 (5) −d − d2 (6) −2d1 + d2
≤ ≤ ≤ ≤ ≤ ≤
0 0 0 0 0 0
Aus (1)
und (2) folgt −d1 + d2 = 0 ⇒ d1 = d2 . 1 d= erf¨ullt alle Restriktionen und ist somit freie Richtung von P . 1 Die endliche Erzeugermenge beruht nun auf der Angabe der Ecken und der extremalen freien Richtungen, also
1 . P = conv ({x1 , x2 , x3 , x4 }) + cone 1
L¨osung zu 4.2.3
2 2 2 3 Man liest aus der Zeichnung ab, dass wohl , , , am Rand liegen (von 10 5 2 0
2 2 2 2 conv(G) + cone(H)). Davon ist auch noch entbehrlich wegen ∈ , . 5 5 2 10 x2 12 10 conv(G) + cone(H)
8 6
conv(G)
4 2 x1
0 0
2
4
6
8
10
12
Wir wollen jetzt nachweisen, dass alle anderen Punkte verzichtbar sind.
5 verzichtbar: 2
5 3 2 3 1 = + = +2· ∈ conv(G) + cone(H) 2 0 2 0 1
88
I: 4 Polyederstruktur
5 5
3 8
3 3
4 4
verzichtbar: verzichtbar: verzichtbar: verzichtbar:
5 2 1 = +3· ∈ conv(G) + cone(H) 5 2
1 1 3 2 2 1 1 ∈ conv(G) + cone(H) +2· +1· = 2· 2 2 10 8
3 2 1 = +1· ∈ conv(G) + cone(H) 3 2
1
4 2 1 = +2· ∈ conv(G) + cone(H) 4 2 1
Als Richtung ist (1, 1)T verzichtbar wegen
1 5 4 1 5 1 5 1 · + · · ∈ cone , . = 2 1 2 1 1 5 5 9 Eine Minimaldarstellung braucht also nur
2 2 3 1 5 conv , , + cone , . 10 2 0 2 1 Wir m¨ ussen (formal) nun
auch noch die Minimalit¨at zeigen. 3 2 2 bilden ein Dreieck (keiner der Punkte ist eine Konvexkombination , conv , 0 2 10 der beiden anderen Punkte). Zu untersuchen bleibt noch der Fall, dass man durch die Hinzunahme des konvexen Kegels auf einen Punkt aus der konvexen H¨ulle verzichten kann. Allgemeiner Fall: Es sei Q = conv(xi ) + cone(zj ) mit i = 0, . . . , k und j = 1, . . . , l. conv(xi ) und cone(zj ) seien dabei minimal. (O. B. d. A.) x0 ∈ conv(xi )i≥1 + cone(zj )j≥1 . Es gilt λi xi + μj zj mit λi = 1, λi ≥ 0, μi ≥ 0 ∀i 1 · x0 = ⇔
i≥1 j≥1 λi x0 = λi xi + μj zj ,
i≥1
⇔ −
j≥1
μj zj =
i≥1 i≥1
j≥1
λi (xi − x0 ),
i≥1
λi = 1, λi ≥ 0, μi ≥ 0 ∀i
i≥1
λi = 1, λi ≥ 0, μi ≥ 0 ∀i.
i≥1
Mit (λ1 , . . . , λk )T = (0, . . . , 0)T , (μ1 , . . . , μl )T = (0, . . . , 0)T folgt ∃ y = 0 mit y ∈ − cone(zj ) ∩ conv(xi − x0 ) ⇔ ∃ y = 0 mit y ∈ − cone(zj ) ∩ cone(xi − x0 ). Auf einen Punkt kann man also dann verzichten, wenn der Kegel der Differenzen zu den anderen Punkten und der Negativkegel zu H einen nichttrivialen Schnitt haben, das heißt, dass der Schnitt der beiden Kegel nicht nur den Nullpunkt enth¨alt.
4.3 L¨osungen zur endlichen Erzeugung
89
2 ist nicht verzichtbar, weil 10 cone
0 1 −1 −5 , ∩ cone , = {0}. −8 −10 −2 −1
2 ist nicht verzichtbar, weil 2
0 1 −1 −5 cone , ∩ cone , = {0}. 8 −2 −2 −1
3 ist nicht verzichtbar, weil 0 cone
−1 −1 −1 −5 , ∩ cone , = {0}. 10 2 −2 −1
L¨osung zu 4.2.4 a)
Addiert man P und Q, so enth¨alt der erste Summand cone(y1 , . . . , yr ), der zweite cone(z1 , . . . , zs ) als Menge von freien Richtungen. Die beiden konvexen H¨ullen conv(u1 , . . . , uk ) und conv(v1 , . . . , v ) tragen nichts zu den freien Richtungen bei. Es ist nun ersichtlich, dass gilt cone(y1 , . . . , yr ) + cone(z1 , . . . , zs ) = cone(y1 , . . . , yr , z1 , . . . , zs ) (jede freie Richtung der linken Summe ist eine Zusammenfassung von zwei freien Richtungen; dies kann auch durch eine konische Gesamtkombination beschrieben werden; analog wird gezeigt, dass die rechte Menge in der linken liegt). Also ist sicher, dass P + Q = [conv(u1 , . . . , uk ) + conv(v1 , . . . , v )] + cone(y1 , . . . , yr , z1 , . . . , zs ) und es w¨urde ausreichen zu erkennen, dass die Summe in [. . . ] bereits ein Polytop ist. Wir konzentrieren uns deshalb darauf. i)
ˆ = conv(v1 , . . . , v ) ˆ mit Pˆ = conv(u1 , . . . , uk ) und Q Wir zeigen, dass Pˆ + Q konvex ist. Gegeben sei eine Mischung von zwei Punkten, die sich auf obige Weise als Summe darstellen lassen. ˆ a1 = λ1i ui + μ1j vj Pˆ + Q ˆ a2 = λ2i ui + μ2j vj Pˆ + Q
90
I: 4 Polyederstruktur
⇒ρa1 + (1 − ρ)a2 = λ2i ui )] + [ρ( μ1j vj ) + (1 − ρ)( μ2j vj )] = [ρ( λ1i ui ) + (1 − ρ)( ∈Pˆ
ˆ ∈Q
(zun¨achst werden zwei Punkte von Pˆ gemischt – bleibt in Pˆ , danach werden zwei ˆ gemischt – bleibt in Q) ˆ Damit ist die Konvexit¨at gezeigt. Punkte von Q ii)
ˆ enth¨alt nat¨urlich alle Summen von speziellen Punkten aus Pˆ mit solchen aus Pˆ + Q ˆ Q, also insbesondere die Punkte u1 + v1 , u2 + v1 , .. .
u1 + v2 , · · · , u1 + v ··· · · · , u2 + v
uk + v1 , ⎛
u1 + v1 , ⎜ .. Da conv ⎝ .
··· , .. .
···
(k · Punkte)
· · · , uk + v .
⎞ u1 + v .. ⎟ die kleinste konvexe Menge ist, die diese k · . ⎠
uk + v1 , · · · , uk + v Punkte enth¨alt, gilt: ⎛
u1 + v1 , ⎜ .. ˆ ˆ P + Q ⊃ conv ⎝ .
··· , .. .
⎞ u1 + v .. ⎟ . ⎠
uk + v1 , · · · , uk + v iii)
ˆ ⊂ conv , also ob die rechte konvexe Nun ist aber noch offen, ob denn auch Pˆ + Q H¨ulle schon groß genug ist. ˆ n¨amlich k λi ui + μj vj . Wegen Betrachte also einen Punkt aus Pˆ + Q, i=1 j=1
λi = μj = 1 erlaubt dies folgende Umformung ⎛ ⎞ k k k k ⎝ λi vj = λi μj ui + μj λi vj μj ⎠ ui + μj i=1
j=1
=
j=1
k
λi μj ui +
i=1 j=1
i=1
i=1 j=1
k
k
λi μj vj
i=1 j=1
=
j=1 i=1
λi μj (ui + vj ).
i=1 j=1
Also liegt schon mal eine Linearkombination aller (ui + vj ) vor. Wir zeigen, dass es sich dabei um eine Konvexkombination handelt: λi μj ≥ 0 ist erf¨ullt, weil λi ≥ 0, μj ≥ 0 ⎛ ⎞ k k k k ⎝ λi μj = μj ⎠ = λi · 1 = λi = 1 i=1 j=1
i=1
j=1
i=1
i=1
4.4 Zerlegungssatz
91
⎛
u1 + v1 , ⎜ .. Also ist unser Punkt in conv ⎝ .
··· , .. .
⎞ u1 + v .. ⎟ . ⎠
uk + v1 , · · · , uk + v b)
Hat man vorher cT x optimiert u¨ ber P und u¨ ber Q, dann sind m¨oglich: Ia Ib
cT x wird optimal in einem der ui von P
(ui )
T
c x w¨achst unbeschr¨ankt auf einem yi von P
IIa cT x wird optimal in einem der vj von Q
(vj )
T
IIb c x w¨achst unbeschr¨ankt auf einem zj von Q (Ia und IIa): Nun kann kein Summenpunkt mehr liefern als cT ui + cT vj , da cT x ≤ cT ui auf P und cT y ≤ cT vj auf Q gilt. (Ia und IIb) sowie (IIb und Ia): cT x w¨achst unbeschr¨ankt auf einem yi bzw. auf einem zj . Das setzt sich nat¨urlich durch. (Ib und IIb): F¨ur ein yi und f¨ur ein zj w¨achst cT x unbeschr¨ankt, deshalb erst recht f¨ur yi + zj .
4.4 Zerlegungssatz Wir interessieren uns jetzt f¨ur die Gesamtstruktur eines Polyeders. Hierbei suchen wir eine Darstellung durch Ecken, freie Richtungen und lineare Unterr¨aume.
Definition 4.14 Ein Polyeder heißt spitz, wenn es mindestens eine Ecke besitzt.
Bemerkung Da jedes nichtleere Polytop die konvexe H¨ulle seiner Ecken ist, muss es mindestens eine Ecke enthalten. Also ist jedes Polytop spitz.
Satz 4.15 1. P = {x | Ax ≤ b} ist genau dann ein Polytop, wenn P keine Halbgerade enth¨alt. Ist P nicht leer, dann gilt dies genau dann, wenn Az ≤ 0 nur mit z = 0 l¨osbar ist. 2.
Das nichtleere Polyeder P ist genau dann spitz, wenn P keine Gerade ganz enth¨alt. In diesem Fall ist Aw = 0 nur mit w = 0 l¨osbar.
92
I: 4 Polyederstruktur
Lemma 4.16 Gegeben sei P (A, b) = conv(G) + cone(H) = conv(G ) + cone(H ). Dann folgt cone(H) = cone(H ) = {z | Az ≤ 0} = rec(A).
Definition 4.17 C sei ein konvexer Kegel, −C der Kegel {x | −x ∈ C}. Wir nennen L = C ∩ −C den Linienraum von C.
Bemerkung Der Linienraum ist der gr¨oßte lineare Untervektorraum von C. Mit x geh¨ort immer −x zu L. Lemma 4.18 L ist die kleinste nichtleere extremale Teilmenge von C.
Definition 4.19 Ist L = C ∩ (−C) = {0}, das heißt 0 ist Extremalpunkt von C, dann heißt C spitzer Kegel.
Satz 4.20 Jeder konvexe Kegel ist die direkte Summe seines Linienraumes L und des spitzen Kegels C = C ∩ L⊥ mit L⊥ = {u | uT x = 0 ∀x ∈ L}. Also ist C = (C ∩ L⊥ ) ⊕ L.
Satz 4.21 (Zerlegungssatz f¨ur Polyeder) Jedes Polyeder P besitzt eine Zerlegung P = (Q + C) ⊕ L , wobei Q ein Polytop, C ein spitzer Kegel und L ein Untervektorraum (Linienraum von P ) ist.
Korollar 4.22 Ist P = {x | Ax ≤ b} = conv(G)+cone(H), dann l¨asst sich P darstellen als P = (Q+C)⊕L , wobei L = {x | Ax = 0}, C = {x | Ax ≤ 0} ∩ L⊥ und C ⊕ L = cone(H) = {x | Ax ≤ 0}.
4.4 Zerlegungssatz
93
F¨ur die Anwendung der Algorithmen zur linearen Optimierung sind spitze Polyeder sehr wichtig.
Satz 4.23 Sei ∅ = P (A, b) ⊂ K n . Dann sind folgende Aussagen a¨ quivalent: 1.
P ist spitz.
2.
RangA = n.
3.
L(P ) = {0}.
Korollar 4.24 F¨ur P = P = (A, b) = {x | Ax = b, x ≥ 0} gilt: P ist genau dann spitz, wenn P nicht leer ist.
Korollar 4.25 P sei ein Polytop. Dann gilt: P ist genau dann spitz, wenn P nicht leer ist.
Korollar 4.26 Ist P spitz, dann sind auch alle seine Seiten߬achen spitz.
Satz 4.27 P sei ein spitzes Polyeder. Das Problem max cT x
unter x ∈ P
besitze eine Optimall¨osung. Dann gibt es in der Menge der Optimall¨osungen eine Ecke.
Korollar 4.28 Es sei P = ∅ und P ein Polytop, dann hat jedes lineare Optimierungsproblem max cT x eine optimale Eckl¨osung.
unter x ∈ P
94
I: 4 Polyederstruktur
Folgerung: Bei linearen Optimierungsproblemen der Form max cT x
max cT x
oder
unter Ax = b, x ≥ 0
unter Ax ≤ b, x ≥ 0
gilt: Genau dann, wenn es eine Optimall¨osung gibt, existiert auch eine optimale Eckl¨osung.
Satz 4.29 Ein spitzes Polyeder l¨asst sich darstellen als P = conv(v1 , . . . , vk ) + cone(u1 , . . . , u ), wobei v1 , . . . , vk die Ecken von P und u1 , . . . , u die extremalen freien Richtungen von P sind.
Korollar 4.30 Ein spitzes Polyeder P hat eine eindeutig bestimmte Minimaldarstellung der Form: P = conv(v1 , . . . , vk ) + cone(u1 , . . . , u ). F¨ur allgemeine Polyeder (also nicht notwendigerweise spitze) sind nur k und eindeutig.
Satz 4.31 P sei nicht leer und spitz. Das Optimierungsproblem max cT x
unter x ∈ P
hat keine Optimall¨osung genau dann, wenn es eine extremale freie Richtung u mit cT u > 0 gibt.
4.5 Aufgaben zum Zerlegungssatz Aufgabe 4.5.1 Wir betrachten das Polyeder P = P (A, b) mit ⎛
2 ⎜−1 A=⎜ ⎝3 0
0 1 2 1
⎞ ⎛ ⎞ 2 2 ⎜1⎟ −2⎟ ⎟, b = ⎜ ⎟. ⎝0⎠ 1⎠ −1 1
Geben Sie hierzu nach Zerlegungssatz eine explizite Zerlegung P = (Q + C) ⊕ L an, wobei Q ein Polytop, C ein spitzer Kegel und L der Linienraum von P ist.
4.5 Aufgaben zum Zerlegungssatz
95
Aufgabe 4.5.2
Ein dreidimensionales Polyeder P im R3 habe folgende Zerlegung (Q + C) ⊕ L, wobei ⎛
⎞ ⎛⎛ ⎞ ⎛ ⎞⎞ ⎛⎛ ⎞ ⎛ ⎞⎞ 1 2 0 −2 2 L = R · ⎝ 0 ⎠ , C = cone ⎝⎝0⎠ , ⎝3⎠⎠ , Q = conv ⎝⎝ 1 ⎠ , ⎝−3⎠⎠ . −1 2 0 −2 2 Modellieren Sie ein Ungleichungssystem, das gerade dieses Polyeder als Zul¨assigkeitsbereich ergibt. (Hinweis: Die obige Darstellung von L, C und Q ist minimal, das heißt, dass die angegebenen Punkte und Richtungen zur Darstellung notwendig sind und nicht weggelassen werden k¨onnen, ohne das Polyeder zu ver¨andern.)
Aufgabe 4.5.3 Sie verf¨ugen bereits u¨ ber ein Programm, das bei linearen Optimierungsproblemen, mit spitzen Zul¨assigkeitsbereichen, durch Identifizieren der Ecken und Vergleich von deren Zielfunktionswerten die beste Ecke bestimmen kann. Mithilfe verschiedener Optimalit¨atstests an der besten Ecke k¨onnen Sie dann sogar entscheiden, ob es sich dabei um einen Optimalpunkt handelt. Also k¨onnen Sie unter obiger Voraussetzung solche (LP )s l¨osen. Ihnen wird jetzt jedoch ein (LP ) der Form max cT x unter Ax ≤ b mit einer 10 × 5-Matrix A vorgelegt, bei dem Sie lin((2, 3, 1, −1, 0)T , (4, −1, 1, 2, −2)T ) als L¨osungsmenge des homogenen Gleichungssystems Aw = 0 feststellen. Warum k¨onnen Sie dieses (LP ) nicht ohne weiteres mit Ihrem Programm l¨osen? Wie k¨onnen Sie mithilfe eines Tricks oder einer Umformulierung des Problems das (LP ) doch mit Ihrem Programm l¨osen?
Aufgabe 4.5.4 In einem vierdimensionalen Polyeder P sei eine Seitenfl¨ache gegeben durch ⎛⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎞ ⎞ ⎛ ⎞⎞ 3 1 4 −4 0 4 ⎜⎜ 4 ⎟ ⎜ 1 ⎟⎟ ⎜⎜1⎟ ⎜ 2 ⎟ ⎜−1⎟ ⎜−1⎟⎟ ⎜ ⎟ ⎜ ⎟⎟ ⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎟ conv ⎜ ⎝⎝−1⎠ , ⎝−5⎠⎠ + cone ⎝⎝2⎠ , ⎝ 1 ⎠ , ⎝−1⎠ , ⎝ 0 ⎠⎠ . 2 −3 0 −3 1 2 ⎛⎛
Zeigen Sie, dass P keine spitze Seitenfl¨ache hat, indem Sie nachweisen, dass keine Seitenfl¨ache einen extremalen Punkt enth¨alt.
96
I: 4 Polyederstruktur
Aufgabe 4.5.5 Gegeben sei ein spitzes Polyeder P in K d mit dim(P ) = d. Zeigen Sie: P hat zu jedem k = 0, 1, . . . , d − 1 mindestens eine Seitenfl¨ache der Dimension k. Hinweis: Betrachten Sie eine Seitenfl¨ache F der Dimension k > 0 und deren affine H¨ulle. Sehen Sie nun F als Polyeder in einem k-dimensionalen Raum an (o. B. d. A. der K k ), wo es eine Minimaldarstellung durch ein redundanzfreies Ungleichungssystem gibt. Weisen Sie nach, dass dieses Polyeder Facetten hat.
Aufgabe 4.5.6 Sie haben ein Optimierungsproblem max cT x unter Ax ≤
b
zu l¨osen versucht. Dabei haben Sie erkannt, dass X = {x | Ax ≤ b} = ∅ einen eindimensionalen Linienraum mit Richtungsvektor 1 = (1, . . . , 1)T hat. Deshalb ist es Ihnen nicht gelungen, eine Optimalecke zu finden. Deswegen wird Ihnen folgender Vorschlag unterbreitet: Betrachten Sie zun¨achst 1T c und je nachdem, ob 1T c ≥ 0 oder 1T c ≤ 0 gilt, l¨osen Sie doch erst einmal eines der beiden Hilfsprobleme
(I)
max unter
cT x Ax 1T x
≤ b ≥ 0
(II)
max unter
cT x Ax 1T c
≤ b ≤ 0
und ziehen Sie die entsprechenden R¨uckschl¨usse f¨ur das urspr¨ungliche Optimierungsproblem. Zeigen Sie: a)
Gilt 1T c > 0, so ist die Zielfunktion bei Hilfsproblem (I) unbeschr¨ankt nach oben. Wenn 1T c < 0 gilt, dann ist die Zielfunktion bei Hilfsproblem (II) unbeschr¨ankt verbesserbar.
b)
Gilt 1T c = 0, dann haben beide Hilfsprobleme entweder einen Optimalpunkt und die Optimalwerte sind gleich, oder bei beiden Hilfsproblemen ist die Zielfunktion unbeschr¨ankt verbesserbar.
c)
Beurteilen Sie den obigen Vorschlag. Wie w¨urden Sie vorgehen?
4.6 L¨osungen zum Zerlegungssatz
97
4.6 L¨osungen zum Zerlegungssatz L¨osung zu 4.5.1 (i)
Berechne den Linienraum durch L¨osung von Az = 0 ⎛
2 ⎜−1 ⎜ ⎝3 0
⎛ ⎞ 1 0 2 ⎜0 1 −2⎟ ⎟ −→ ⎜ ⎝0 2 1⎠ 0 1 −1
0 1 2 1
⎛ ⎞ 1 1 ⎜0 −1⎟ ⎟ −→ ⎜ ⎝0 −2⎠ 0 −1
⎞ 0 1 1 −1⎟ ⎟ 0 0⎠ 0 0
Die L¨osung mit z 1 = −z 3 , z 2 = z 3 , z 3 = 1 ist (−1, 1, 1)T . Daraus folgt, dass lin((−1, 1, 1)T ) der (eindimensionale) Linienraum ist. Der Linienraum ist = {0} und somit ist P nicht spitz. Q und C liegen also in L⊥ . (ii)
Man versucht jetzt, den spitzen Kegel C = {z|Az ≤ 0}∩L⊥ zu berechnen. Es ist bekannt, dass man zu einer regul¨aren Basismatrix von A (A quadratisch, regul¨ar, gleiche Spaltenanzahl wie A) die extremalen freien Richtungen von rec(AΔ ) erh¨alt, indem man gerade die L¨osungen zu AΔ zi = −ei (i = 1, . . . , n) bestimmt. Da man hier aber noch mehr Ungleichungen hat und weil rec(A) ⊂ rec(AΔ ) gilt, ist nicht gesichert, ob die L¨osung zi auch noch in rec(A) liegt. Die Extremalit¨at bleibt in diesem Fall erhalten. Also bleibt bei den zi ’s noch zu u¨ berpr¨ufen, ob auch unter den anderen Restriktionen ≤ 0 erreicht wird. Man kann jetzt alle m¨oglichen Gleichungssysteme l¨osen, die folgendermaßen generiert werden: Erfasse die Gleichungen, die sicherstellen, dass man in L⊥ ist (hier ist das eine Gleichung: −z 1 + z 2 + z 3 = 0). Erfasse n − dim L − 1 Ungleichungen von A, setze sie als aTi x = 0 Gleichung an und erfasse eine weitere Ungleichung, setze sie als aTj x = −1 Gleichung an. Sobald die L¨osung vorliegt, teste man, ob der L¨osungsvektor auch alle nicht erfassten Az ≤ 0 Restriktionen erf¨ullt. Im Erfolgsfall ist dies eine extremale freie Richtung von rec(A) ∩ L⊥ . Abk¨urzen kann man dieses Verfahren, indem man auf die Gleichung zu −1 verzichtet und nur die n − dim L − 1 Ungleichungssysteme aus A erfasst. Dann l¨ost man ein homogenes Gleichungssystem mit n − 1 Zeilen. Man erh¨alt dadurch L¨osungsgeraden, die man in zwei Richtungen durchlaufen kann. Zeigen beim Durchlaufen einer Richtung alle restlichen Restriktionen dasselbe Vorzeichen an, dann hat man Erfolg: –
¨ bei < 0: Uberall greife man sich eine heraus, normiere auf −1 und hat doch die −1 Gleichung noch erf¨ullt.
–
¨ bei > 0: Uberall drehe man die Richtung um.
Somit reicht es, die genannten (homogenen) Gleichungssysteme zu l¨osen. Dies sind in unserem Fall 4 Gleichungssysteme, wobei jeweils 2 Zeilen (erste Zeile −z 1 + z 2 + z 3 = 0 und zweite Zeile eine von den vier Matrixzeilen) erfasst werden. ⎛ ⎞
−1 −1 1 1 1 −1 −1 (1) −→ ⇒ L¨osung z1 = ⎝−2⎠ 2 0 2 0 2 4 1
98
I: 4 Polyederstruktur
Es gilt aT2 z1 = −3 ≤ 0, aT3 z1 = −6 ≤ 0, aT4 z1 = −3 ≤ 0. Deshalb ist z1 tats¨achlich eine extremale freie Richtung. ⎛ ⎞
−1 −1 1 1 1 −1 −1 ⎝ −→ ⇒ L¨osung z2 = −1⎠ (2) −1 1 −2 0 0 −3 0 Es gilt aT1 z2 = −2 ≤ 0, aT3 z2 = −5 ≤ 0, aT4 z2 = −1 ≤ 0. Deshalb ist z2 tats¨achlich eine extremale freie Richtung. ⎛ 1 ⎞
1 5 1 −1 −1 1 0 −5 ⇒ L¨osung z3 = ⎝− 54 ⎠ (3) −→ 4 0 1 3 2 1 5 1 2 9 T T T Es gilt a1 z3 = 2 5 , a2 z3 = −3, a4 z3 = − 5 . gemischt ⎛ ⎞
2 1 −1 −1 (4) ⇒ L¨osung z4 = ⎝1⎠ 0 1 −1 1 T T T Es gilt a1 z4 = 6, a2 z4 = −3, a3 z4 = 9. gemischt ⎛ ⎞ ⎛ ⎞ −1 −1 Dehalb sind z1 = ⎝−2⎠ und z2 = ⎝−1⎠ extremale freie Richtungen. 1 0 (iii)
Polytopanteil: Nun sind noch Ecken zu bestimmen (Gleichungssysteme mit drei Zeilen, davon eine die L⊥ -Gleichung). Es gibt 42 Kombinationen. ⎛
1
⎜ (1,2) ⎝ 2 −1 ⎛
⎛ 1 ⎟ ⎜ −→ 2⎠ ⎝0
−1 −1 0
2
1 −2 1 0
⎜ −→ ⎝0 1 0 0
0
1 2 1
1
⎞
0 ⎞ ⎛ 1 1 ⎟ ⎜ 1⎠ −→ ⎝0 1 −3 0
−1 −1 2
4
0
−3
0 0 1 0 0 1
⎛
2
0
1
1 0 ⎜ −→ ⎝0 1
2
0 0
−6
Ecke!
1
0 5 4 ⎞ ⎛ 1 1 0 0 ⎟ ⎜ −→ 1⎠ ⎝0 1 0 −5 0 0 1
⎞
⎛
1 −1
−1
1
2
⎟ ⎜ 2⎠ −→ ⎝0 1 ⎞ 4
3 5⎟ 3⎠ − 13
aT3 x12 = 7 = 0, verletzt a3 ⇒ keine Ecke! ⎛ ⎞ ⎛ 1 −1 −1 0 1 −1 −1 ⎜ ⎟ ⎜ (1,3) ⎝2 0 2 2⎠ −→ ⎝0 2 4 3
0
0 ⇒ x12 =
⎞ ⎛ 0 1 ⎟ ⎜ 2⎠ −→ ⎝0 0 0 ⎞ 1 6
⎛
⎞
− 13
1
−1 −1
0
⎞
⎟ 1⎠
1
2
5 ⎛
4 0 ⎞
1 6 ⎜ 4⎟ ⎝− 6 ⎠ 5 6
⎞
⎟ 1⎠
4 3 ⎜ 5 ⎟ ⎝ 3 ⎠ − 31
⎟ − 46 ⎠ ⇒ x13 = 5 6
0
0
4.6 L¨osungen zum Zerlegungssatz
⎛ 1 ⎜ (1,4) ⎝2
99
⎞ ⎛ ⎞ 0 0 −1 −2 −1 ⎟ ⎜ ⎟ 1⎠ 0 2 2⎠ −→ ⎝1 0 1 1 0 1 −1 1 0 1 −1 ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 1 0 0 −3 0 0 0 1 0 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ = −→ ⎝1 0 −→ ⇒ x 1 1⎠ ⎝1⎠ ⎝1 0 0 1 ⎠ 14 0 0 1 −1 1 0 1 0 1 −1 −1
aT3 x14 = 5 > b3 , verletzt a3 ⇒ keine Ecke! ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 1 −1 −1 0 1 −1 −1 1 −1 −1 0 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ (2,3) ⎝−1 1 −2 1⎠ −→ ⎝0 0 −3 1⎠ −→ ⎝0 0 1 − 31 ⎠ 0 5 4 0 3 2 1 0 0 5 4 0 ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ 1 1 1 1 −1 0 − 3 1 0 0 − 15 1 −1 0 − 3 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ −→ ⎝0 0 1 − 31 ⎠ −→ ⎝0 0 1 − 13 ⎠ −→ ⎝0 0 1 − 31 ⎠ 0
⎛
⎜ ⇒ x23 = ⎝
Ecke! ⎛ 1 ⎜ (2,4) ⎝−1
5
− 15 4 15 − 31
0
1 0
4 15
0 1
0
⎞
⎛
1 −1 −1
⎟ ⎜ 1⎠ −→ ⎝0
−2
0 −3
⎞ ⎛ 0 1 −1 −1 ⎟ ⎜ −→ 1⎠ 0 1 ⎝0 1 0 1 −1 ⎛ 1 ⎞ ⎞ 1
0 1 −1 1 0 1 −1 ⎞ ⎛ ⎛ 1 1 0 0 1 −1 0 − 3 3 ⎜ ⎟ ⎜ ⎟ ⎜ 1 −→ ⎝0 0 1 − 3 ⎠ −→ ⎝0 0 1 − 31 ⎠ ⇒ x24 = ⎝ 0
1
2 3
0
0 1
0
2 3
aT3 x24 = 2 > b3 , verletzt a3 ⇒ keine Ecke! ⎞ ⎛ ⎞ ⎛ ⎛ 1 −1 −1 0 1 1 −1 −1 0 ⎜ ⎟ ⎜ ⎟ ⎜ (3,4) ⎝3 2 1 0⎠ −→ ⎝0 5 4 0⎠ −→ ⎝0 0
⎛ 1 ⎜ −→ ⎝0
1 −1
0 aT2 x34 =
1
0 −2 0
1
1 −1 5 3
4 15
0
⎟ ⎠
−1 −1 1
4 3
0 ⎞ 1
3 2 ⎟ 3 ⎠ − 13
0 −2 0
⎞ 0 ⎟ − 31 ⎠ 1
9
1
⎟ −5⎠
1 0 1 −1 1 0 1 −1 ⎛ 1⎞ ⎞ ⎞ ⎛ 1 −9 1 1 0 0 −9 ⎜ 4 ⎟ 5 ⎟ −→ ⎜ 5⎟ ⇒ x = −9⎠ ⎝ 9 ⎠ ⎝0 0 1 − 9 ⎠ 34 4 1 0 1 0 − 59 9
> b2 , verletzt a2 ⇒ keine Ecke! ⎛
Damit verbleiben als Ecken x13 =
⎞
1 6 ⎜ 4⎟ ⎝− 6 ⎠ 5 6
und x23
⎛ 1⎞ − 15 ⎜ 4 ⎟ = ⎝ 15 ⎠. − 13
⎞
100
I: 4 Polyederstruktur
Insgesamt erhalten wir ⎛ ⎛⎛ P =
⎞ ⎛
⎞⎞
1 1 − 15 6 ⎝conv ⎝⎝− 4 ⎠ , ⎝ 4 ⎠⎠ 6 15 5 − 13 6
⎛⎛
⎞ ⎛ ⎞⎞⎞ ⎛ ⎞ −1 −1 −1 + cone ⎝⎝−2⎠ , ⎝−1⎠⎠⎠ ⊕ lin ⎝ 1 ⎠ . 1 0 1
L¨osung zu 4.5.2 •
Zuerst bestimmen wir den Linienraum: ⎛ ⎞ 1 ⎝ A · 0 ⎠ = 0 ⇒ ai1 − ai3 = 0 ∀i −1
2ai1 + 2ai3 3ai2
≤ ≤
0 ∀i 0 ∀i
•
Freie Richtungen d erf¨ullen Ad ≤ 0 ⇒
•
Wie viele Restriktionen sind notwendig? 3 (Ersichtlich, da der Orthogonalraum zum Linienraum zweidimensional ist. Dadurch gibt es nur eine m¨ogliche Struktur.)
•
Extremalit¨at der freien Richtungen und der Kantenrichtung ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −4 −2 2 ⎝ 4 ⎠ = ⎝ 1 ⎠ − ⎝−3⎠ −4 −2 2 ⎧ +2a13 = 0 Jeweils eine Restriktion ist ⎨ 2a11 = 0 bei einer dieser Richtungen 3a22 ⇒ ⎩ −4a31 +4a32 −4a33 = 0 mit =“ erf¨ullt. ”
•
Zusammenfassung: ⎛ 0 a12 ≤ 0 A = ⎝a21 ≤ 0 0 a31 ≤ 0 2a31 ≤ 0
•
rechte Seite ⎛ ⎞ ⎛ bestimmen ⎞ −1 −2 bei x1 = ⎝ 1 ⎠ : Ax1 = ⎝ 4 ⎠ 2 −2 ⎛ ⎞ ⎛ ⎞ 2 3 bei x2 = ⎝−3⎠ : Ax2 = ⎝−4⎠ 2 2
⎞ ⎛ 0 0 −1 a21 ≤ 0⎠, speziell: A = ⎝−1 0 a31 ≤ 0 −1 −2
⎞ 0 −1⎠ −1
⎧⎛ ⎞ ⎛ ⎞⎫ 3 ⎬ ⎨ −1 beide Punkte zul¨assig ⇒ b = max ⎝ 4 ⎠ , ⎝−4⎠ komponentenweise! ⎩ ⎭ 2 2
4.6 L¨osungen zum Zerlegungssatz
101
⎛ ⎞ 3 ⇒ b = ⎝4⎠ 2 Anmerkung: Dieses hier vorgestellte Vorgehen ist nur m¨oglich, weil das Restpolyeder ohne den Linienraum zweidimensional ist. Ansonsten m¨usste man strukturell wie folgt vorgehen: •
Auswahl einer Ecke und dazu n − 1 m¨ogliche Laufrichtungen (der Linienraum ist zwingend enthalten, die restlichen ergeben sich aus Verbindungen zu anderen Ecken und freien Richtungen).
•
Aufstellen der zugeh¨origen eindeutig gegebenen Hyperebene.
•
Test u¨ ber die restlichen freien Richtungen und die nicht verwendeten Ecken. Falls alle f¨ur ≤“ oder ≥“ zul¨assig sind, so wurde eine Restriktionshyperebene gefunden. ” ”
L¨osung zu 4.5.3 L = lin (w1 , w2 ) mit w1 := (2, 3, 1, −1, 0)T und w2 := (4, −1, 1, 2, −2)T . T Es gilt außerdem Aw1 = Aw2 = 0 mit A = (a1 , . . . , a10 ) und w1 , w2 sind linear unabh¨angig. P ist nicht spitz, es gibt also keine Ecke. Deshalb versagt unser Algorithmus. Wir deklarieren deshalb zus¨atzliche Ungleichungen a11 : w1T x ≤ 0
a12 : w2T x ≤ 0
und haben somit das Problem max cT x aTi x ≤ w1T x ≤ w2T x ≤
bi 0 0.
∀ i = 1, . . . , 10
Es ist nun noch zu zeigen, dass das Polyeder spitz ist. 1. Weg: F¨ur eine Geradenrichtung aus dem Linienraum der Form σ1 w1 + σ2 w2
(mit (σ1 , σ2 ) = (0, 0))
bekommen wir w1T (σ1 w1 + σ2 w2 ) = σ1 w1T w1 + σ2 w1T w2 w2T (σ1 w1 + σ2 w2 ) = σ1 w2T w1 + σ2 w2T w2
mit w1T w1 > 0 mit w2T w2 > 0.
F¨ur die Gerade in Richtung σ1 w1 + σ2 w2 kann die volle Zul¨assigkeit nur gelten, wenn σ1 w1T w1 + σ2 w1T w2 = σ1 w2T w1 + σ2 w2T w2 = 0. (1)
σ1 = 0, σ2 = 0 :
σ1 w1T w1 = σ1 w2T w1 = 0 (Widerspruch)
(2)
σ1 = 0, σ2 = 0 :
σ2 w1T w2 = σ2 w2T w2 = 0 (Widerspruch)
102
I: 4 Polyederstruktur
(3)
σ1 , σ2 = 0 :
σ1 w1T w1 + λσ1 w1T w2 = σ1 w2T w1 + λσ1 w2T w2 = 0 ⇒ w1T w1 + λw1T w2 = w1T w2 + λw2T w2 = 0
σ2 = λσ1 und σ1 , σ2 = 0 ⇒ λ = 0 1. Fall: w1T w2 = 0: ⇒ w1T w1 = 0 2. Fall: w1T w2 = 0:
(Widerspruch)
w1T w1 + λw1T w2 = 0 ⇒ λ = −
w1T w1 w1T w2
Einsetzen in 2. Gleichung ergibt w1T w2 −
2 w1T w1 · w2T w2 = 0 ⇒ w1T w2 = w1 2 · w2 2 T w1 w2
⇒ w1 und w2 sind nach Cauchy-Schwarz linear abh¨angig. (Widerspruch) 2. Weg: Der Kern von A ist 2-dimensional und der Rang von A ist n−2, w1 , w2 sind orthogonal auf alle Zeilen von A und damit gilt T
Rang (a1 , . . . , a10 , w1 , w2 ) = n. ⇒ Die Restriktionsmatrix hat vollen Rang und somit ist das Polyeder spitz. Man hat also ein spitzes Polyeder und daf¨ur arbeitet unser Programm einwandfrei. Der Zul¨assigkeitsbereich ist allerdings eingeschr¨ankt und deshalb muss das Programm auf die vier folgenden Modifikationen angewendet werden: 1)
Erg¨anzung mit w1T x ≤ 0 und w2T x ≤ 0
2)
Erg¨anzung mit w1T x ≥ 0 und w2T x ≤ 0
3)
Erg¨anzung mit w1T x ≤ 0 und w2T x ≥ 0
4)
Erg¨anzung mit w1T x ≥ 0 und w2T x ≥ 0
Die beste Ecke aus allen vier Programmen wird gew¨ahlt, wenn nicht in einem dieser Programme die Zielfunktion nach oben unbeschr¨ankt ist.
L¨osung zu 4.5.4 •
Idee: P = ∅, also Linienraum untersuchen
•
zur Berechnung des Linienraums Abh¨angigkeiten zwischen den Richtungen im cone untersuchen: ⎞ ⎛ ⎞ ⎛ 1 −1 0 1 0 4 −4 0 4 0 ⎜ ⎜1 2 −1 −1 0⎟ 3 −1 −2 0⎟ ⎟ −→ ⎜0 ⎟ GLS: ⎜ ⎠ ⎝ ⎝2 1 −1 0 0 0 3 −1 −2 0⎠ 0 −3 1 2 0 0 −3 1 2 0
4.6 L¨osungen zum Zerlegungssatz
103
0 0 ⎧⎛ 1 ⎞ ⎛ 1 ⎞ ⎫ − ⎪ ⎪ ⎪ ⎨⎜ 31 ⎟ ⎜ 13 ⎟⎪ ⎬ 3⎟ , ⎜ 3 ⎟ L¨osungsraum des GLS: ⎜ ⎝ 1 ⎠ ⎝ 0 ⎠⎪ ⎪ ⎪ ⎪ ⎩ ⎭ 0 1 −→
•
1 0 0 1
− 31 − 31
1 3 − 32
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 4 −4 ⎟ ⎟ ⎜ ⎟ ⎟ ⎜ ⎜ ⎜ −1 −1 1 2 ⎜ ⎟ ⎟ 1⎜ ⎟ ⎜ ⎟ also gilt: 13 ⎜ ⎝2⎠ + 3 ⎝ 1 ⎠ + 1 ⎝−1⎠ = 0 ⇒ (−1) ⎝−1⎠ = 1 1 0 −3 ⎛ ⎞ 0 ⎜−1⎟ ⎟ ⇒ also d = ⎜ ⎝−1⎠ und −d ∈ cone ⇒ d ∈ Linienraum 1
⎛ ⎞ 4 ⎟ ⎜ 1 ⎜1⎟ 3 ⎝2⎠ + 0
⎛ ⎞ −4 ⎟ ⎜ 1 ⎜ 2 ⎟ 3 ⎝ 1 ⎠ −3
•
wegen d ∈ L ⇒ ∀x ∈ P ist x+d und x−d ∈ P ; außerdem ist x echte Konvexkombination von x + d und x − d ⇒ x kann nicht extremaler Punkt von P sein.
•
F¨ur eine beliebige Seitenfl¨ache SF = ∅ von P ist jeder Punkt x ∈ SF eine echte Konvexkombination von x + d und x − d ∈ P . Da SF extremal ist, muss x + d, x − d ∈ SF sein.
•
⇒ x kann als echte Konvexkombination von Punkten aus SF dargestellt werden und kann nicht extremaler Punkt in SF sein.
Fazit: Weder P noch SF = ∅ besitzen extremale Punkte.
L¨osung zu 4.5.5 Sei F ein Polyeder der Dimension k im K k . Dann gibt es ein redundanzfreies System von Ungleichungen aTi x ≤ bi (i = 1, . . . , ), die genau F zulassen und ein Minimalsystem darstellen. Wir zeigen, dass jede dieser Ungleichungen aTi x ≤ bi eine Hyperebene Hi = {x | aTi x = bi } definiert, wo F ∩ Hi eine Facette von F ist (singul¨are Hyperebenen k¨onnen, da dim F = k und F ⊆ K k ist, nicht auftreten; f¨ur k > 0 ist auch F spitz (da P spitz) und es existieren echte Seitenfl¨achen von F ). Mit dem Unterbietungstrick findet man zu jedem Hi , (i = 1, . . . , ) (keine singul¨are Hyperebe ˆ := 1 xi macht alle Restriktionen locker, das heißt ne) einen Punkt xi mit aTi x < bi ⇒ x ˆ < bi ∀i = 1, . . . , . aTi x Nun konstruieren wir einen relativen inneren Punkt x ˜ von F ∩ H . •
˜ < bi ∀i = 1, . . . , − 1 und aT x ˜ = b 1. Fall: ∃˜ x ∈ F mit aTi x ⇒x ˜ ist relativer innerer Punkt von F ∩ H ⇒ dim(F ∩ H ) = k − 1, denn g¨alte dim(F ∩ H ) = k, so w¨are H eine singul¨are Hyperebene, was aber ausgeschlossen war (dim(F ∩ H ) ≤ k − 2 sowieso nicht m¨oglich) ⇒ F ∩ H ist Facette
104
•
I: 4 Polyederstruktur
2. Fall: ˜ x ∈ F mit aTi x ˜ < bi ∀i = 1, . . . , − 1 und aT x = b T i ⇒ ∃y mit ai y < b ∀i = 1, . . . , − 1 und aT y > b , denn g¨abe es ein solches y, k¨onnte man ein geeignetes x ˜ ∈ [ˆ x, y] w¨ahlen. T i ⇒ aus ai x ≤ b ∀i = 1, . . . , − 1 folgt aT x ≤ b ∀x ∈ F ⇒ aT x ≤ b ist redundant. ⇒ Da ein redundanzfreies System vorausgesetzt war, scheidet Fall 2 aus.
Wir haben also gezeigt, dass F eine Facette besitzt (im K k ). Durch Einbettung von F in K n erweist sich diese Seitenfl¨ache von F als (k − 1)-dimensionale Seitenfl¨ache von F und damit auch von P . Durch Induktion kann man nun schließen: P hat eine Facette ⇒ Es existiert eine Seitenfl¨ache der Dimension (d − 1) ⇒ Es existiert eine Seitenfl¨ache der Dimension (d − 2) (als Facette der obigen Seitenfl¨ache) ⇒ Es gibt eine Seitenfl¨ache der Dimension (d − 3) ⇒ . . . ⇒ Es gibt eine Seitenfl¨ache der Dimension 0.
L¨osung zu 4.5.6 Die Polyeder XI = {x | Ax ≤ b, 1T x ≥ 0} und XII = {x | Ax ≤ b, 1T x ≤ 0} sind spitz (insbesondere XI , XII = ∅), weiterhin ist X = {x | Ax ≤ b} = XI ∪ XII . 1 ∈ Linienraum ⇒ A1 = 0 a)
Fall 1: 1T c > 0 Zu zeigen: Hilfsproblem (I) hat eine unbeschr¨ankt wachsende Zielfunktion Beweis: XI = ∅ und 1 ist freie Richtung, die die Zielfunktion verbessert, denn: A1 = 0 ≤ 0, −1T 1 ≤ 0 und 1T c > 0 nach Voraussetzung ⇒ Beh. Fall 2: 1T c < 0 analog f¨ur (II) mit −1
b)
1T c = 0 Wir zeigen: Zielfunktion cT x auf XI unbeschr¨ankt nach oben ⇐⇒ Zielfunktion cT x auf XII unbeschr¨ankt nach oben ⇒“: Zielfunktion unbeschr¨ankt auf XI ” ⇒ ∃z mit Az ≤ 0, −1T z ≤ 0 und cT z > 0 Fall 1: −1T z = 0 ⇒ ∃z mit Az ≤ 0, 1T z ≤ 0 und cT z > 0 ⇒ Zielfunktion unbeschr¨ankt auf XII Fall 2: −1T z < 0 ⇒ 1T z > 0 ⇒ betrachte z˜ := z − (1T z) · 1 A1 = Az ≤ 0 f¨ur z˜ gilt: A˜ z = Az − (1T z) · =0
1T z˜ = 1T z − (1T z)1T 1 = 1 T z 1 − 1T 1 ≤ 0 >0
≤0
und cT z˜ = cT z − (1T z) c T 1 = cT z > 0 =0
4.6 L¨osungen zum Zerlegungssatz
105
⇒ z˜ ist freie Richtung und verbessert die Zielfunktion f¨ur (II) ⇒ Zielfunktion unbeschr¨ankt auf XII ⇐“: analog ” Da XI , XII = ∅, entspricht die Negation der obigen Behauptung der Aussage: (I) hat Optimalpunkte ⇐⇒ (II) hat Optimalpunkte Noch zu zeigen: Die Optimalpunkte sind gleich. (I) und (II) haben Optimalpunkte und sind spitz. ⇒ Bei beiden Problemen gibt es eine Optimalecke xI , xII und die Restriktion 1T x ≥ 0 f¨ur xI und 1T x ≤ 0 f¨ur xII muss straff sein (sonst w¨aren xI , xII Ecken in X) ⇒ 1T xI = 1T xII = 0 ⇒ xI auch zul¨assig f¨ur (II), xII zul¨assig f¨ur (I) ⇒ cT xI = cT xII . c)
Falls 1T c = 0 gilt, sollte eines der Hilfsprobleme gel¨ost werden; die Aussage u¨ bertr¨agt sich auf das Originalproblem. Falls 1T c = 0 gilt, so ist das Originalproblem unbeschr¨ankt.
Kapitel 5
Dualit¨at In Kapitel Dualit¨at steht die Partnerschaftsbeziehung zwischen Optimierungsproblemen zur Debatte. Zu jedem Problem gibt es (ein) Partnerproblem, so dass sich die Zielfunktionswerte gegenseitig abgrenzen lassen. Diese wertvolle Eigenschaft erm¨oglicht auch die Erkenntnis, dass man evtl. am Optimalpunkt angekommen ist. Insofern ist Dualit¨at eine ganz wesentliche Hilfe bei der Bearbeitung. Des Weiteren lassen sich auch optimale Punkte beider Partnerprobleme zueinander in Relation setzen, was u¨ ber die Straffheit“ und Lockerheit“ von paarweise ausgew¨ahlten ” ” Restriktionen aus beiden Partnerproblemen erkl¨art werden kann. Dies ist eine extrem wichtige Hilfe bei der Identifikation von Optimalpunkten.
5.1 Duale Probleme und Dualit¨atssatz Oft ist es n¨otig nachzuweisen, dass ein Zielfunktionswert (z. B. f¨ur eine Ecke) optimal ist. Bei Problemen der Form max cT x unter Ax ≤ b kann man zu diesem Zweck konische Kombinationen der Ungleichungen aus Ax ≤ b so konstruieren, dass eine obere Schranke f¨ur cT x auf dem Zul¨assigkeitsbereich X entsteht. Entspricht diese obere Schranke dem erreichten Zielfunktionswert, so ist die Optimall¨osung gefunden.
Lemma 5.1 Gibt es ein u ∈ K m , u ≥ 0 mit AT u = c , dann liefert bT u eine obere Schranke f¨ur cT x auf X = {x | Ax ≤ b}.
Bisher konnte u frei gew¨ahlt werden. Variiert man u nun so, dass uT b minimal wird, so ist die Absch¨atzung nach oben so scharf wie m¨oglich. Somit heißt das Begleitproblem min uT b
unter AT u = c, u ≥ 0
Analog gewinnt man eine Unterschranke f¨ur dieses (Begleit-)Problem
108
I: 5 Dualit¨at
Lemma 5.2 Gibt es y ∈ K n mit y ∈ X = {x | Ax ≤ b}, dann liefert cT y eine untere Schranke f¨ur bT u auf {u | AT u = c, u ≥ 0} .
Da wir interessiert sind an der gr¨oßtm¨oglichen Unterschranke, stellt sich uns das Maximierungsproblem max cT y unter Ay ≤ b. Damit sind wir aber gerade beim Ausgangsproblem angelangt. Um den Zusammenhang der beiden Optimierungsprobleme n¨aher zu untersuchen, greifen wir auf die Transformationsm¨oglichkeiten zwischen linearen Programmen aus Kapitel 2 zur¨uck. Bemerkung Um zu einem klaren, festlegbaren Begriff von dualen Programmen und Problemen zu kommen, ¨ definieren wir ein formales Ubersetzungsschema, das wir direkte Dualisierung nennen. Dies liefert zu jedem Programm ein eindeutiges direkt duales Programm.
Definition 5.3 (Direkt duale Programme) Gegeben sei das Programm max dT x + eT y + f T z unter Ax + By + Cz Dx + F y + Gz Hx + Iy + Jz x z
bzw. ≤a =b ≥c ≥0 ≤ 0,
min −dT x − eT y − f T z (Pp )
dann bezeichnen wir als (direkt) duales Programm hierzu min aT u + bT v + cT w unter AT u + DT v + H T w BT u + F T v + I T w C T u + GT v + J T w u w
bzw. max −aT u − bT v − cT w ≥d =e ≤f ≥0 ≤ 0.
(Pd )
Lemma 5.4 Sind (Pp ) und (Pp ) transformationsidentisch, dann sind dies auch (Pd ) und (Pd ). Also erh¨alt die direkte Dualisierung Transformationsidentit¨at.
5.1 Duale Probleme und Dualit¨atssatz
109
Lemma 5.5 Die beiden folgenden Programme sind direkt dual: max cT x min (P ) unter Ax ≤ b unter
bT u AT u = c, u ≥ 0.
(D)
Definition 5.6 Von nun an nennen wir ein Programm (Pd ) zu einem Programm (Pp ) dual, wenn (Pd ) und das direkt duale Programm (Pd ) zu (Pp ) transformationsidentisch sind.
Bemerkung ¨ In jeder Aquivalenzklasse gibt es ein kanonisches und ein Standardprogramm. Deshalb k¨onnen wir unsere Betrachtungen auf diese beschr¨anken.
Satz 5.7 Dualisiert man (Pd ) direkt, dann ergibt sich ein zu (Pp ) transformationsidentisches Programm.
Satz 5.8 (Auflistung dualer Programme zu wichtigen Typen) primal dual max cT x max cT x max cT x max cT x max cT x max cT x max cT x max cT x max cT x
unter
Ax ≤ b Ax ≤ b, Ax ≤ b, Ax = b Ax = b, Ax = b, Ax ≥ b Ax ≥ b, Ax ≥ b,
x≥0 x≤0 x≥0 x≤0 x≥0 x≤0
min bT u min bT u min bT u min bT u min bT u min bT u min bT u min bT u min bT u
unter
AT u = c, AT u ≥ c, AT u ≤ c, AT u = c AT u ≥ c AT u ≤ c AT u = c, AT u ≥ c, AT u ≤ c,
u≥0 u≥0 u≥0
u≤0 u≤0 u≤0
110
I: 5 Dualit¨at
primal T
min c x min cT x min cT x min cT x min cT x min cT x min cT x min cT x min cT x
dual unter
Ax ≤ b Ax ≤ b, Ax ≤ b, Ax = b Ax = b, Ax = b, Ax ≥ b Ax ≥ b, Ax ≥ b,
x≥0 x≤0 x≥0 x≤0 x≥0 x≤0
max bT u max bT u max bT u max bT u max bT u max bT u max bT u max bT u max bT u
unter
AT u = c, AT u ≤ c, AT u ≥ c, AT u = c AT u ≤ c AT u ≥ c AT u = c, AT u ≤ c, AT u ≥ c,
u≤0 u≤0 u≤0
u≥0 u≥0 u≥0
Nun studieren wir die Wechselwirkungen zwischen zueinander dualen Programmen. Im Folgenden sei stets das primale Problem unter Ax ≤ b,
(P )
unter AT u = c, u ≥ 0.
(D)
max cT x das duale sei min bT u
Wie schon aus den beiden Lemmata zu Beginn dieses Kapitels ersichtlich, besteht eine Abgrenzung der Zielfunktionswerte, die im primalen und im dualen Problem angenommen werden k¨onnen. Satz 5.9 (Schwacher Dualit¨atssatz) F¨ur alle x mit Ax ≤ b und f¨ur alle u mit AT u = c, u ≥ 0 gilt cT x ≤ bT u . Die Wechselbeziehungen zwischen (P ) und (D) sind aber noch weit intensiver. Satz 5.10 (Dualit¨atssatz) Seien (P ) und (D) wie oben, dann sind 4 Konstellationen m¨oglich: 1.
(P ) und (D) besitzen zul¨assige Punkte. Dann besitzen beide sogar Optimalpunkte, deren Zielfunktionswerte gleich sind.
2.
(P ) ist unzul¨assig, aber (D) ist zul¨assig. Dann besitzt (D) keinen Optimalpunkt, die Zielfunktion ist nach unten unbeschr¨ankt.
3.
(D) ist unzul¨assig, (P ) ist zul¨assig. Dann besitzt (P ) keinen Optimalpunkt, die Zielfunktion ist nach oben unbeschr¨ankt.
4.
(P ) und (D) sind beide unzul¨assig.
5.2 Aufgaben zu dualen Problemen und zum Dualit¨atssatz
111
5.2 Aufgaben zu dualen Problemen und zum Dualit¨atssatz Aufgabe 5.2.1 Widerlegen Sie durch Angabe eines geeigneten Paars zul¨assiger L¨osungen die Behauptung, die folgenden Probleme (P ) und (D) seien zueinander dual. Begr¨unden Sie, warum diese Widerlegung stichhaltig ist. Geben Sie ein Problem an, das wirklich dual zu (P ) ist. max −4x1 unter 2x1 x1 −x1
min unter
u1 2u1 3u1 6u1 −u1 −3u1
−2x3 +6x3 −4x3
2
+3x −x2 +2x2 x2 −x2 +u2 +u2 −u2 −4u2 −u2 +2u2
+u3 −u3 +2u3 −2u
+x5 −3x5 +2x5
4
−x −x4 −2x4
+u4
+u5
+u4
−u5
3
≤ ≤ ≤ ≤ ≤
1 1 1 1 1
= −4 = 0 = −2 = 0 = 1
(P )
(D)
Aufgabe 5.2.2 Betrachten Sie zu dem gegebenen (LP ) max − −
4x1 3x1 x1 2x1 x1
2
− −
2x 4x2
+
x2 x2
− + + − − −
2x3 x3 5x3 2x3 x3 2x3 x3
− − − +
3x4 x4 2x4 x4
,
x4
≤ 0 ≤ −1 ≤ 0 = 2 = 0 ≥ 0
den Punkt (1, 2, 1, 0)T . a)
Ist der obige Punkt der Optimalpunkt?
b)
Geben Sie das direkt duale Problem an.
c)
Wie sieht der duale Optimalpunkt aus? (Nachweis mit Dualit¨atssatz)
d)
Weisen Sie (alternativ ohne den Dualit¨atssatz) nach, dass der von Ihnen unter c) angegebene Punkt tats¨achlich optimal ist, indem Sie eine Absch¨atzung f¨ur die duale Zielfunktion angeben, die Sie aus den straffen Restriktionen entwickeln.
112
I: 5 Dualit¨at
Aufgabe 5.2.3 Beweisen Sie f¨ur ein Optimierungsproblem max unter
cT x aT1 x ≤ b1 ··· ··· ··· aTm x ≤ bm
mit nichtleerem Zul¨assigkeitsbereich X = {x | aT1 x ≤ b1 , . . . , aTm x ≤ bm } unter alleiniger Verwendung des Dualit¨atssatzes a)
den Redundanzsatz: Eine Zusatzrestriktion aTm+1 x ≤ bm+1 ist genau dann redundant bez¨uglich der Restriktionen aT1 x ≤ b1 , . . . , aTm x ≤ bm , wenn sich am+1 als konische Kombination aus a1 , . . . , am schreiben l¨asst und wenn die entsprechende Kombination der b-Komponenten nicht mehr als bm+1 liefert.
b)
Den Polarkegelsatz: Gegeben sei ein Punkt x0 mit aTi x = bi ∀ i ∈ I ⊂ {1, . . . , m} und aTj x0 < bj ∀ j ∈ I. Dann ist x0 genau dann optimal, wenn c ∈ cone(ai | i ∈ I).
Aufgabe 5.2.4 a)
Beweisen Sie den Alternativsatz von Gale allein mithilfe des Dualit¨atssatzes.
b)
Beweisen Sie die inhomogene Version des Lemmas von Farkas allein mithilfe des Dualit¨atssatzes und der Erkenntnis aus a).
5.3 L¨osungen zu dualen Problemen und zum Dualit¨atssatz L¨osung zu 5.2.1 Wirklich dual zu diesem Problem (P ) ist das folgende Problem (Dkorrekt ) min 1u1 + 1u2 + 1u3 + 1u4 + 1u5 2u1 + 1u2 − 1u3 + 0u4 + 0u5 1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
−3u + 2u + 0u + 0u + 0u
5
1
5
3u − 1u + 2u + 1u − 1u 6u − 4u + 0u + 0u + 0u −1u − 1u − 2u + 0u + 0u 2
3
4
u ,u ,u ,u ,u
=
−4
=
0
=
−2
=
0
=
1
≥
0.
Es fehlt also in der Aufgabenformulierung die u ≥ 0 Restriktion und deshalb hat das dort angegebene duale Problem (D) einen erweiterten Zul¨assigkeitsbereich.
5.3 L¨osungen zu dualen Problemen und zum Dualit¨atssatz
113
Es f¨allt auf, dass (P ) den Ursprung als inneren zul¨assigen Punkt enth¨alt. Somit ist der Zielfunktionswert zumindest ≥ 0 (bei cT 0). Man kann sogar in einer Umgebung des Ursprungs einen Punkt ⎛ ⎞ −4 ⎜0⎟ ⎜ ⎟ ⎟ xε = ε · ⎜ ⎜−2⎟ = ε · c, ε > 0 ⎝0⎠ 1 finden, so dass xε noch zul¨assig ist und cT xε = ε · cT c = ε · 21 > 0 gilt. Damit besitzt (P ) positive Zielfunktionswerte. Wenn wir nachweisen k¨onnen, dass Zielfunktionswerte von (D) null werden, dann ist die Nichtdualit¨at von (P ) und (D) offensichtlich (siehe schwacher Dualit¨atssatz). Also errechnen wir einen (hoffentlich) zul¨assigen Punkt von (D) mit u1 + . . . + u5 = 0. Zul¨assige Punkte m¨ussen somit ein Gleichungssystem mit 6 Gleichungen in 5 Variablen erf¨ullen. Wir l¨osen das Gleichungssystem ⎛
1 1 1 1 ⎜ 2 1 −1 0 ⎜ ⎜ 3 −1 2 1 ⎜ ⎜ 6 −4 0 0 ⎜ ⎝−1 −1 −2 0 −3 2 0 0 ⎛ 1 ⎜0 ⎜ ⎜0 → ⎜ ⎜0 ⎜ ⎝0 0
1 0 −1 0 0 0
⎛ ⎞ 1 0 ⎜0 −4⎟ ⎜ ⎟ ⎜ 0⎟ ⎟ → ⎜0 ⎜0 ⎟ −2⎟ ⎜ ⎝0 0⎠ 1 0
⎞ 1 1 1 1 0 4⎟ 1 3 2 2 ⎟ 16⎟ 0 11 6 4 ⎟ 38⎟ 0 24 14 14 ⎟ 0⎠ 0 −1 1 1 0 −12 −7 −7 −19 ⎛ 1 1 1 1 1 ⎜0 1 3 2 2 ⎜ ⎜0 0 0 0 2 → ⎜ ⎜0 0 0 1 1 ⎜ ⎝0 0 1 −1 −1 0 0 0 0 0
1 −1 −4 −10 0 5 ⎛
1 ⎜0 ⎜ ⎜0 → ⎜ ⎜0 ⎜ ⎝0 0 ⎞ 0 4⎟ ⎟ 1⎟ ⎟ ⇒ 1⎟ ⎟ 0⎠ 0
1 1 1 −3 −2 −2 −1 −2 −4 −6 −6 −6 −1 1 1 3 3 3 1 1 0 0 0 0
1 3 0 0 1 0
1 1 2 2 17 15 1 1 −1 −1 0 0
⎞ 0 −4⎟ ⎟ 0⎟ ⎟ −2⎟ ⎟ 0⎠ 1 ⎞ 0 4⎟ ⎟ 16⎟ ⎟ 1⎟ ⎟ 0⎠ 0
⎛
⎞ −1 ⎜−1⎟ ⎜ ⎟ ⎟ u=⎜ ⎜ 11 ⎟ ⎝ ⎠ 2 1 2
L¨osung zu 5.2.2 a)
Straffe Restriktionen im Punkt (1, 2, 1, 0)T : (1), (4), (5), (7) Versuch: Zielfunktion als konische Kombination der straffen Restriktionen darstellen. Dazu verwenden wir die folgenden Restriktionen (negativ erlaubt bei Gleichheitsrestriktionen): (1), (4), (−4), (5), (−5), (7)
114
I: 5 Dualit¨at
bzw. ⎞ ⎛ ⎞⎛ ⎞ 4 3 1 0 0 λ1 ⎜ 0 ⎟ ⎜−2 1 ⎟ ⎜λ4 ⎟ 1 0 ⎜ ⎟=⎜ ⎟⎜ ⎟ ⎝−2⎠ ⎝ 1 −1 −2 0 ⎠ ⎝λ5 ⎠ λ7 −3 −1 0 0 −1 ⎛
⎛ ⎞ 3 1 0 3 1 0 0 4 ⎜− 3 1 0 ⎜−2 ⎟ 1 1 0 0 ⎜ ⎜ ⎟ ⎜ ⎟ −→ ⎜ 12 12 ⎝ 1 −1 −2 ⎝− 2 2 1 0 −2⎠ −1 0 0 −1 −3 1 0 0 ⎛ ⎞ 0 2 0 0 2 ⎜−3 1 0 0 −2⎟ ⎟ −→ ⎜ ⎝ 1 0 1 0 2⎠ 3 1 0 0 1 ⇒ λ4 = 1, −3λ1 + 1 = −2 ⇒ λ1 = 1 2 ⇒ λ5 = 1 1 + λ5 = 3 ⇒ λ7 = 2 1 + λ7 = ⇒ (1, 2, 1, 0)T ist Optimalpunkt ⎛
mit λ1 , λ7 ≥ 0, λ4 , λ5 beliebig
0 0 0 1
⎫ ⎬ ⎭
⎞ 4 −1⎟ ⎟ ⎟ −→ 1⎠ 3
⇒ erf¨ullt λ1 , λ7 ≥ 0
Also: c = 1a1 + 1a4 + 1a5 + 2a7 b)
Das direkt duale Problem ist min − −
0u1 3u1 2u1 1u1 1u1
− − − + −
1u2 1u2 4u2 5u2 2u2
+ − + − +
0u3 2u3 0u3 2u3 1u3
+ + + − +
2v1 1v1 1v1 1v1 0v1
+ + + − +
0v2 0v2 1v2 2v2 v2 u
= = ≥ ≥ ≥
4 0 −2 −3 0
(D1 ) (D2 ) (D3 ) (D4 )
c)
nach a): (1, 0, 0, 1, 1)T = (uT , v T ) zul¨assig mit Zielfunktionswert 2, primaler Zielfunktionswert = 2 ⇒ dualer Optimalpunkt
d)
Betrachte folgende Kombination der dualen Restriktionen: ((1, 2, 1, 0)T primal optimal) 1 · (D1 ) + 2 · (D2 ) + 1 · (D3 ) + 0 · (D4 )
(D)
⇒ (3 − 4 + 1)u1 + (−1 − 8 + 5)u2 + (−2 + 0 − 2)u3 + + (1 + 2 − 1)v1 + (0 + 2 − 2)v2 ≥ 4 + 0 − 2 = 2 ⇒ 0u1 − 4u2 − 4u3 + 2v1 + 0v2 ≥ 2 wegen −u2 + 2v1 ≥ −4u2 − 4u3 + 2v1 ≥ 2 gilt auch −u2 + 2v1 ≥ 2 f¨ur alle dual zul¨assigen Punkte. Dieser Wert wird gerade von (u, v) realisiert.
5.3 L¨osungen zu dualen Problemen und zum Dualit¨atssatz
115
L¨osung zu 5.2.3 Dualit¨atssatz: (P ) und (D) seien zwei duale Probleme. Dann gibt es folgende M¨oglichkeiten: 1.
Beide Probleme (primal und dual) haben Optimalpunkte
2.
(D) unbeschr¨ankt, (P ) leer
3.
(P ) unbeschr¨ankt, (D) leer
4.
Beide Probleme sind unzul¨assig
a)
aTm+1 x ≤ bm+1 ist auf Redundanz zu u¨ berpr¨ufen. Folgende Alternativen sind m¨oglich: I aTm+1 x ≤ bm+1 ist redundant. II aTm+1 x ≤ bm+1 ist nicht redundant. I ⇐⇒ x mit Ax ≤ b ∧ aTm+1 x > bm+1 II ⇐⇒ ∃x mit Ax ≤ b ∧ aTm+1 x > bm+1 Betrachte die Probleme max aTm+1 x unter Ax ≤ b
(P )
((P ) ist nach Voraussetzung zul¨assig) und min bT u unter AT u = aTm+1 , u ≥ 0.
(D)
I bedeutet: (P ) hat Optimalpunkt x∗ , aTm+1 x∗ ≤ bm+1 ⇒ (D) hat Minimalwert ≤ bm+1 nach Dualit¨atssatz, Teil 1 ⇒ ∃u mit AT u = aTm+1 , bT u ≤ bm+1 , u ≥ 0. I impliziert also Redundanz. Umgekehrt bedeutet II, dass (P ) optimal gel¨ost werden kann, mit einem Optimalwert gr¨oßer als bm+1 oder dass seine Zielfunktion aTm+1 x unbeschr¨ankt groß wird. Im ersten Fall gibt es u mit AT u = aTm+1 , bT u > bm+1 , u ≥ 0, aber kein solches mit bT u < bm+1 . Und im zweiten Fall ist es unm¨oglich, am+1 aus den Zeilen von A konisch zu erzeugen. Also fehlt in beiden F¨allen die M¨oglichkeit, beide formulierten Bedingungen zu erf¨ullen. Also impliziert II die Nichtredundanz. b)
Auf P (A, b) ist ein Randpunkt x0 mit AI (x0 ) = bI auf Optimalit¨at zu pr¨ufen. I: ∀x ∈ P (A, b) gilt II: ∃x ∈ P (A, b) mit
cT x ≤ cT x0 cT x > cT x0
I ⇐⇒ z mit AI z ≤ 0, cT z > 0 ⇐⇒ ∀z mit AI z ≤ 0 gilt cT z ≤ 0 das heißt max cT z unter AI z ≤ 0 ist 0, da 0 zul¨assig ist.
116
I: 5 Dualit¨at
Aus dem Dualit¨atssatz folgt: Das Dualproblem dazu hat den Optimalwert 0. Das Dualproblem ist aber min 0T w unter ATI w = c und w ≥ 0 ¨ Ubrig bleibt die Frage: Ist dieses Problem zul¨assig? Die Zielfunktion ist belanglos, da sie u¨ berall 0 ist. I ⇐⇒ ∃w ≥ 0 mit ATI w = c. II ⇐⇒ ∃z mit AI z ≤ 0, cT z > 0, das heißt max cT z unter AII z ≤ 0 ist unbeschr¨ankt ⇐⇒ ATI w = c ist nicht erf¨ullbar.
L¨osung zu 5.2.4 a)
Gale: ∃ x mit Ax ≤ c ∃ y mit AT y = 0, cT y < 0, y ≥ 0
(I) (II)
Wir stellen zwei zueinander duale Optimierungsprobleme auf (P ) (D)
max 0T x unter Ax ≤ c min cT y unter AT y = 0, y ≥ 0.
Nach dem Dualit¨atssatz gibt es 4 F¨alle: (i)
(P ) und (D) zul¨assig, Optimalwerte gleich
(ii) (P ) unbeschr¨ankt, (D) unzul¨assig (iii) (P ) unzul¨assig, (D) unbeschr¨ankt (iv) (P ) und (D) unzul¨assig Bei (i) w¨are der Maximalwert von (P ) gleich null , (I) w¨are erf¨ullt; und der Minimalwert des zul¨assigen Problems (D) w¨are auch null . Dann ist aber cT y < 0 ausgeschlossen. ⇒ (II) ist nicht erf¨ullt. (ii) kann nicht gelten, da 0T x nicht unbeschr¨ankt wachsen kann. Bei (iii) ist (P ) unzul¨assig und (I) ist nicht erf¨ullt. Es gibt im zul¨assigen (D) beliebig negative Zielfunktionswerte, also ist (II) wahr. Fall (iv) kann nicht vorkommen, weil mit y = 0 (D) immer einen zul¨assigen Punkt hat. Also gilt (I) ⇒ ¬(II) und ¬(I) ⇒ (II). b)
Inhomogenes Farkas-Lemma: (I) (IIa) (IIb)
bT x > β, Ax ≤ c
AT y = b, cT y ≤ β, y ≥ 0 oder
AT y = 0, cT y < 0, y ≥ 0
(IIb) ist nach a) (Gale) eine Alternative zu ∃ x mit Ax ≤ c.
5.4 S¨atze vom komplement¨aren Schlupf
117
¬(I) l¨asst sich zerlegen in
( x mit Ax ≤ c) ∨ (∃ x mit Ax ≤ c) ∧ ∀ x mit Ax ≤ c ist bT x ≤ β . Wir wollen nun zeigen, dass aus ¬(I) gleich (II) folgt. Wenn ( x mit Ax ≤ c) wahr ist, dann ist (IIb) erf¨ullt nach a) (Gale). Wenn
(∃ x mit Ax ≤ c) ∧ ∀ x mit Ax ≤ c ist bT x ≤ β
(5.1)
erf¨ullt ist, dann w¨are zu zeigen, dass nun (IIa) gilt. Dazu betrachen wir ein duales Paar von LP’s: max bT x unter Ax ≤ c
(P )
min c y unter A y = b, y ≥ 0.
(D)
T
T
Wenn (5.1) gilt, dann ist (P ) zul¨assig, aber bT x ≤ β. Nach dem Dualit¨atssatz scheiden unter der Bedingung (5.1) die F¨alle 2 und 4 aus, weil (P ) zul¨assig ist. Im 3. Fall w¨are (P ) nach oben unbeschr¨ankt und dies ist hier durch (5.1) verboten. Es bleibt also nur der 1. Fall (beide haben Optimalpunkte). Wegen (5.1) ist aber der Maximalwert von (P ) ≤ β, also ist der (existierende) Minimalwert von (D) ≤ β. Deshalb gibt es y mit AT y = b, y ≥ 0 und cT y ≤ β. ⇒ II ist erf¨ullt.
5.4 S¨atze vom komplement¨aren Schlupf Bisher haben wir nur Paare von linearen Optimierungsaufgaben zueinander in Beziehung gesetzt. Nun l¨asst sich die Dualit¨atstheorie aber auch dazu verwenden, um Eigenschaften von Optimalpunkten zu beschreiben und diese Punkte zu charakterisieren. O. B. d. A. beschr¨anken wir uns auf die einfachen Probleme (P ) und (D). Satz 5.11 (Satz vom schwachen komplement¨aren Schlupf) Gegeben seien die beiden zueinander dualen Programme min bT u max cT x (P ) und unter Ax ≤ b unter AT u = c, u ≥ 0.
(D)
x ˜ und u ˜ seien zul¨assige Vektoren f¨ur P und D. Dann sind folgende Aussagen a¨ quivalent: (a)
x ˜ ist optimal f¨ur P und u ˜ ist optimal f¨ur D.
(b)
u ˜T (b − A˜ x) = 0 .
(c)
F¨ur alle Komponenten u ˜i gilt: Aus u ˜i > 0 folgt aTi x ˜ = bi .
(d)
F¨ur alle Zeilenindizes i von A gilt: Aus aTi x ˜ < bi folgt u ˜i = 0 .
118
I: 5 Dualit¨at
Satz 5.12 (Satz vom starken komplement¨aren Schlupf) Besitzen die Programme min bT u max cT x (P ) und unter Ax ≤ b unter AT u = c, u ≥ 0.
(D)
beide zul¨assige L¨osungen, dann existieren Optimalpunkte x ˜ und u ˜ , so dass f¨ur dieses Paar (˜ x, u ˜) gilt: ˜ = bi und u ˜i > 0 ⇔ aTi x aTi x ˜ < bi ⇔ u˜i = 0.
Diese beiden S¨atze lassen sich analog auf entsprechende S¨atze u¨ ber allgemeine duale Programme ausweiten.
5.5 Aufgaben zu den S¨atzen vom komplement¨aren Schlupf Aufgabe 5.5.1 Seien
⎛
1 ⎜5 ⎜ ⎜4 A=⎜ ⎜0 ⎜ ⎝−2 2
⎛ ⎞ ⎛ ⎞ ⎞ 4 1 −4 0 3 1 1 ⎜1⎟ ⎜4⎟ 1 3 0 −5 3 ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ ⎜ ⎟ ⎜ ⎟ −3 5 3 −4 1 ⎟ ⎟ , b = ⎜4⎟ , c = ⎜ 5 ⎟ . ⎜3⎟ ⎟ ⎜ ⎟ 0 −1 2 1 −5⎟ ⎜ ⎟ ⎜5⎟ ⎝−5⎠ ⎠ ⎝ ⎠ 7 1 1 1 2 2 8 5 2 −3 −1 4 5
Ist f¨ur das Problem max cT x, Ax ≤ b, x ≥ 0
T durch x = 0, 52 , 0, 72 , 0, 12 eine Optimall¨osung gegeben? (Verwenden Sie dabei den allgemeinen Satz vom schwachen komplement¨aren Schlupf)
Aufgabe 5.5.2 F¨ur die Finanzierung eines Großprojekts u¨ ber die 5 Jahre (2003, 2004, 2005, 2006, 2007) besteht in den Jahren (2002 + i) ein Finanzbedarf vom bi (i = 1, . . . , 5), jeweils abzurufen am 01.01.(2002 + i). Deshalb sollen an den jeweiligen Jahresanf¨angen Anleihen in H¨ohe von yi aufgenommen werden. All diese Anleihen sind am 31.12.2008 jeweils zu einem Kurs von ri zur¨uckzuzahlen (Der R¨uckzahlungsbetrag f¨ur die Anleihe am 01.01.(2002+i) in H¨ohe von yi ist also ri ·yi am 31.12.2008). ¨ Eventuelle Ubersch¨ usse aus den bisherigen Einnahmen aus Anleihen gegen¨uber dem Finanzbedarf k¨onnen zu einem Jahreszinssatz von 1,07 (also 7 %) angelegt werden, bis sie ben¨otigt ¨ ¨ werden. Diese Ubersch¨ usse werden mit xi (i = 1, . . . , 5) bezeichnet. Uber die Variation der yi sollen nun die Nettokosten der R¨uckzahlung am 31.12.2008 minimiert werden.
5.5 Aufgaben zu den S¨atzen vom komplement¨aren Schlupf
119
Es ergibt sich folgende Modellierung: min
5
2
ri yi − x5 · (1,07)
i=1
unter y1 − x1 = b1 y2 − x2 + 1,07x1 = b2 y3 − x3 + 1,07x2 = b3 y4 − x4 + 1,07x3 = b4 y5 − x5 + 1,07x4 = b5 Untersuchen Sie, wie die R¨uckzahlungskurse ri beschaffen sein m¨ussen, damit das Minimierungsproblem beschr¨ankt bleibt. Hinweis: Beachten Sie das duale Problem.
Aufgabe 5.5.3 Betrachten Sie die beiden Optimierungsprobleme max unter
x2 −x2 x2 1 −x + x2 x1 + x2
≤ ≤ ≤ ≤
0 1 2 2
max unter (P1 )
x2 −x2 x2 1 −x + 2x2 x1 + 2x2
≤ ≤ ≤ ≤
0 1 2 2.
(P2 )
a)
Stellen Sie zu beiden Problemen die Dualprobleme (D1 ), (D2 ) auf.
b)
Bestimmen Sie zu (P1 ), (P2 ), (D1 ), (D2 ) die Optimalmengen X 1 , X 2 , Y 1 , Y 2 .
c)
Welche Punktepaare aus X 1 × Y 1 und welche aus X 2 × Y 2 erf¨ullen die Bedingungen aus dem Satz vom starken komplement¨aren Schlupf? Und welche Paare haben die dort beschriebene Eigenschaft nicht?
Aufgabe 5.5.4 Betrachten Sie das folgende (LP ) max cT x unter Ax ≤ b. Dabei ist ⎛ −3 ⎜2 ⎜ ⎜2 ⎜ A=⎜ ⎜5 ⎜3 ⎜ ⎝3 −1 a)
⎞ 2 0 0 1⎟ ⎟ 2 0⎟ ⎟ −1 −1⎟ ⎟, 0 −2⎟ ⎟ −2 1 ⎠ −4 −2
Formulieren Sie das duale Problem.
⎞ 1 ⎜8⎟ ⎜ ⎟ ⎜6⎟ ⎜ ⎟ ⎟ b=⎜ ⎜16⎟ , ⎜12⎟ ⎜ ⎟ ⎝8⎠ 4 ⎛
⎛
⎞ 7 c = ⎝−3⎠ 2
120
b)
c)
I: 5 Dualit¨at
⎛ ⎞ 2 Zeigen Sie mit dem Satz vom komplement¨aren Schlupf, dass x = ⎝1⎠ eine Optimalecke 4 ist, und bestimmen Sie einen dualen Optimalpunkt.
vom starken kompleBestimmen Sie eine primale und duale Optimall¨osung, die den Satz ⎛ ⎞ 3 ment¨aren Schlupf erf¨ullen. Beachten Sie die Rolle des Punktes x = ⎝ 0 ⎠. −1
5.6 L¨osungen zu den S¨atzen vom komplement¨aren Schlupf L¨osung zu 5.5.1 Der allgemeine Satz vom schwachen komplement¨aren Schlupf besagt in der vorliegenden Situation Folgendes: Ist x optimal f¨ur (P ) max cT x unter Ax ≤ b, x ≥ 0, dann gibt es einen Optimalpunkt u von min bT u unter AT u ≥ c, u ≥ 0,
(D)
⇒ ⇒
(Ax)i = bi (AT u)j = cj .
T Betrachte nun das spezielle x = 0, 25 , 0, 72 , 0, 12 . Wenn dies optimal sein soll, dann m¨usste wegen x2 > 0, x4 > 0, x6 > 0 f¨ur ein u ∈ R6
mit
(1) (2)
ui > 0 xj > 0
(AT u)j = cj
∀ j = 2, 4, 6
gelten. Das bedeutet −4u1 + 1u2 − 3u3 + 0u4 + 1u5 + 2u6 1
2
3
4
5
6
1
2
3
4
5
6
3u + 0u + 3u + 2u + 1u − 1u 1u + 3u + 1u − 5u + 2u + 5u
=
1
(j = 2)
=
3
(j = 4)
=
8
(j = 6).
Wir stellen nun außerdem fest, dass ⎛
−10 + 21 2 + ⎜ 5 +3 ⎜ ⎜ 15 2 212 ⎜− 2 + 2 + Ax = ⎜ ⎜ 7− 5 ⎜ ⎜ 5 72 ⎝ 2 + 2 +1 5 − 72 + 52
⎛ ⎞ 1 ⎟ ⎜4⎟ ⎟ ⎜ ⎟ ⎜ ⎟ 1⎟ ⎟ ⎜ 72 ⎟ 2⎟ ⎜ ⎟ ⎟ = ⎜9⎟ . ⎟ ⎜2⎟ ⎟ ⎜ ⎟ ⎠ ⎝7⎠ 4
1 2
⎞
5.6 L¨osungen zu den S¨atzen vom komplement¨aren Schlupf
121
F¨ur i = 3, 4, 6 gilt also (Ax)i < bi und deshalb muss u3 = u4 = u6 = 0 sein. Nun reduziert sich das Gleichungssystem des dualen Problems auf −4u1 + 1u2 + 1u5 1
2
5
1
2
5
3u + 0u + 1u 1u + 3u + 2u
= 1 = 3 = 8,
sowie u3 = u4 = u6 = 0 und u1 ≥ 0, u2 ≥ 0, u5 ≥ 0. L¨osung des Gleichungssystems: 1u1 + 3u2 + 2u5 = 8 1u1 + 3u2 + 2u5 = 8 −4u1 + 1u2 + 1u5 = 1 3u1 + 0u2 + 1u5 = 3 → 0u1 + 9u5 + 5u5 = 21 → 0u1 + 9u2 + 5u5 = 21 1u1 + 3u2 + 2u5 = 8 0u1 + 3u2 + 7u5 = 15 0u1 + 0u2 + 2u5 = 3 ⇒u= F¨ur dieses u gilt
3 1 3 , , 0, 0, , 0 2 2 2
T
≥0
T
AT u = (5, 1, 6, 3, −4, 8) ≥ c
und somit ist u zul¨assig f¨ur (D). Mit dem Satz vom schwachen komplement¨aren Schlupf folgt nun, dass x optimal f¨ur (P ) und u optimal f¨ur (D) sein muss. Der Zielfunktionswert f¨ur die primale und duale Optimall¨osung ist cT x = 17 = bT u.
L¨osung zu 5.5.2 Das duale Programm ist max unter
b1 z 1 + b2 z 2 + b2 z 3 + b4 z 4 + b5 z 5 z 1 ≤ r1 z 2 ≤ r2 z 3 ≤ r3 z 4 ≤ r4 z 5 ≤ r5 1 −z + 1,07z 2 ≤ 0 −z 2 + 1,07z 3 ≤ 0 −z 3 + 1,07z 4 ≤ 0 −z 4 + 1,07z 5 ≤ 0 −z 5 ≤ −1,072
(D)
Das primale Problem ist beschr¨ankt, falls das duale Problem zul¨assige Punkte besitzt. Hier ist klar, dass das primale Problem zul¨assig ist (z. B. nimm zu jedem Zeitpunkt den exakten Bedarf auf).
122
I: 5 Dualit¨at
F¨ur (D) gilt (setze nacheinander ein) r5 r4 r3 r2 r1
≥ ≥ ≥ ≥ ≥
z5 z4 z3 z2 z1
≥ ≥ ≥ ≥ ≥
1,072 1,07z 5 1,07z 4 1,07z 3 1,07z 2
≥ ≥ ≥ ≥
1,073 1,074 1,075 1,076 .
(D) hat also genau dann zul¨assige Punkte, wenn ri ≥ (1,07)7−i
∀ i = 1, . . . , 5.
Und Zul¨assigkeit von (D) bedeutet, dass (P ) nicht unbeschr¨ankt wird. (In dem Moment, wo zu irgendeinem Jahresanfang die Verzinsung mit 1,07 gegen¨uber der R¨uckzahlungspflicht mir ri ¨ einen Uberschuss ergibt, m¨usste man eine unbeschr¨ankte Anleihe aufnehmen.)
L¨osung zu 5.5.3 a) min unter und
min unter und
b)
0y 1 + y 2 + 2y 3 + 2y 4 y1, y2, y3, y4 ⎛ 1⎞ y2 ⎟ 0 0 −1 +1 ⎜ ⎜y ⎟ 3⎠ ⎝ y −1 +1 +1 +1 y4 0y 1 + y 2 + 2y 3 + 2y 4 y1, y2, y3, y4 ⎛ 1⎞ y2 ⎟ 0 0 −1 +1 ⎜ ⎜y ⎟ −1 +1 +2 +2 ⎝y 3 ⎠ y4
≥ 0 =
0 1
≥ 0 0 = 1
2 −2 1 −1 , , , 0 0 1 1 0 2 −2 , , (P2 ) : X2 = conv 1 0 0 α α ∈ [−1, 1] (P1 ) : Optimalmenge X 1 = 1 0 (P2 ) : Optimalmenge X 2 = 1 (P1 ) :
(D1 )
X1 = conv
Ermittlung von Y1 : y ≥ 0 ∧ y 3 = y 4 ∧ −y 1 + y 2 + y 3 + y 4 = 1 Setze β = y 3 = y 4 ≥ 0 und γ = y 2 ≥ 0. Daraus folgt 0 ≤ y 1 = γ + 2β − 1
(D2 )
5.6 L¨osungen zu den S¨atzen vom komplement¨aren Schlupf
123
⎛ ⎞ γ + 2β − 1 ⎜ ⎟ γ ⎟ (alles ≥ 0) =⇒ Y1 = ⎜ ⎝ ⎠ β β Ermittlung von Y2 : y ≥ 0 ∧ y 3 = y 4 ∧ −y 1 + y 2 + 2y 3 + 2y 4 = 1 Setze β = y 3 = y 4 ≥ 0 und γ = y 2 ≥ 0 ⇒ 0 ≤ y 1 = γ + 4β − 1 ⎛ ⎞ γ + 4β − 1 ⎜ ⎟ γ ⎟ (alles ≥ 0) =⇒ Y2 = ⎜ ⎝ ⎠ β β Bestimmung der Optimalmenge Y 1 : min γ + 2β + 2β unter γ, β ≥ 0 und γ + 2β − 1 ≥ 0, ⇒ (γ + 2β) + 2β ≥ 1 + 2β ≥ 1 Wir k¨onnen nur minimal bei γ + 2β = 1 ∧ β = 0, das ⎛ sein ⎞ ⎛ heißt ⎞ γ = 1, β = 0. 0 0 ⎜1 − 2β ⎟ ⎜1 ⎟ ⎜ ⎟ ⎟ Die Punktmenge ist ⎜ ⎝ β ⎠ mit β = 0, γ = 1, also ⎝0⎠ entspricht Y 1 . β 0 Bestimmung der Optimalmenge Y 2 : min γ + 2β + 2β = γ + 4β unter γ, β ≥ und γ + 4β − 1 ≥
0 0,
⇒ γ + 4β ≥ 1
Also kommen wir allenfalls auf γ + 4β = 1. Die Unterschranke ist annehmbar. 1 ⇒ γ = 1 − 4β, β ∈ 0, 4 ⎛
⎞ 0 ⎜1 − 4β ⎟ 1 ⎟ Die Punktmenge ⎜ ⎝ β ⎠ mit β ∈ [0, 4 ] entspricht Y 2 . β
c)
⎛ ⎞ ⎧ 0 T 1 ⎪ ⎨ a1 x < b ⎜1⎟ T 3 ⎟ X 1 × Y 1 : Wegen Y 1 = ⎜ ⎝0⎠ sind nur diejenigen X 1 - Elemente mit ⎪a3 x < b ⎩ T a 4 x < b4 0 kompatibel zum Satz vom starken komplement¨aren Schlupf. F¨ur a1 ist dies banal, aber es bedeutet auch, dass −x1 + x2 < 2bzw.x1 + x2 < 2 sein m¨ussen. −1 1 Deshalb kommen die Randpunkte und von X 1 nicht infrage. 1 1
124
I: 5 Dualit¨at
⎛ ⎞ 0 ⎜1 ⎟ α ⎟ Alle anderen, n¨amlich α ∈ (−1, 1) passen zu ⎜ ⎝0⎠. 1 0 0 X2 × Y 2 : X2 = , wir brauchen deshalb in Y 2 : 1 ⎧ ⎪ 0 ⎪ ⎪ aT1 < b1 ⎪ ⎪ ⎪ 1 ⎪ ⎪ ⎪ ⎪ ⎪ 0 ⎪ T 2 ⎪ ⎪ ⎨ a2 1 = b = 1 y 2 , y 3 , y 4 > 0 und ⎪ 0 ⎪ T ⎪ a3 = b3 = 2 ⎪ ⎪ ⎪ 1 ⎪ ⎪ ⎪ ⎪ ⎪ 0 ⎪ T 4 ⎪ ⎪ ⎩ a4 1 = b = 2 ⎧ ⎫ ⎛ ⎞ 0 ⎪ ⎪ ⎪ ⎪ ⎨ ⎬ ⎜1 − 4β ⎟ 1 ⎟ β ∈ (0, ) . Dies leistet in der Y 2 - Optimalmenge nur der Bereich y = ⎜ 4 ⎪ ⎝ β ⎠ ⎪ ⎪ ⎪ ⎩ ⎭ β ⎛ ⎞ ⎛ ⎞ 0 0 ⎜0⎟ ⎜1⎟ ⎜ ⎟ ⎟ Zu ⎜ ⎝ 1 ⎠ bzw. zu ⎝0⎠ gibt es in X 2 keine geeigneten Partner. 4 1 0 4
L¨osung zu 5.5.4 a)
Das duale Problem lautet: min ⎛ (1, 8, 6, 16, 12, 8, 4)u ⎞ ⎛ ⎞ −3 2 2 5 3 3 −1 7 unter ⎝ 2 0 2 −1 0 −2 −4⎠ u = ⎝−3⎠ , 0 1 0 −1 −2 1 −2 2
b)
u≥0
⎛ ⎞ 2 straffe/lockere Restriktionen bei x = ⎝1⎠: 4 ⎛
⎞ −4 ⎜ 8 ⎟ ⎜ ⎟ ⎜ 6 ⎟ ⎜ ⎟ ⎟ Ax = ⎜ ⎜ 5 ⎟ ⎜ −2 ⎟ ⎜ ⎟ ⎝ 8 ⎠ −14
locker straff straff locker ⇒ u1 = u4 = u5 = u7 = 0 (wegen kompl. Schlupf) locker straff locker
5.6 L¨osungen zu den S¨atzen vom komplement¨aren Schlupf
⎛
2 2 ⎝0 2 1 0
c)
3 −2 1
⎞ ⎛ 7 1 0 −3⎠ → ⎝0 1 2 0 2
125
⎛ 1 − 32 ⎠ → ⎝0 3 0 1 → u6 = 2, u3 = , u2 = 0 2 1 −1 1
2
⎞
0 1 1 −1 0 3
⎞ 2 − 23 ⎠ 6
dualer Optimalpunkt: (0, 0, 12 , 0, 0, 2, 0)T = u ⎛ ⎞ 2 x = ⎝1⎠ und u erf¨ullen nicht den Satz vom starken komplement¨aren Schlupf, denn die 4 ˜ = (3, 0, −1)T ? zweite Restriktion u2 = 0 ist straff. Was ist mit x →x ˜ ist zul¨assig: ⎛ ⎞ locker −9 ⎜ 5 ⎟ locker ⎜ ⎟ ⎜ 6 ⎟ straff ⎜ ⎟ ⎟ A˜ x=⎜ ⎜ 16 ⎟ straff ⎜ 11 ⎟ locker ⎜ ⎟ ⎝ 8 ⎠ straff locker −1 → cT x ˜ = 19 = cT x ⇒ x˜ optimal → x˜ erf¨ullt nicht mit u den Satz vom starken komplement¨aren Schlupf x, λ ∈ (0, 1). Betrachte λx + (1 − λ)˜ → ebenfalls optimal → nur 3. und 6. Restriktion straff, alle anderen locker x erf¨ullt mit u den Satz vom starken komplement¨aren Schlupf. ⇒ λx + (1 − λ)˜
Kapitel 6
Simplex-Algorithmus Als L¨osungsverfahren f¨ur lineare Optimierungsprobleme setzen wir das Simplexverfahren ein. Dieses Verfahren nutzt im Wesentlichen die Tatsache aus, dass bei Problemen mit Zul¨assigkeitsbereichen, die Ecken besitzen, in Optimalmengen stets Ecken vorkommen. Die Komplikation anderer Probleme (ohne Ecken) kann man durch geringf¨ugige Modifikation dieser Probleme und durch Schaffung k¨unstlicher Ecken so gestalten, dass diese Voraussetzung immer erf¨ullt ist und dass man die wesentlichen L¨osungsinformationen auch unter dieser Modifikation noch erh¨alt. Dies erlaubt, dass man sich auf die Untersuchung der Eckenmenge zur¨uckzieht. Ziel ist es dann, in der Eckenmenge m¨oglichst schnell zu der besten Ecke oder zu einer Abbruchecke (das ist eine Ecke, bei der die Abbruchsberechtigung offenbar wird) vorzudringen. Dies geschieht im Simplexverfahren regelm¨aßig durch Eckenaustauschschritte. Dabei wird jeweils eine Ecke durch eine benachbarte Ecke ersetzt. Nachbarschaft dr¨uckt sich geometrisch so aus, dass zwischen beiden Ecken eine Kante des Zul¨assigkeitspolyeders verl¨auft. Arithmetisch l¨asst sich dies durch geeignete Basiswechsel realisieren. Sei dies der Wechsel von einer Zeilenauswahlmenge von sogenannten straffen Restriktionen zu einer anderen in einer Matrix A durch Austausch einer Zeile in Problemstellungen mit X = {x | Ax ≤ b}. Oder sei dies spiegelbildlich die analoge Behandlung von Spalten einer Basis des Spaltenraumes von A und Spaltenaustauschen bei Problemen mit X = {x | Ax = b, x ≥ 0}. Wir werden f¨ur jede der beiden Beschreibungsarten spezifisch angepasste Berechnungsalgorithmen angeben und (f¨ur die Handrechnung geeignete) Rechenschemata entwickeln.
6.1 Restriktionsorientierter Simplex-Algorithmus In diesem Abschnitt wollen wir uns mit einer L¨osungsmethode f¨ur das kanonische Problem max cT x unter Ax ≤ b befassen. Diese Methode (restriktionsorientierter Simplexalgorithmus oder oft dualer Simplexalgorithmus genannt) benutzt Eckenaustauschschritte im zugelassenen und untersuchten Polyeder, bis die angestrebte Ecke oder die Abbruchoption erreicht sind. Dabei kommt es der Arithmetik zugute, dass nach Ergebnissen aus der Polyedertheorie nur solche Punkte Ecken sein k¨onnen,
128
I: 6 Simplex-Algorithmus
bei denen n (dies ist die Dimension des jeweiligen Raumes) Restriktionen straff sind, wobei die Matrix aus diesen n Restriktionsvektoren vollen Rang besitzen muss. Der erste Abschnitt befasst sich dann mit der Frage, wie man von einer bereits vorliegenden Ecke u¨ ber Eckenaustauschschritte zur Optimalecke oder zu einer Ecke, die das Abbrechen erlaubt, gelangt. Neben dieser geometrischen Sicht der Dinge kann dieser Prozess arithmetisch in einem Tableauverfahren berechnet werden. Insbesondere steht dabei zur Debatte, welche M¨oglichkeiten man zur Ausf¨uhrung der einzelnen Eckenaustauschschritte hat und wie die Endlichkeit des Prozesses sichergestellt werden kann. Im zweiten Abschnitt wird dann erl¨autert, wie man u¨ berhaupt die Prozedur in Gang bringen kann, das heißt was zu tun ist, um zu einer Ausgangsecke des Problems zu gelangen. Dies gelingt, indem man zun¨achst tableaum¨aßig ein verwandtes, aber leicht modifiziertes Startproblem bearbeitet. Im Erfolgsfall gelangt man dadurch zu einer Ecke des Originalproblems, im Misserfolgsfall erweist sich dabei, dass es gar keine zul¨assigen Punkte im Originalproblem gibt. Verbesserungsalgorithmus und Tableaumethode Wir besch¨aftigen uns hier mit der Problemart max cT x
unter
Ax ≤ b , A ∈ R(m,n) , b ∈ Rm , c ∈ Rn , m ≥ n
Dies soll mit dem restriktionsorientierten Verfahren gel¨ost werden. Zum Einstieg wollen wir unterstellen, dass bereits eine Ecke x von {x | Ax ≤ 0} = P (A, b) bekannt ist. Damit kennen wir auch die Indexmenge I zu den bei x straffen Restriktionen. Und bekannt sei außerdem eine Teilauswahl Δ ⊂ I mit #(Δ) = n, so dass AΔ eine (n × n)-Matrix vom Rang n ist. Wegen Lemma 6.1 garantiert dies die Eckeneigenschaft.
Lemma 6.1 x sei ein Punkt von P (A, b). AI(x) sei die Teilmatrix zu den bei x straffen Restriktionen, wobei I(x) ⊂ {1, . . . , m} ist. AI(x) hat Rang n genau dann, wenn x eine Ecke ist.
AΔ setzt sich zusammen aus den Zeilenvektoren aTΔ1 , . . . , aTΔn , die zusammen eine Basis von Rn bilden. Dabei ist Δ = {Δ1 , . . . , Δn } ⊂ {1, . . . , m} und Δi = Δj f¨ur alle ⎛ i1= ⎞j. αi ⎜ .. ⎟ −1 T AΔ ist regul¨ar, folglich existiert A−1 Δ . Wir bezeichnen nun (AΔ ) ai = ⎝ . ⎠ als den Darαi n stellungsvektor f¨ur ai durch die Basis aΔ1 , . . . , aΔn . Damit ist gemeint, dass ai =
n j=1
αji aΔj .
6.1 Restriktionsorientierter Simplex-Algorithmus
129
Entsprechend l¨asst sich c darstellen als ⎛
c=
n
ξ j aΔ j
j−1
⎞ ξ1 ⎜ ⎟ T und hier ist ⎝ ... ⎠ = (A−1 Δ ) c ξn
der entsprechende Darstellungsvektor. Der Punkt x besitzt die Eigenschaft, dass ai T x = bi f¨ur alle i ∈ I = I(x) (das sind die Indizes zu den straffen Restriktionen bei x) gilt. Da Δ ⊂ I, ur die gilt dann ebenso ai T x = bi ∀i ∈ Δ. Dies impliziert aber x = A−1 Δ bΔ . Entscheidend f¨ Zul¨assigkeit eines Punktes x sind die Werte der Skalarprodukte ai T x (i = 1, . . . , m). Hier / I. Interpretiert wird von einer Ecke x verlangt, dass aTi x = bi ∀i ∈ I und aTi x < bi ∀i ∈ man β i als den Schlupf“ der i-ten Restriktion bei x, dann gilt aTi x + β i = bi ∀i = 1, . . . , n. ” Und in Gesamtheit hat man β = b − Ax. F¨ur den Zielfunktionswert bei x hat man damit cT x =
n j=1
ξ j aTΔj x =
n j=1
j
j
ξ bΔ = cT A−1 Δ bΔ .
Wir haben also alle aktuellen Gr¨oßen mit Hilfe der Ausgangsdaten, der erreichten Ecke x¯ , der onnen. Basis aΔ1 , . . . , aΔn und der Matrix A−1 Δ darstellen k¨ Das n¨achste Lemma zeigt, welche Rolle die von x ausgehenden Kanten bzw. freien Richtungen spielen.
Lemma 6.2 x sei eine Ecke von X = P (A, b), I := I(x) die zugeh¨orige Indexmenge der straffen Restriktionen, Δ ⊂ I eine zu x geh¨orige Basisindexmenge. Dann gilt: 1.
−1 X = P (A, b) ⊂ x + cone(A−1 Δ (−e1 ), . . . , AΔ (−en )) =: x + cone(z1 , . . . , zn ).
2.
zi = A−1 Δ (−ei ), i = 1, . . . , n sind die extremalen freien Richtungen von rec(AΔ ) = {z | AΔ z ≤ 0}.
3.
Zu i ∈ {1, . . . , n} gibt es ein δi ∈ [0, ∞], so dass x + ρzi ∈ X f¨ur ρ ∈ [0, δi ], sowie x + ρzi ∈ X f¨ur alle ρ > δi . Dabei ist δi = ∞, falls f¨ur alle j ∈ I gilt ziT aj ≤ 0, δi > 0, falls I = Δ und δi = 0, falls f¨ur ein j ∈ I \ Δ gilt ziT aj > 0.
Bei Bewegung in Richtung eines zi k¨onnen bisher lockere Restriktionen straff werden. Satz 6.3 x sei eine Ecke, I(x) die Indexmenge der straffen Restriktionen, Δ ⊂ I(x) Indexmenge zu einer Basis. z1 , . . . , zn seien die extremalen freien Richtungen zu rec(AΔ ). Ist f¨ur ein δi ∈ [0, ∞) (wie in Lemma 6.2) [x, x + δi zi ] = X ∩ {x + ρzi | ρ ≥ 0}, dann gilt:
130
I: 6 Simplex-Algorithmus
1.
Es gibt ein j ∈ {1, . . . , m} \ Δ, so dass aTj (x + δi zi ) = bj und aTj zi > 0.
2.
Der Austausch von i gegen j in Δ f¨uhrt zu einem linear unabh¨angigen System a1 , . . . , ai−1 , aj , ai+1 , . . . , an .
3.
˜. x ˜ = x + δi zi ist eine Ecke von X. Ist δi > 0, dann ist x = x
Bemerkungen 1.
2.
Auf jeder Kante“ ausgehend von x in Richtung zi gibt es drei M¨oglichkeiten f¨ur die Wahl ” von δi : i)
δi = 0, das heißt x ˜ = x, man bleibt in der alten Ecke.
ii)
˜ = x, die neue Ecke ist von der alten verschieden und [x, x ˜] 0 < δi < ∞, das heißt x ist eine Kante von X.
iii)
δi = ∞, das h¨eist x + ρzi ∈ X f¨ur alle ρ ≥ 0, wir befinden uns also auf einer unbeschr¨ankten Kante von X.
¨ des ZielfunktiF¨ur eine Bewegung in Kantenrichtung zi ergibt sich folgende Anderung onswertes cT z i
=
T
T −1 cT (A−1 c = −eTi ξ = −ξ i . Δ (−ei )) = (−ei ) AΔ
Gilt nun ξ i > 0, ξ i < 0, ξ i = 0,
dann ist x ˜ schlechter als x, dann ist x ˜ besser als x, dann sind die beiden Ecken gleich gut.
Satz 6.4 Sei x eine Ecke von X, Δ und I wie bisher. Dann gilt: 1.
(a) Ist cT zi ≤ 0 f¨ur alle i ∈ Δ, dann ist x optimal. T (b) Ist ξ = (A−1 Δ ) c ≥ 0, dann ist x optimal.
2.
Gibt es ein zi mit Azi ≤ 0 und ziT c > 0, dann existiert kein Optimalpunkt.
3.
˜ = x + δi zi eine bessere Ecke als x. Gilt ∞ > δi > 0 und cT zi > 0, dann liefert x
Korollar 6.5 (notwendiges Optimalit¨atskriterium) Falls bei x gilt: Δ = I(x), dann gilt sogar: T T ur alle zi . Falls x optimal ist, so ist ξ = (A−1 Δ ) c ≥ 0 bzw. c zi ≤ 0 f¨
6.1 Restriktionsorientierter Simplex-Algorithmus
131
Damit haben wir ein Konzept, wie wir ausgehend von einer vorliegenden Ecke die Verbesserungsprozedur anpacken k¨onnen.
Algorithmus 6.6 (Verbesserungsalgorithmus (restriktionsorientierter Simplexalgorithmus)) Vorgegeben sei die Ecke x und das zugeh¨orige Δ sowie A−1 Δ . Verbesserungsschritt: 1.
2. 3.
T Berechne (A−1 Δ ) c = ξ. Ist ξ ≥ 0 −→ STOP. Gibt es ein ξ i < 0, dann w¨ahle ein solches i aus. T ur alle j ∈ Δ. Berechne zi = A−1 Δ (−ei ) und aj zi f¨ Ist aTj zi ≤ 0 ∀j ∈ Δ, dann ist cT x auf X unbeschr¨ankt −→ STOP.
Bestimme δi und eine in x + δi zi stoppende Restriktion.
aTj x ≤ bj mit j ∈ Δ, wobei δi = min{δij | j ∈ / Δ, aTj zi > 0} mit δij = und δi = δij . 4.
Ersetze x durch x + δi zi =: x˜. Ersetze Δ durch Δ \ {i} ∪ {j} =: Δneu . x). Ersetze Q(x) durch Q(x) + δi cT zi =: Q(˜
5.
Berechne A−1 Δneu .
6.
Gehe zu 1.
bj −aT j x aT j zi
=
βj , aT j zi
Man muss sich auch f¨ur die Situation einrichten, dass in einer Ecke mehr als die n notwendigen Restriktionen straff sind.
Definition 6.7 Eine Ecke x von P (A, b) heißt entartet, wenn #(I(x)) > n. Ein Problem bzw. ein Polyeder heißt nichtentartet, wenn f¨ur alle Ecken x gilt #(I(x)) = n.
Satz 6.8 F¨ur nichtentartete Probleme f¨uhrt Algorithmus 6.6 zur Optimalecke oder zu der Erkenntnis, dass cT x keinen Optimalpunkt in X besitzt.
Begrundung ¨ In allen erfassten Ecken gilt I = Δ, also ist δi > 0 in jedem Schritt, das heißt, dass in jedem
132
I: 6 Simplex-Algorithmus
Schritt cT x verbessert wird. Da in jedem Schritt eine neue Ecke erreicht wird und die Anzahl der
beschr¨ ankt ist, ist das Verfahren endlich. Ecken durch m n Warnung Liegen entartete Ecken vor, dann kann es zu Kreiseln in einer Ecke kommen. Man wechselt zwar den Kegel cone(aΔ1 , . . . , aΔn ), aber nicht die Ecke, und man bleibt mit dem neuen Kegel im Polarkegel cone{ai | i ∈ I}. Somit liegt die Gefahr einer unendlichen Laufzeit vor. Man kann geeignete Maßnahmen treffen, um die M¨oglichkeit des Kreiselns auszuschließen und somit die Endlichkeit des Algorithmus theoretisch sicherzustellen. Die Tableaumethode Es geht nun darum, die verf¨ugbaren Informationen richtig zu organisieren und abrufbar zu machen. Des weiteren versuchen wir, Schritt 5. des Verbesserungsalgorithmus (Berechnung von A−1 Δneu ) zu vereinfachen. Dazu m¨ussen wir ermitteln, wie sich die Gr¨oßen αk , ξ k , β und Q ver¨andern, wenn wir den Austausch in der Basis von (aΔ1 , . . . , aΔn ) zu (aΔ1 , . . . , aΔi−1 , aj , aΔi+1 , . . . , an ) vornehmen. Hierzu schreiben wir alle Daten in ein Tableau: a1 . . . a . . . ah . . . aj . . . ar . . . am
−e1 . . . −es . . .
−en c
aΔ1 α11 .. .
α1
α1h
α1j
0
α1m
ξ1
aΔk αk1 .. .
αk
αkh
αkj
0
αkm
aΔi αi1 .. .
αi
αih
αij
1
αim
ξi
aΔn αn1
αn
αnh
αnj
0
αnm
ξn
β1
β
βh
βj
βr
βm
γsk := αkm+s
x1
xs
ξk
xn
−Q
Pivotspalte Das folgende Tableau zeigt die darin verarbeiteten Matrizen: a1 . . .
. . . am
−e1 . . .
−en
c
aΔ 1
.. .
AA−1 Δ
T
T − A−1 Δ
A−1 Δ
T
c
aΔ n
b − AA−1 Δ bΔ
T
T xT = A−1 Δ bΔ
−Q = −cT A−1 Δ bΔ
6.1 Restriktionsorientierter Simplex-Algorithmus
1.
133
Alte Darstellung bei x unter Benutzung von aΔ1 , . . . , aΔn : a = α1 aΔ1 + . . . + αi aΔi + . . . + αn aΔn mit = 1, . . . , m. Spezialfall: Δi = r, also ar = 0 · aΔ1 + . . . + 1 · aΔi + . . . + 0 · aΔn = aΔi , c = ξ 1 aΔ 1 + . . . + ξ i aΔ i + . . . + ξ n aΔ n , 1
i
n
β = b − aT x = b − α1 bΔ − . . . − αi bΔ − . . . − αn bΔ , 1
i
n
−Q(x) = 0 − cT x = 0 − (ξ 1 bΔ + . . . + ξ i bΔ + . . . + ξ n bΔ ).
Es gilt β m+s = xs = (Schlupf von −eTs x ≤ 0) und −Q kann man ansehen als den Schlupf einer fiktiven Ungleichung cT x ≤ 0. 2.
In der Basis wird nun aΔi durch aj ersetzt, wobei gelten muss: αij = 0. Dies ist wegen der linearen Unabh¨angigkeit von aj zu den Basiselementen ohne aΔi garantiert. Die neue Darstellung bei dem neuen Punkt x ˜ erh¨alt man aus der Kenntnis: aj = α1j aΔ1 + . . . + αij aΔi + . . . + αnj aΔn , daraus folgt aΔ i = −
αi−1 αi+1 α1j αnj 1 j j 1 − ... − i−1 + i+1 − a a a − a aΔ n . j Δ Δ Δ αj αij αij αij αij
F¨ur , = j gilt jeweils a =
[α1
αi α1j αij αi−1 αi i−1 1 − ]aΔ + · · · + [α − ]αi−1 Δ + i aj + i i αj αj αj
− + [αi+1
αi αi+1 j αij
n ]ai+1 Δ + · · · + [α −
αi αnj n ]aΔ αij
Man beachte, dass in der neuen Basis dann aj = aΔi ist. Und bei = j i+1 i+1 hat man selbstverst¨andlich aj = 0a1Δ + · · · + 0ai−1 Δ + 1aj + 0aΔ · · · + 0aΔ Entsprechend sind dann die Spalten zu −e1 , . . . , −es , . . . , −en zu besetzen. F¨ur c ergibt sich: c = [ξ 1 − ξ i [ξ i+1 − ξ i
αi−1 i−1 α1j 1 ξi i−1 i j ]a + · · · + [ξ − ξ ]a + aj + Δ αij αij Δ αij
αi+1 αn n j i+1 n i j ]a + · · · + [ξ − ξ ]a . αij Δ αij Δ
134
I: 6 Simplex-Algorithmus
F¨ur β ergibt sich bei x ˜: 1
Δ β = b − α1 bΔ − . . . − αi−1 b
− αi [−
i−1
Δ − αi+1 b
i+1
n
− . . . − αn bΔ +
α1j Δ1 αnj Δn 1 j b − . . . + b − . . . − b ]. αij αij αij
F¨ur Q = Q(˜ x) erh¨alt man: 1
− Q = − ξ 1 bΔ − . . . − ξ i−1 bΔ − ξ i [−
i−1
− ξ i+1 bΔ
i+1
− . . . − ξ n bΔ
n
α1j Δ1 αnj n 1 b − . . . + i bj − . . . − i bΔ ]. i αj αj αj
Durch die alten Koeffizienten ausgedr¨uckt heißt dies: = βalt − βneu
αi j β , αij alt
r r = βalt − βneu
j j αir βalt βalt r Δi = − , weil βalt = βalt = 0 und αir = αiΔi = 1, i i αj αj
− Qneu = −Qalt −
j ξ i βalt . αij
Mit diesen Umformungen ergibt sich ein neues Tableau aus dem Austausch ar gegen aj . Man bezeichnet dies als einen Pivotschritt um das Element (i, j). a1
a .. .
aΔ 1
aΔk · · · αk −
aj
aΔ n
···
aj .. .
αi ak j αij
ar .. . αk j
.. .
.. .
αi αij
··· 1··· .. .
1 αij
β −
αi β j αij
−es
−en
.. .
· · · 0 · · · − αji · · ·
.. .
.. .
am −e1
· · · γsk −
.. . γsi αk j αij
···
.. . ···
0
.. .
0
β −α i
···
γsi αij
j
xs −
αk
ξ k − ξ i αji
j
.. .
.. . j
c
···
ξi αij
.. . γsi β j αij
−Q −
ξi β j αij
Man mache sich klar, dass man hier die Eliminationsmethode des Gauß-Algorithmus angewendet hat. Nachdem das Element αij (in der i-ten Zeile und j-ten Spalte) als Pivotelement festgelegt war, hat man die i-te Zeile insgesamt durch αij dividiert. Danach hat man ein Vielfaches dieser i-ten Zeile so von den jeweiligen anderen Zeilen subtrahiert, dass in der Pivotspalte u¨ ber und
6.1 Restriktionsorientierter Simplex-Algorithmus
135
unter der Position (i, j) nur Nullen stehen. Betrachtung des Verbesserungsalgorithmus In x sind alle β = 0 bei straffen Restriktionen, bei lockeren ist β > 0, das heißt β = 0 f¨ur alle ∈ Δ. Ist ξ ≥ 0, dann bilden die straffen Restriktionen die Basis f¨ur die Optimalecke, der Algorithmus ist fertig. Wenn dies nicht so ist, findet man ein ξ i < 0, das heißt, dass auf zi cT x verbessert werden kann. Eine solche Bewegung wirkt auf aTi x ≤ bi : T
−1 aTj zi = aTj A−1 aj ]T (−ei ) = (α1j , . . . , αnj )(−ei ) = −αij . Δ (−ei ) = [AΔ
Ist also αij ≥ 0 f¨ur alle j ∈ Δ und ξ i < 0, dann ist cT x nach oben unbeschr¨ankt. Falls ein αij < 0 existiert, bestimmt man δi = Minj∈Δ δij unter αij < 0, (also aTj zi > 0) mit δij = δi =
βj min{ −α i j
|
αij
βj −αij
, das heißt
< 0, j ∈ Δ}. Somit bleiben alle β ≥ 0.
Varianten des Simplexalgorithmus (Beispiele) Regeln f¨ur die Auswahl von ξ i < 0 unter mehreren m¨oglichen: 1a)
W¨ahle die oberste Zeile.
1b)
W¨ahle die unterste Zeile.
2a)
W¨ahle i mit dem kleinsten Originalindex Δi (Variante von Bland 1).
2b)
W¨ahle i mit dem gr¨oßten Originalindex Δi (Variante von Bland 2).
3)
W¨ahle i so, dass bei ξ k < 0, ξ i < 0 gilt: |ξ i | ≥ |ξ k | (denn Qneu = Qalt + ξαβi , das heißt,
i
dass die Verbesserung von ξ abh¨angt) (Variante von Dantzig).
4)
W¨ahle i so, dass
ξi β j αij
maximal wird (Variante der gr¨oßten Verbesserung).
5)
W¨ahle i so, dass
|ξ i | zi
maximal wird (Variante des steilsten Anstiegs).
6)
W¨ahle i zuf¨allig aus.
j
j
Ebenso brauchen wir eine Festlegung f¨ur die Entscheidung in Schritt 3. des Algorithmus 6.6 bei Mehrdeutigkeit (Quotientenminimum an mehreren Stellen). Hier stehen beispielsweise folgende Regeln zur Verf¨ugung: 1a)
Erster Eintrag von links (passt zu Bland 1)
1b)
Erster Eintrag von rechts (passt zu Bland 2)
2)
Zuf¨allige Wahl
Bemerkung zi kann aus der zweiten Tableauh¨alfte abgelesen werden, denn in der i-ten Zeile steht
T (−ei )T A−1 = A−1 Δ Δ (−ei ) = zi .
136
I: 6 Simplex-Algorithmus
Direkt starten kann man, wenn schon ein Tableau vollst¨andig vorliegt, dann rechne man einfach weiter. Ebenso kann man ohne M¨uhe ein Anfangstableau besetzen, wenn der folgende Spezialfall vorliegt. max cT x unter Ax ≤ b, x ≥ 0, mit b ≥ 0. Dann ist x = 0 auf jeden Fall Ecke. Wir k¨onnen dann unser Anfangstableau direkt aufstellen. In diesem Fall nehmen wir neben a1 , . . . , am die Restriktionen −eT1 x ≤ 0, . . . , −eTn x ≤ 0 als feste Restriktionen auf. Bemerkung x = 0 ist zul¨assig und sogar eine Ecke von X, da Rang AI(0) = n. Da die Basis zu x = 0 aus den Vektoren −e1 , . . . , −en besteht, k¨onnen wir leicht eine Darstellung f¨ur die restlichen Zeilen von A bzw. f¨ur c finden. Vorgehensweise Darstellung der aj durch die Vektoren −ei , i = 1, . . . , n, Δ1 = m + 1, . . . , Δn = m + n. Ergebnis αk = −ak ∀, k ξ k = −ck x = 0 ⇒ β = b f¨ur = 1, . . . , m β = 0 f¨ur = m + 1, . . . , m + n Q = Q(x) = cT x = 0 Da schon −ei -Zeilen in der Matrix bzw. −ei -Spalten im Tableau als echte Restriktionen vorhanden sind, k¨onnen wir auf den statistischen Zusatzteil verzichten. Anfangstableau fur ¨ Spezialfall 1 a1
a
am
−e1 = aΔ1
−e1
−en
1
0
−c1
1
−cn
0
0
..
−ak
−ek = aΔk −en = aΔn
.
0 b1
b
bm
0
···
Der ei -Teil ist bei dieser Problemstellung voll integriert und relevant f¨ur die Pivotspaltenauswahl.
6.1 Restriktionsorientierter Simplex-Algorithmus
137
Endlichkeit des Verfahrens Wir hatten schon gekl¨art, dass das Simplexverfahren (und nat¨urlich auch die beschriebene Tableaumethode) nach endlich vielen Schritten mit dem richtigen Ergebnis abbricht, wenn an jeder Ecke x gilt Δ = I(x). Das heißt, es gibt keine straffen Restriktionen bei x, außer denen mit Index in Δ (derzeitige Basisrestriktionen). Treten nun aber entartete Ecken auf, dann kann dies zu folgenden Nachteilen f¨uhren. 1.
An der Optimalecke x geh¨ort c zwar zu cone(ai | i ∈ I), jedoch nicht zu cone(ai | i ∈ Δ), wobei Δ ⊂ I die derzeitig berechnete/verwendete Basis ist. Das bedeutet: Wir erkennen an der ξ-Spalte die Optimalit¨at von x (noch) nicht.
2.
An einer Zwischendurchecke auf dem Simplexpfad (den wir von der Startecke zur Zielecke durchschreiten) k¨onnen Pivotschritte bei Basiswechsel von Δ zu Δ zu einem Verbleib in der selben Ecke f¨uhren (wenn also Δ ⊂ I und Δ ⊂ I gilt). Das kann sogar bis zum Kreiseln f¨uhren, denn die gleiche Basis und das gleiche Tableau werden immer wieder produziert.
Man ist deshalb an Varianten interessiert, die das Kreiseln definitiv ausschließen und immer neue Basen (nicht unbedingt neue Ecken) produzieren. Eine solche Variante ist die oben erw¨ahnte Variante von Bland (Bland 1 oder Bland 2)
Satz 6.9 Benutzt man in entarteten Ecken die Variante von Bland, dann k¨onnen keine Zyklen von Basen entstehen, und das Simplexverfahren bricht nach endlich vielen Schritten ab.
Man kann nat¨urlich diese Variante auch durchg¨angig einsetzen (nicht nur bei entarteten Ecken), wird aber in der Regel dann mehr Pivotschritte als n¨otig ausf¨uhren m¨ussen. Effizienter als dies ist aber, Blands Variante nur einzusetzen, wenn ein Pivotschritt keinen Eckenwechsel verursacht. In den folgenden Aufgaben ist jeweils die angegebene auszuf¨uhrende Variante zu verwenden. Die L¨osungen zeigen dann die produzierte Tableaufolge. Startprozedur, Eckensuche und Zweiphasenmethode Bei dem Versuch, das Problem max
cT x unter Ax ≤ b
zu l¨osen, m¨ussen wir zun¨achst damit rechnen, dass uns kein zul¨assiger Punkt und schon gar keine Ecke von P = X = {x | Ax ≤ b} vorliegt (ja sogar, dass dieses P gar keine Ecke hat). Deshalb m¨ussen wir etappenweise vorgehen und 0)
Ein Hilfsproblem generieren, zu dem ein zul¨assiger Punkt bekannt ist.
1)
F¨ur das Hilfsproblem-Polyeder eine Ecke finden.
2)
Ausgehend von der Ecke des Hilfsproblem-Polyeders die Optimalecke des Hilfsproblems suchen.
138
I: 6 Simplex-Algorithmus
3)
Anhand der Optimalecke des Hilfspolyeders beobachten, ob das Originalproblem u¨ berhaupt zul¨assige Punkte bzw. Ecken eines Polyeders hat. Wenn Nein, kann abgebrochen werden, wenn Ja, dann k¨onnen wir eine Startecke f¨ur das Originalproblem ermitteln.
4)
Ausgehend von der Startecke des Originalproblems wird nun ein Simplexpfad zur Optimalecke oder Abbruchecke des Originalproblems erzeugt.
Hierbei fasst man die Schritte 1) und 2) zur sogenannten Phase I zusammen; (Schritt 1) entspricht Phase Ia, Schritt 2) entspricht Phase Ib). Schritt 3) ist der Wechsel von Phase I zu Phase II. Die Phase II wird durch Schritt 4) ausgef¨uhrt.
Definition 6.10 (Phase-I-Problem) min η unter
aT1 x aTm x
− η ≤ b1 .. . −η ≤b
(P I)
m
−η ≤ 0, x ∈ K n , η ∈ K.
Satz 6.11 (P I) hat zwei m¨ogliche Ausg¨ange: 1.
Der Optimalwert von η ist positiv, dann ist X = ∅.
2.
Der Optimalwert von η ist 0, dann gilt X = ∅.
Begrundung ¨ Wegen η ≥ 0 ist der Optimalwert nach unten durch 0 beschr¨ankt. (P I) ist ein zul¨assiges Problem. W¨ahle dazu ein beliebiges x und setze η = maxi=1,...,m {0, aTi x − bi }, also gilt aTi x − maxi=1,...,m {0, aTi x − bi } ≤ bi . x 1. Gilt f¨ur alle zul¨assigen , dass η > 0, dann folgt: Es gibt kein x mit Ax − 0 ≤ b, also η ist Ax ≤ b unl¨osbar. x tats¨achlich Ax − 0 ≤ b, also ist x dann zul¨assig. 2. Ist im Optimum η = 0, dann erf¨ullt 0 Der Vorteil von (P I) ist: Wir kennen daf¨ur einen zul¨assigen Punkt und k¨onnen die Bearbeitung dieses Problems m¨uhelos starten.
6.1 Restriktionsorientierter Simplex-Algorithmus
139
x 0 = , erstellen, bei dem n flexible Hilfsη 0 restriktionen −xi = −eTi x ≤ 0 (induziert durch Einheitsvektoren) straff sind. Außerdem ist ja auch noch die Restriktion η ≥ 0 bzw. −eTn+1 x ≤ 0 straff, so dass uns eine komplette Basis aus n + 1 Vektoren zur Verf¨ugung steht. Die Restriktion −eTn+1 x kann auch interpretiert werden als aTm+1 x ≤ bm+1 mit bm+1 = 0. Und der Vektor cη (Zielfunktionsvektor f¨ur Phase I) stimmt ebensfalls mit −en+1 u¨ berein. Dies ergibt: Nun k¨onnen wir versuchsweise ein Tableau zu
a ˜1
a ˜j
a ˜
.. .
.. .
.. .
.. .
.. .
−a1 .. .
−aj .. .
−a .. .
−am .. .
0 .. .
−e1 −ek
a ˜m −en+1 −e1
−en
1
0 ..
−en
c
0 .. . −c
.
0
1
−en+1 1
1
1
1
1
0
0
b1
bj
b
bm
0
0
0
cη
0 .. . 0
0
1
−Qc = 0 −Q−η = 0
flexibel orientierte Hilfsrestriktionen ai f¨ur i = 1, . . . , m. Damit haben wir m + 1 echte Restrik−1 tionsvektoren f¨ur unser Problem (P I). Leider entspricht dieses Tableau noch nicht unseren Anspr¨uchen an ein zul¨assiges Simplextableau, weil durchaus einige Werte bi < 0 sein k¨onnen. Diese Schw¨ache kann aber leicht (mit einem Pivotschritt/Basisaustausch) ausgemerzt werden, wenn wir folgende Erkenntnis ausnutzen.
Dabei haben wir gesetzt: a˜i :=
Lemma 6.12 Wenn wir definieren b η = |b
min
min
1
m
:= min{b , . . . , b , 0 = b
m+1
0 mit 0 ∈ K n und }, dann ist η
| zul¨assig f¨ur (P I).
Zum Hilfsproblem (P I) k¨onnen wir nun durch einen zu einem zul¨assigen Punkt und Pivotschritt 0 min dessen Tableau gelangen. Dazu setzen wir w =
min
mit b = min{0, b1 , . . . , bm }. Bei b w sind folgende Restriktionen straff: x x ≤ 0, . . . , −(eTn ) ≤ 0 und aTj x − η ≤ bj , falls bj = bmin . Man beachte −(eT1 ) η η
140
I: 6 Simplex-Algorithmus
wiederum, dass hier am+1 = 0 und bm+1 = 0. Die dabei verwendeten Restriktionsvektoren definieren eine Basis f¨ur K n+1 : ai . −(e1 ), . . . , −(en ), −1 aj −1
Durch Entfernen von −en+1 bzw. von a ˜m+1 aus der Basis und durch Aufnahme von a˜j = bei bj = bmin erreichen wir das folgende zul¨assige Tableau mit einem Basisaustausch: ¨ Phase I(a): Zul¨assiges Starttableau fur a ˜1 a ˜j a ˜m f1 = −e1 fk = −ek fn = −en aΔn+1 = a ˜j
−en+1 −e1
.. .
0 .. .
.. .
.. .
−a1 + aj .. .
0 .. .
−am + aj .. .
aj .. .
1
1
1
1
b1 − bmin
0
−en
1
bm − bmin −bmin
c
cη
0 .. . ..
.
0 0
1 0
0
0
flex. orientierte Hilfsrestriktionen
−c
aj .. .
0
1
−Qc −Q−η = −bmin
Hinweis ˜m+1 = −en+1 wie vorgesehen in Im Falle bmin = 0 ist nichts mehr zu tun. Hier bel¨asst man a der Basis. Indem wir nun sukzessiv auch noch die Hilfsrestriktionen −eT1 x ≤ 0, . . . , −eTn x in postiver oder negativer Richtung lockern, also aus der Basis entfernen, l¨osen wir uns von dem Zwang, die Variablen x1 , . . . , xn auf 0 zu setzen, denn die obigen Restriktionen m¨ussen dann nicht mehr straff sein. Die Reihenfolge dieser Austausche kann beliebig sein (in konkreten Aufgabenstellungen beachte man aber die Vorgaben). Ein solcher flexibler Austausch der Hilfsrestriktion −eTi x ≤ 0 gelingt auf jeden Fall, wenn in der Zeile i ein αi = 0 gefunden wird (dabei muss gelten ∈ / Δ, ≤ m + 1). Mit diesem Element αi bzw. mit der -ten Spalte und der i-ten Zeile f¨uhrt man dann einen Pivotschritt aus. Vorgehensweise 1.
Tausche zuerst die Restriktion mit a ˜m+1 = −en+1 (dieses ist problemlos m¨oglich) und dann sukzessive die Vektoren −e1 , . . . , −en , aus. Dies gelingt, wenn in der entsprechenden Zeile i ein αi = 0 gefunden wird ( ∈ Δ, ≤ m + 1).
2.
Wenn der Austausch nicht m¨oglich ist, dann wird das entsprechende −ei in der Basis
6.1 Restriktionsorientierter Simplex-Algorithmus
141
belassen. Die Zeile und das entsprechende xi = 0 ver¨andern sich nicht mehr. 3.
Ist in dieser Nullzeile“ (das heißt αi = 0 ∀ ∈ Δ, ≤ m + 1) ein Wert der Zielspal” te zu c (vorletzte Spalte) ξ i = 0, dann wird abgebrochen (wegen Unbeschr¨anktheit im Originalproblem).
Die Maßnahme in 2. und 3. stellt eine Art Nothilfe f¨ur den Fall dar, dass das Originalpolyeder keine Ecke hat. In diesem Fall teilt man das Originalpolyeder durch Mitber¨ucksichtigung von k¨unstlichen Restriktionen −eTi x derart, dass in allen Teilbereichen nun doch Ecken entstehen (flexible Hilfsrestriktionen). Die Abfrage in 3. bezweckt, die Auswirkung dieser Teilungen des Zul¨assigkeitsbereiches auf die Zielfunktionen zu erfassen. Wenn man (siehe 3.) in der Nullzeile i einen Wert ξ i = 0 beobachtet, dann impliziert dies, dass eine Bewegung in Richtung der Austauschkante zi an der Zielfunktion nichts bewirkt, was dann aber auch f¨ur eine Bewegung in die Richtung −zi gilt. Nun f¨uhrt aber die erste Bewegung in die H¨alfte mit −eTi x ≤ 0 und die zweite H¨alfte mit −eTi x ≥ 0. Somit haben wir in beiden H¨alften identische Zielfunktionswerte. Und es ist dann egal, welche H¨alfte wir untersuchen, die Optimalwerte in beiden H¨alften sind gleich. Wenn man ξ i > 0 oder ξ i < 0 in der Nullzeile i beobachtet, dann bedeutet dies Unbeschr¨anktheit von cT x in der einen oder anderen Teilungsh¨alfte. Da die Teilung des Zul¨assigkeitsbereiches ja nur hilfsweise und fiktiv ist und nur dem Zweck der Eckenherstellung dient, wissen wir dann also, dass auf dem Zul¨assigkeitsbereich die Zielfunktion unbeschr¨ankt w¨achst. Ergebnis 1 Ankunft bei einer Ecke von (P I) oder (P I), von der aus das Simplexverfahren gestartet wird. Ergebnis 2 Ist Q−η = 0, dann gehen wir zu einem Tableau f¨ur Phase II u¨ ber. Ansonsten ist P unzul¨assig und es wird abgebrochen. ¨ Ubergang zur Phase II •
˜ Δi , Falls noch nicht geschehen, wird a ˜m+1 = −en+1 durch einen Austausch mit a Δi ≤ m, in die Basis gebracht (da dies eine in x straffe Restriktion ist). Dazu muss ein ˜m+1 = 0. αim+1 = 0 sein. Dies ist garantiert, sonst w¨are a
•
˜Δi und die Spalte zu a ˜m+1 gestrichen. Die η-ZielDanach wird die Zeile zu a ˜m+1 = a funktion f¨allt weg.
•
˜Δi durch die aΔi ersetzt. Es gilt: Die a˜ werden durch die a , die a ˜Δ1 + . . . + αn a ˜Δn + αn+1 (−en+1 ) ⇒ a = α1 aΔ1 + . . . + αn aΔn , das heißt a˜ = α1 a die Koeffizienten bleiben gleich in allen Zeilen, die beibehalten werden.
•
Nun kann Phase II starten, das Tableau hat die gewohnte Form.
142
I: 6 Simplex-Algorithmus
6.2 Aufgaben zum restriktionsorientierten SimplexAlgorithmus Aufgabe 6.2.1 L¨osen Sie folgendes (LP ) mithilfe der Tableaumethode per Hand. Wenden Sie die Auswahlregel von Bland an. Phase I ist nicht notwendig. Warum? max
3x1 2x1 −x1 −4x1 2x1 −x1 −2x1
+ − + + + − +
x2 x2 3x2 x2 2x2 x2 3x2
+ 3x4 x3 + 5x4 x3 − x4 2x3 + 6x4 x3 + 3x4 x3 − x4 x3 + x4 1 x , x2 , x3 , x4
+ + − − + −
≤ ≤ ≤ ≤ ≤ ≤ ≥
2 4 3 5 1 2 0
(a1 ) (a2 ) (a3 ) (a4 ) (a5 ) (a6 ) (a7 − a10 )
Aufgabe 6.2.2 L¨osen Sie folgendes (LP ) mithilfe der Tableaumethode per Hand. Verwenden Sie dabei die Auswahlregel der gr¨oßten Verbesserung. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. Phase I ist nicht notwendig. x1 x1
max
1 1 4x 1 1 2x
+
x2
x2 − x2 + x2 x1 , x2
≤ ≤ ≤ ≤ ≥
4 6 0 7 0
Aufgabe 6.2.3 L¨osen Sie folgendes (LP ) mithilfe des restriktionsorientierten Simplexalgorithmus. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. max
1x1 3x1 0x1 −1x1 2x1 0x1 0x1
− − + − + + +
1x2 1x2 1x2 1x2 0x2 1x2 0x2
− + + + − − +
1x3 + 1x4 0x3 + 1x4 1x3 + 0x4 0x3 + 1x4 1x3 + 0x4 4x3 + 1x4 1x3 + 1x4 x1 , x2 , x3 , x4
≤ ≤ ≤ ≤ ≤ ≤ ≥
3 1 0 2 4 2 0
(a1 ) (a2 ) (a3 ) (a4 ) (a5 ) (a6 )
6.2 Aufgaben zum restriktionsorientierten Simplex-Algorithmus
143
Aufgabe 6.2.4 L¨osen Sie folgendes (LP ) mithilfe der Tableaumethode per Hand. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. max
x1 x1 5x1 − 2x1 − x1
−
+ 3x2 + 3x2 − x2 +
x2
− x3 − 2x3 − 2x3 + x3
≤ ≤ ≤ ≤
−2 0 −1 −3
Aufgabe 6.2.5 L¨osen Sie folgendes (LP ) mithilfe der Tableaumethode per Hand. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. min
x1 x1
− +
−x1 −x1
+
x2 2x2 x2 x2
− + − +
3
3x
x3 x3
+ + + +
2x4 x4 x4 x4 x4
≤ ≤ ≤ ≤
6 4 0 0
Aufgabe 6.2.6 Beantworten Sie mit kurzen Erl¨auterungen folgende Fragen zum Simplexverfahren bei der L¨osung von max cT x unter Ax ≤ b, A ∈ K (m,n) , x ∈ K n . a)
Wie gehen Sie effizient vor, wenn zus¨atzlich verlangt wird, dass x1 ≥ 0, . . . , xk ≥ 0, aber xk+1 , . . . , xn beliebig sein k¨onnen?
b)
Warum ist die Variante der gr¨oßten Verbesserung im einzelnen Iterationsschritt sehr viel aufw¨andiger als die Variante von Dantzig?
c)
Warum spricht man bei der Eckensuche von flexibel orientierten Hilfsrestriktionen?
d)
Wieso kann man ein Optimierungsproblem obiger Art selbst dann l¨osen, wenn der Zul¨assigkeitsbereich X nicht spitz ist (also keine Ecken hat)?
e)
Warum sollte vor dem Umstieg von Phase Ib auf Phase II daf¨ur gesorgt werden, dass a ˜m+1 in der Basis ist?
f)
Wenn Sie nicht verpflichtet w¨aren, die Restriktionen −e1 , . . . , −en in Phase I der Reihe nach auszutauschen, wie w¨urden Sie dann vorgehen, um evtl. Iterationschritte einzusparen?
144
I: 6 Simplex-Algorithmus
Aufgabe 6.2.7 Gegeben sei folgendes zweidimensionale Optimierungsproblem: max
2x1 −1x1 1x1 −3x1 −2x1 −1x1 −3x1 2x1 1x1
− − − + + + + + +
1x2 1x2 1x2 1x2 1x2 1x2 2x2 1x2 1x2
≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤
2 2 0 −1 −1 −3 4 2
(a1 ) (a2 ) (a3 ) (a4 ) (a5 ) (a6 ) (a7 ) (a8 )
a)
Veranschaulichen Sie den Zul¨assigkeitsbereich durch eine Zeichnung. Beschriften Sie die einzelnen Restriktionen.
b)
L¨osen Sie das Problem mithilfe des restriktionsorientierten Simplexalgorithmus. Dabei m¨ussen alle Restriktionen (auch die redundanten) im Tableau mitgef¨uhrt werden. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element.
Aufgabe 6.2.8 L¨osen Sie folgendes (LP ) mithilfe des restriktionsorientierten Simplexalgorithmus. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. max
1x1 −1x1 −1x1 2x1 −2x1 −1x1 0x1 1x1
+ + + − − + − −
1x2 1x2 1x2 1x2 1x2 2x2 1x2 2x2
+ − − + + − + +
1x3 3x3 1x3 3x3 0x3 2x3 1x3 0x3
≤ −1 ≤ 0 ≤ 0 ≤ 0 ≤ 1 ≤ −1 ≤ 0
(a1 ) (a2 ) (a3 ) (a4 ) (a5 ) (a6 ) (a7 )
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
145
6.3 L¨osungen zum restriktionsorientierten SimplexAlgorithmus
L¨osung zu 6.2.1 Spezialfall: x ≥ 0 und b ≥ 0 Starttableau f¨ur Phase II
a7
a1
a2
−2
1
a8
a3
a4
a5
4 −2
1
−5 2
c
1
0
0
0
1
0
0
0 −3
1 −3
0
1
0
0
0
1
0
0 −1
1
0
0
1
0
0
0
1
0
1 −6 −3
1 −1
0
0
0
1
0
0
0
1 −3
4
5
1
2
0
0
0
0
0
0
0
0
a4
a5
a6
−1 −1
a10
−e1 −e2 −e3 −e4
2
1 −3 −1 −2
a9
a6 a7 a8 a9 a10
2
1 −1
3
0 0
Starte Phase II Pivotzeile: 1, Pivotspalte: 1 a1
a2
a3
a1
1 − 12
−2
a8
0 − 52
1
a9
0
0
2
a10
0
− 32 − 32
−16
0
5
7
a7 a8 a9 a10
1 − 12 −1 − 21 −2
2
3 2 − 32 − 32
−6
1 2 − 21 − 25
3
2
4
1
−3
0
−e1 −e2 −e3 −e4
c
0
0
0
− 21
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1 2 − 21 − 25
0
0
1
3 2 − 25 3 2 9 2
0
0
0
1
0
0
0
−3
Pivotzeile: 2, Pivotspalte: 4 a1
a2
a1
1
− 34
− 53
0
a4
0
5 6 − 19 6
a9
0
a10
0 0
a3 a4
a5
a6
a7
0
− 35
− 13
− 13
1 − 12
− 16
2 3
− 12
2 3 − 34
46 − 19 6 − 3 5 2
8
a8 a9 a10
−e1 −e2 −e3 −e4
0
0
− 13
0
0
− 16
− 16
1 3 − 13 2 3
13 0 − 12 − 22 3 − 6
0 0
7 2
2
3 2
c
0
0
0
0
1
0
− 16
1 3 − 13 2 3
1
0
2 3 5 6 − 16
2 3
0
1 − 13 6
2 3
0
1
17 6
1
0
0
3 2
1
0
0 − 11 2
146
I: 6 Simplex-Algorithmus
Pivotzeile: 3, Pivotspalte: 2 a1 a2
a3 a4
a1
1
37 0 − 19
0
a4
0
3 0 − 19
1
a2
0
4 1 − 19
0
a10
0
0 −16
0
0
162 19
0
0
a5
a6
4 19 12 − 19 3 19
a7
a8
a9 a10
5 − 21 19 − 19
1 19 3 − 19 4 − 19
8 − 19
5 0 − 19
5 19 6 − 19
4 0 − 19
6 19 8 19
4 − 19
0
−6
−2
0
−1
59 19
18 19
26 19
29 19
15 19
1 19
Ende Phase II 29 15 T Optimalpunkt ( 26 19 , 19 , 19 , 0) mit Zielfunktionswert
−e1 −e2 −e3 −e4 1 19 3 − 19 4 − 19
8 − 19
0
5 19 6 − 19
0 1
3
0
− 107 19
0
1 19
1
−2
0
−1
0
26 19
29 19
15 19
107 19
L¨osung zu 6.2.2 Spezialfall: x ≥ 0 und b ≥ 0 Starttableau f¨ur Phase II a1 a5
−1
a6
0
a2
a3
a4
a5
a6
−e1
−e2
c
0
− 41
− 21
1
0
1
0
−1
1
−1
0
1
0
1
−1
0
7
0
0
0
0
0
a5
a6
−e1
−e2
c
1
0
1
0
−1
−1
4
6
Starte Phase II Pivotzeile: 2, Pivotspalte: 2 a1
a2
a3
a4 − 12
a5
−1
0
− 14
a2
0
1
−1
1
0
−1
0
−1
1
4
0
6
1
0
6
0
6
−6
a1
a2
a3
a4
a5
a6
−e1
−e2
c
2
0
1
−2
0
−2
0
2
1
1 2 − 23
0
2
−1
2
−1
−1
0
11 2
0
2
6
2
6
−8
Pivotzeile: 1, Pivotspalte: 4
a4 a2
−2 2
c
0
14 19 15 19 1 19
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
147
Pivotzeile: 2, Pivotspalte: 1 a1 a4 a1
a2
a3
a4
a5
a6
−e1
−e2
c
0
1
−1
1
0
−1
0
−1
1
1
− 21
3 4
0
−1
1 2
−1
1 2
1 2
0
1
4
0
4
5
4
5
−9
Ende Phase II Optimalpunkt (4, 5)T mit Zielfunktionswert 9
L¨osung zu 6.2.3 Spezialfall: x ≥ 0 und b ≥ 0 Starttableau f¨ur Phase II
a7
a1
a2
a3
a4
a5
−3
0
1 −2
0
0
1
0
0
0
1
0
0
0
−1
0
0
1
0
0
0
1
0
0
1
4 −1
0
0
1
0
0
0
1
0
1
0 −1
0 −1 −1
0
0
0
1
0
0
0
1
−1
1
2
0
0
0
0
0
0
0
0
0
−e1 −e2 −e3 −e4
c
a8
1 −1
1
0 −1
a9
0 −1
0
1
a10
−1 3
0
4
a6 a7 a8 a9 a10
2
−e1 −e2 −e3 −e4
c
Starte Phase II Pivotzeile: 1, Pivotspalte: 1 a1
a2
a3
a4
a5
a1
1
0
− 31
0
a8
0 −1
4 3
2 3 − 32
a9
0 −1
a10
0
0
0
1
0 − 34 1
1 2 3
0
a6
a7 a8 a9 a10
0 − 13
0
0
0
− 31
0
0
0
1 3
1
0
0
1 3
1
0
0
4 −1
0
0
1
0
0
0
1
0
1
−1 −1
− 13
0
0
1
− 31
0
0
1
− 23
1
0
0
0
1
0
0
0
−1
−1
4
0
2
1 3 2 3
148
I: 6 Simplex-Algorithmus
Pivotzeile: 4, Pivotspalte: 3 a1
a2 a3
a4
a5
a6
1 4
a7 a8 a9 a10
a1
1
0
0
1 2
1 4
− 41
0
0 − 14
a8
0 −1
0
0 −2 −1
0
1
0
a9
0 −1
0
1
4 −1
0
0
1
1
− 12
3 4
3 4
1 4
0
1 2
13 4
5 4
3 4
a3
0
0
0
1
0 0
Ende Phase II Optimalpunkt ( 34 , 0, 0, 34 )T mit Zielfunktionsbeitrag
−e1 −e2 −e3 −e4
c
− 41
0
0
− 41
1 2
0
1
0
1
0
0
0
0
1
0
1
0
− 34
1 4
0
0
− 43
1 2
0
3 4
3 4
0
0
3 4
− 32
1
3 2
L¨osung zu 6.2.4 Starttableau a1
a2
a3
a4
−e4
−e1
−e2
−e3
c
cη
−e1
−1
−5
2
1
0
1
0
0
1
0
−e2
−3
1
0
−1
0
0
1
0
−3
0
−e3
2
2
−1
0
0
0
0
1
1
0
−e4
1
1
1
1
1
0
0
0
0
1
−2
0
−1
−3
0
0
0
0
0
0
Es ist bmin = −3 in der Spalte zu a4 . Man stellt das Tableau zur Basis (−e1 , −e2 , −e3 , a4 ) auf.
−e1
a1
a2
a3
a4
−e4
−e1
−e2
−e3
c
cη
−2
−6
1
0
−1
1
0
0
1
−1
−e2
−2
2
1
0
1
0
1
0
−3
1
−e3
2
2
−1
0
0
0
0
1
1
0
a4
1
1
1
1
1
0
0
0
0
1
1
3
2
0
3
0
0
0
0
3
Starte Phase Ia
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
149
Pivotzeile: 1, Pivotspalte: 1 a1
a2
a3
a4
−e4
−e1
−e2
−e3
c
cη
a1
1
3
− 21
0
1 2
− 21
0
0
− 12
1 2
−e2
0
0
0
−2
1
−1
0
4
−2
−e3
0
−4
0
0
−1
1
0
1
2
−1
0
−2
3 2
1
1 2
1 2
0
0
1 2
1 2
0
0
5 2
0
5 2
1 2
0
0
1 2
5 2
a4
−e4
−e1
−e2
−e3
c
cη
0
− 41
− 18
− 38
0
1
− 41
0
− 21
1 4
−1
0
0
0
− 21
1 5 2
a4
−8
Pivotzeile: 2, Pivotspalte: 2 a1
a2
a3 − 12
a1
1
0
a2
0
1
0
0
1 4
− 18
−e3
0
0
0
0
0
− 12
0
0
3 2
1
1
1 4
1 8 − 12 1 4
0
0
5 2
0
5 2
1 2
0
0
1 2
a4
Ende Phase Ia → Starte Phase Ib Pivotzeile: 1, Pivotspalte: 3 a1
a2
a3
a4
−e4
−e1
−e2
−e3
c
cη
a3
−2
0
1
0
1
0
0
0
− 21
1 2 1 4
−e3
0
0
0
0
0
1
1 4
3 4 1 8 − 21 − 87
−2
0
1 4 − 81 − 21 − 81
0
a2
1 2 1 4
0
5 4
− 81
− 15 8
a4
3 5
0 0
0 0
Ende Phase Ib → Problem ist unzul¨assig → Abbruch
−1
0
0
0
5 2
1 4
0
11 2
5 4
150
I: 6 Simplex-Algorithmus
L¨osung zu 6.2.5 Zul¨assiges Starttableau
−e1
a1
a2
a3
a4
−e5
−e1
−e2
−e3
−e4
c
cη
−1
0
1
1
0
1
0
0
0
1
0
−e2
−2
−1
−1
0
0
0
1
0
0
−1
0
−e3
−3
0
1
−1
0
0
0
1
0
0
0
−e4
−1
−1
−1
−1
0
0
0
0
1
−2
0
−e5
1
1
1
1
1
0
0
0
0
0
1
6
4
0
0
0
0
0
0
0
0
0
Starte Phase Ia Pivotzeile: 1, Pivotspalte: 1 a1
a2
a3
a4
−e5
−e1
−e2
−e3
−e4
c
cη
a1
1
0
−1
−1
0
−1
0
0
0
−1
0
−e2
0
−1
−2
0
−2
1
0
0
−3
0
−e3
0
0
−2
−4
0
−3
0
1
0
−3
0
−e4
0
−1
−2
−2
0
−1
0
0
1
−3
0
−e5
0
1
2
2
1
1
0
0
0
1
1
0
4
6
6
0
6
0
0
0
6
0
−3
Pivotzeile: 2, Pivotspalte: 3
a1
a1
a2
a3
a4
−e5
−e1
−e2
−e3
−e4
c
cη
1
1 3 1 3 2 3
0
− 13
0
− 31
− 31
0
0
0
0
1
2 3 8 −3
0
2 3 − 35
− 31 − 32
0
0
1
0
1
0
−1
0
− 32 2 3
0
1
−1
0
0
0
−1
1
2
0
0
0
0
a3
0
−e3
0
−e4
0
−e5
0
− 13 1 3
0
2
0
0 0
0
− 23 2 3
1
1 3 − 31
0
2
0
2
0
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
151
Pivotzeile: 3, Pivotspalte: 4 a1
a2
a3
a4
−e5
−e1
−e2
−e3
−e4
c
cη
1
0
0
0
− 18
− 14
− 18
0
0
− 12 1 4 − 12
1 4 − 38 − 14
0
a3
0
a4
0
−e4
0
1 4 1 2 − 14 − 21
0
1 2
0
0
5 2
0
a1
−e5
1
0
0
0
1
0
0
0
0
1 4 5 8 3 4
1
1 8 3 4 3 8 − 43
0
1
− 34
1 2
1 4
0
− 45
1
0
0
3 4
3 2
3 4
0
− 43
0
0
0 0 0
Pivotzeile: 4, Pivotspalte: 2 a1
a2
a3
a4
−e5
−e1
−e2
−e3
−e4
c
cη
a1
1
0
0
0
0
1 4
− 21
− 41
1 2
− 14
0
a3
0
0
1
0
0
1
−1
0
1
0
0
1 2
− 12 −2
3 4 3 2
0
1
− 41 1 2
a4
0
0
0
1
0
a2
0
1
0
0
0
1 4 − 32
−e5
0
0
0
0
1
0
0
0
1
−2
1
0
0
0
0
0
9 2
−1
− 21
5
− 92
0
0
Ende Phase Ia → Starte Phase Ib Ende Phase Ib → Reduktion des Tableaus a1
a2
a3
a4
−e1
−e2
−e3
−e4
c
a1
1
0
0
0
1 4
− 12
− 41
1 2
− 41
a3
0
0
1
0
1
−1
0
1
0
1 2
− 21
1
− 41 1 2
−2
3 4 3 2
−1
− 21
5
− 29
a4
0
0
0
1
a2
0
1
0
0
1 4 − 32
0
9 2
0
0
0
Starte Phase II Ende Phase II Problem ist unbeschr¨ankt mit freier Richtung z1 = ( 14 , − 21 , − 41 , 12 )T und cT z1 =
1 4
152
I: 6 Simplex-Algorithmus
L¨osung zu 6.2.6 Antworten zu a)
Nimm nun e1 , . . . , ek als echte Restriktionen ernst (beim Quotientenvergleich bzw. bei der Suche nach eintretenden Basisrestriktionen/vektoren). Diese gelten als am+1 , . . . , am+k . −ek+1 , . . . , −en stellen den statistischen Teil dar. −e1 , . . . , −ek braucht man nicht doppelt aufzuf¨uhren. Falls eine Phase I n¨otig ist, reicht es, flexible Hilfsrestriktionen f¨ur −ek+1 , . . . , −en zu benutzen.
b)
Bei der Variante der gr¨oßten Verbesserung muss man die Folgen jeder denkbaren Wahl i j(i) einer Pivotzeile bedenken und dazu den Zuwachs der Zielfunktion ξ βαi berechnen und j
vergleichen. j(i) h¨angt jeweils von der Pivotzeile i ab und i erfordert ξ i < 0. Also muss βj i man zu jedem solchen i einen vollen Quotientenvergleich durchf¨uhren ( α / i |αj < 0, j ∈ j
Δ). Das sind bis zu m Quotienten. Dantzig entscheidet endg¨ultig u¨ ber i und dann ist nur eine Zeile per Quotientenvergleich auszuwerten. c)
Falls eine Lockerung von (−˜ ei ) oder (−ei ) nicht zum Erfolg f¨uhrt (zi w¨are ggf. freie Richtung von X), dann kann man die Bewegung in Richtung −zi untersuchen. Das entspricht einer gedachten Restriktion −˜ eTi x ≤ 0 (erlaubte Umkehrung der Orientierung, da fiktive Restriktion).
d)
Durch die flexibel orientierten Hilfsrestriktionen schafft man sich eine Quasi-Eckeneigenschaft auf einem eingeschr¨ankten Polyeder. Es bleiben dort so viele Hilfsrestriktionen in der Basis, bis man ein spitzes Polyeder hat. Tritt in den entsprechenden Tableauzeilen eine Bewegung in der Zielfunktionen auf, dann bedeutet dies, dass sich auf dem Linienraum die Zielfunktion ver¨andert. Und dies berechtigt zum Abbruch. Ansonsten hat die Zul¨assigkeitsbereichsverkleinerung keine Auswirkung, weil der Zielfunktionswertebereich erhalten bleibt (Man erh¨alt Optimalpunkte, evtl. keine Optimalecken).
e)
Nur wenn a ˜m+1 (bei erreichtem η = 0) bereits in der Basis ist, werden – in den ersten n ˜m+1 ) dargestellt. Komponenten – die ai durch genau n Basisvektoren (n¨amlich die außer a a ˜m+1 hat n¨amlich nur Einfluss auf die letzte Koordinate. ¨ Dann kann man die Basisdarstellung gleich auf Phase II u¨ bertragen (erleichtert den Ubergang).
f)
Man sollte die Austauschaktionen so sortieren, dass die Phase I-Zielfunktion schon fr¨uh verbessert wird. Dann ist man nach n Austauschaktionen schon nahe an der Optimalecke zu Phase Ib. Ist man dort bereits optimal, dann kann man sogar die Zielfunktion von Phase II ber¨ucksichtigen.
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
153
L¨osung zu 6.2.7 a)
Zeichnung: y
a3
a4
a6 a5 a2
1
x −2
−1
1
2
−1
a8
−2
a7
−3 −4
b)
a1
Starttableau a1
a2
a3
a4
a5
a6
a7
a8
−e3
−e1
−e2
c
cη
−e1
1
−1
3
2
1
3
−2
−1
0
1
0
−2
0
−e2
1
1
−1
−1
−1
−2
−1
−1
0
0
1
1
0
−e3
1
1
1
1
1
1
1
1
1
0
0
0
1
2
2
0
−1
−1
−3
4
2
0
0
0
0
0
Es ist bmin = −3 in der Spalte zu a6 . Man stellt das Tableau zur Basis (−e1 , −e2 , a6 ) auf.
a1
a2
a3
a4
a5
a6
a7
a8
−e3
−e1
−e2
c
cη
−e1
−2
−4
0
−1
−2
0
−5
−4
−3
1
0
−2
−3
−e2
3
3
1
1
1
0
1
1
2
0
1
1
2
a6
1
1
1
1
1
1
1
1
1
0
0
0
1
5
5
3
2
2
0
7
5
3
0
0
0
3
Starte Phase Ia
154
I: 6 Simplex-Algorithmus
Pivotzeile: 1, Pivotspalte: 5 a1
a2
a3
a4
a5
a6
a7
a8
−e3
−e1
−e2
c
cη
a5
1
2
0
1
0
0
1
1
1
0
0
0
0
−1
1
0
1
−1
1 2 1 2
1
a6
3 2 1 2 − 21
− 12
2
5 2 − 32 − 32
2
−e2
1 2 1 2 1 2
0
−1
3 2 1 2 − 12
3
1
3
1
0
0
2
1
0
1
0
−2
0
−1
Pivotzeile: 2, Pivotspalte: 8 a1
a2
a3
a4
a5
a6
a7
a8
−e3
−e1
−e2
c
cη
a5
5
4
2
1
0
− 12
0
−1
−1
0
0
3 2
1
1 2 − 12
1
−2
5 2 − 21
2
a8
3 2 − 12
−1
0
5 2 − 12
a6
−2
−2
0
0
0
1
0
0
−1
0
−1
−1
−1
5
2
4
3 2
0
0
1 2
0
1 2
3 2
1
−2
1 2
Ende Phase Ia → Starte Phase Ib Pivotzeile: 3, Pivotspalte: 9 a1
a2
a3
a4
a5
a6
a7
a8
−e3
−e1
−e2
c
cη
0
−1
2
3 2 − 21
1
− 12
0
0
1 2 − 12
− 21
− 23
0
0
5 2 − 12
− 21
1 2
0
0 0
a5 a8
−1
0
−1
−e3
2
2
0
0
4
3 2
4
1
3 2
1
0
−1
0
0
1
0
1
1
1
1 2
1 2
0
3 2
1 2
− 25
0
0
Ende Phase Ib → Reduktion des Tableaus a1
a2
a3
a4
a5
a6
a7
a8
−e1
−e2
c
a5
0
−1
2
1
0
− 32
0
−1
0
3 2
1
1 2 − 21
− 12
−1
5 2 − 12
− 12
a8
3 2 − 12
− 12
1 2
4
1
4
3 2
0
1 2
1 2
0
3 2
1 2
− 52
Starte Phase II
6.3 L¨osungen zum restriktionsorientierten Simplex-Algorithmus
155
Pivotzeile: 1, Pivotspalte: 2 a1
a2
a3
a4
a5
a6
a7
a8
−e1
−e2
c
a2
0
1
−2
− 32
−1
− 25
0
− 12
a8
−1
0
−1
− 12
0
− 21
1 2 3 2
1
− 12
1 2 − 12
3 2 1 2
4
0
6
3
1
3
0
0
2
0
−4
Ende Phase II Optimalpunkt (2, 0)T mit Zielfunktionswert 4
L¨osung zu 6.2.8 Starttableau a1
a2
a3
a4
a5
a6
a7
−e4
−e1
−e2
−e3
c
cη
−e1
1
1
−2
2
1
0
−1
0
1
0
0
−1
0
−e2
−1
−1
1
1
−2
1
2
0
0
1
0
−1
0
−e3
3
1
−3
0
2
−1
0
0
0
0
1
−1
0
1
1
1
1
1
1
1
1
0
0
0
0
1
−1
0
0
0
1
−1
0
0
0
0
0
0
0
−e4
Es ist bmin = −1 in der Spalte zu a1 . Man stellt das Tableau zur Basis (−e1 , −e2 , −e3 , a1 ) auf. a1
a2
a3
a4
a5
a6
a7
−e4
−e1
−e2
−e3
c
cη
−e1
0
0
−3
1
0
−1
−2
−1
1
0
0
−1
−1
−e2
0
0
2
2
−1
2
3
1
0
1
0
−1
1
−e3
0
−2
−6
−3
−1
−4
−3
−3
0
0
1
−1
−3
a1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
2
0
1
1
0
0
0
0
1
Starte Phase Ia
156
I: 6 Simplex-Algorithmus
Pivotzeile: 1, Pivotspalte: 6 a1
a2
a3
a4
a5
a6
a7
−e4
−e1
−e2
−e3
c
cη
a6
0
0
3
−1
0
1
2
1
−1
0
0
1
1
−e2
0
0
4
−1
0
−1
−1
2
1
0
−3
−1
−e3
0
−2
6
−7
−1
0
5
1
−4
0
1
3
1
a1
1
1
−2
2
1
0
−1
0
1
0
0
−1
0
0
1
1
1
2
0
1
1
0
0
0
0
1
−4
Pivotzeile: 2, Pivotspalte: 3 a1
a2
a3
a4
a5
a6
a7
−e4
−e1
−e2
−e3
c
cη
1
1 4 1 4 − 12 1 2
1 2 − 12
0
3 4 − 41 3 2 − 21
0
0
5 4 1 4 7 2 − 21
0
− 45 3 4 − 23 1 2
1 4 1 4 − 12 1 2
0
3 4
3 4
1 2
1 4
0
− 43
3 4
a6
0
0
0
2
a3
0
0
1
−1
−e3
0
0
−1
a1
1
1
0
0
− 34 1 4 − 52 3 2
0
1
0
2
7 4
−2
0 0
−1
0 1
Pivotzeile: 3, Pivotspalte: 2 a1
a2
a3
a4
a5
a6
a7
−e4
−e1
−e2
1
0
5 4 1 4 − 47 5 4
1 4 1 4 1 4 1 4
1 2 − 12 1 2 − 12
3 4 − 41 − 43 1 4
0
5 2
1 2
0
1
a6
0
0
0
2
a3
0
0
1
−1
− 34 1 4 5 4 1 4 1 2
a2
0
1
0
a1
1
0
0
1 2 − 12
0
0
0
3 2
0 0
Ende Phase Ia → Starte Phase Ib Ende Phase Ib → Problem ist unzul¨assig → Abbruch
−e3
c
cη
0 − 21 1 2
− 45 3 4 3 4 − 41
1 4 1 4 1 4 1 4
1 2
− 23
1 2
0
6.4 Variablenorientierter Simplex-Algorithmus
157
6.4 Variablenorientierter Simplex-Algorithmus Ist das Optimierungsproblem in der Form min
cT x
unter
Ax = b, x ≥ 0 mit c, x ∈ Rn , m ≤ n, A ∈ R(m,n) , b ∈ Rm .
gegeben, dann eignet sich f¨ur die Bearbeitung besser das sogenannte variablenorientierte Verfahren. Hier stellt sich der Zul¨assigkeitsbereich als L¨osungsmenge eines Gleichungssystems dar, wobei außerdem auch noch Vorzeichenbedingungen einzuhalten sind. Dabei konzentriert man sich auf bestimmte Variablen in einer Auswahl der xi (i = 1, . . . , n) bzw. auf die diesen zugeordneten Spalten von A. Nur die Variablen in dieser Auswahl d¨urfen positive Werte annehmen und die zugeordnete Spaltenauswahl muss eine Basis des Spaltenraums von A bilden, damit der aktuelle Punkt die Eckeneigenschaft oder zumindest die Eigenschaft einer Basisl¨osung besitzen kann. Durch iteriertes Auswechseln von einzelnen Elementen aus dieser Teilmenge kann man nun entsprechend zum restriktionsorientierten Verfahren eine Verbesserung des Zielfunktionswertes bei jedem Basisaustausch (= Eckenaustausch) erzielen. Schlussendlich gelangt man auch hier zur Optimalecke oder zu einer Ecke, die den Abbruch erlaubt. Im zweiten Abschnitt wird wiederum wie im restriktionsorientierten Algorithmus gezeigt, wie man starten kann (durch Behandlung eines modifizierten Problems) und wie man in dieser Phase I bereits die Unzul¨assigkeit feststellen kann oder zu einer Ecke des Originalproblems gelangt, von der aus der Phase II-Algorithmus starten kann. Diese Version wird oft auch primaler“ Al” gorithmus genannt. Wir werden in diesem Kapitel also zun¨achst den variablenorientierten“ Algorithmus entwickeln. ” Ziel ist es, das Gleichungssystem mit x ≥ 0 zu erf¨ullen, und unter dieser Nebenbedingung zu optimieren. Diesmal m¨ussen wir vorwiegend mit Spalten der Matrix A operieren. Zur Vereinfachung schreiben wir Ai f¨ur eine solche Spalte. xi , i = 1, . . . , n sind die disponierbaren Variablen. AB sind die Basisspalten, AN die Nichtbasisspalten. Lemma 6.13 Wenn A Rang m hat, dann sind Basisl¨osungen genau die Punkte mit Ax = b, wobei mindestens n − m der xi null sind und die Ai zu den positiven xi linear unabh¨angig sind.
Bemerkung Hat A nicht den Rang m, dann finden wir weniger als m linear unabh¨angige Spalten bzw. dann liefert der Gauß-Algorithmus eine Nullzeile, auf die wir verzichten k¨onnen. Mit jeder Auswahl einer Basis unter den Ai generieren wir eine Basisl¨osung. Mit dem Gaußschen Algorithmus kann damit die Matrix so vereinfacht werden, dass links“ E und rechts“ A−1 B AN steht. Dabei sam” ” melt B als Indexmenge die Basisvariablen (Spalten) und N die Nichtbasisvariablen (Spalten). Aus der Linearen Algebra wissen wir, wie die L¨osungsmenge von Ax = b bestimmt werden
158
I: 6 Simplex-Algorithmus
kann. Offensichtlich gilt f¨ur jede L¨osung ⎛
⎞ ⎛ 1 ⎞ ⎛ 1⎞ χ1 −γm+1 −γn ⎜ .. ⎟ ⎜ .. ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎟ ⎟ ⎟ ⎜ ⎜ ⎜ ⎜ χm ⎟ ⎜−γ m ⎟ ⎜−γ m ⎟ xB n m+1 ⎜ ⎟ ⎟ ⎟ ⎜ ⎜ = ⎜ ⎟ + x1N ⎜ x= ⎟. ⎟ + . . . + xn−m ⎜ N xN ⎜ 0 ⎟ ⎜ 1 ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎟ ⎟ ⎜ ⎜ ⎜ .. ⎟ ⎜ .. ⎟ ⎜ .. ⎟ ⎝ . ⎠ ⎝ . ⎠ ⎝ . ⎠ 1 0 0 Der erste Vektor χ ist eine spezielle L¨osung des inhomogenen Systems Ax = b, die restlichen bilden eine Basis des Kerns von A. Dabei k¨onnen wir aus der Gaußprozedur bestimmen: −1 χ = A−1 B b, γm+i = AB Am+i , und wir haben b = Ax = AB xB +AN xN und χ = xB +ΓN xN −1 mit ΓN = AB AN . Dies ist a¨ quivalent zu xB = χ − ΓN xN . Setzen wir xN = 0, dann f¨uhrt dies bei gegebenem B zur Basisl¨osung b = AB xB ⇔ xB = A−1 B b. Beliebige Festsetzung von xN liefert −1 A−1 B b = xB + AB AN xN −1 ⇔ xB = AB b − A−1 angig von xN ). B AN xN (abh¨ F¨ur die Zielfunktion schreiben wir entsprechend Q(x) = cT x = cTB xB + cTN xN . Bei Wahl von xN = 0 ergibt sich Q(x) = cT x = cTB xB . Allgemein gilt −1 T Q(x)xN = cTB xB + cTN xN = cTB (A−1 B b − AB AN xN ) + cN xN =
T T −1 = cTB A−1 B b + (cN − cB AB AN )xN .
Der sogenannte Vektor der reduzierten Kostenkoeffizienten“ ist cT − cTB A−1 B A. Der interessante ” A beschreibt also, wie sich eine Ver¨ a nderung von xN auf die ZielfunkTeilvektor cTN − cTB A−1 N B tion auswirkt. L¨osen wir uns nun von genau einer straffen Restriktion in Richtung Zul¨assigkeitsbereich, dann erh¨ohen wir ein xiN von null aus (Kante des Polyeders). Die Wirkung der Erh¨ohung von xiN i um 1 ist dann ciN − (cTB A−1 B AN ) (sogenannter reduzierter Kostenkoeffizient). Ist also der reduzierte Kostenkoeffizient negativ, dann bringt eine isolierte Erh¨ohung von xiN eine Senkung der Zielfunktion. Zur Zul¨assigkeit ist immer erforderlich, dass xB ≥ 0 und alle xN ≥ 0. Ein xiN wird positiv gemacht, die u¨ brigen bleiben 0, in xB darf keine Komponente kleiner als null werden.
6.4 Variablenorientierter Simplex-Algorithmus
159
Man beachte, dass Folgendes eingehalten werden muss: ⎞ ⎛ 1 ⎞ −γm+i χ1 ⎜ .. ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎜ ⎟ ⎜ j⎟ ⎜ χ ⎟ + xiN ⎜−γ j ⎟ ≥ 0 ⎜ m+i ⎟ ⎜ ⎟ ⎜ . ⎟ ⎜ . ⎟ ⎝ .. ⎠ ⎝ .. ⎠ ⎛
χm
m −γm+i
j Wenn alle γm+i negativ sind, folgt Unbeschr¨anktheit (man kann xN i beliebig erh¨ohen).
j j j Wenn ein γm+i > 0, j = 1, . . . , m (Quotipositiv ist, dann wird xj durch min γ jχ
γm+i m+i entenvergleich) bestimmt. Wir erreichen dadurch eine neue Ecke und B a¨ ndert sich zu:
B neu = B alt ∪ {m + i} \ {j}. −1 −1 Die Gr¨oßen A−1 B neu , AB neu AN bzw. AB neu A = (E, Γ), xB neu , sowie −1 −1 T ussen cT −cTB neu AB neu A = (0, cTN neu −cTB neu A−1 B neu AN neu ), und χ = AB neu b, cB neu xB neu m¨ neu berechnet werden. Wir ordnen diese Gr¨oßen in einem Tableau an:
A1
Ai
Ah
A
An
b
···
γn1
χ1 .. . χj .. .
AB 1
0
1
γi1
0
γ1
.. .
.. . 0
.. . 0
.. . γij
.. . 1
.. . γj
···
.. . γnj
.. .
.. .
.. .
.. .
.. .
···
.. .
1
0
γim
0
γm
· · · γnm
χm
0
0
c˜i
0
c˜
···
c˜n
−Q
Ah = AB j
AB m
In Matrixschreibweise haben wir also hier bei Aufteilung A = (AB , AN ) A1
A2
Ai
An
Am
b
AB 1 AB j
A−1 B (A)
A−1 B (b)
AB n c˜T = cT − cTB A−1 B A
−Q(x) = −cTB xB
160
I: 6 Simplex-Algorithmus
γij sind die Darstellungskoeffizienten von Ai durch die Spalten von AB . Somit steht im Hauptteil des Tableaus die Matrix A−1 B A. m Die rechte Spalte ergibt sich aus χ = A−1 B b ∈ K . Der Zeilenvektor in der untersten Tableauzeile ist c˜ = (˜ c1 , . . . , c˜n ) = cT − cTB A−1 B A. Und der Zielfunktionswert ist Q = cTB AB −1 b. ¨ ci < 0) wird zun¨achst die Pivotspalte bestimmt. Das Pivotelement bestimmt sich danach Uber c˜i (˜ j aus der Quotientenregel (aus den χγ j mit γij > 0, also zwischen rechtester Spalte und Pivotspalte) i und legt die Pivotzeile fest. Ein Basisaustausch verl¨auft wie folgt: Ai wird Basisspalte, AB j Nichtbasisspalte. h sei der Originalindex von B j , das heißt Ah = AB j . Unsere Pivotregeln liefern ganz analog zu den Regeln aus den restriktionsorientierten Verfahren und entsprechend zu den Gaußschen Eliminationsschritten: F¨ur Spalten l = i, = h, 1 ≤ ≤ n und Zeilen k = j, 1 ≤ k ≤ m: γk (neu) = γk − γj
γik
c˜ = γj
j,
γi
c˜i
χk (neu) = χk − χj
j,
γi
γk
F¨ur die Spalte i und Zeilen k = j, 1 ≤ k ≤ m : γik (neu) = 0,
F¨ur Spalten l = i, 1 ≤ n und die Zeile j :
γj (neu)
Das bedeutet f¨ur Spalte h und Zeile j : γnj (neu) =
=
γj , γij
γij
. i
und c˜h (neu) = − γc˜j .
F¨ur die Spalte h und Zeilen k = j, 1 ≤ k ≤ m: γnk (neu) = − γij , i
γik
sowie c˜k (neu) = 0.
sowie χj (neu) =
1 . γij
i
χj . γij
Nat¨urlich ist in Spalte i und Zeile j gerade γij (neu) = 1. i Und in der untersten Spalte und Zeile steht: −Q(neu) = −Q − χj γc˜j . i
AB 1
Ah = AB j
AB m
A1
A2
Ai
Ah
0
1
0
− γij
γ1 − γj γij
γn1 − γnj γij
χ1 − χj γij
.. .
.. .
.. .
.. .
.. .
.. .
.. .
0
0
1
.. .
.. .
.. .
1 γij
1
0
0
− γij
0
i − γc˜j i
0
0
γ1 i
A
An γ1 i
γj γij
.. .
i
γm − γj
i
j γn γij
.. .
γm
γ1
i
c˜ − γj γc˜j i
γnm − γnj
i
χj γij
.. .
γim γij
γ1
.. .
γim γij i
j c˜ c˜n − γm γj i
χ m − χj
γim γij i
−Q − χj γc˜j i
Damit erreichen wir neue γ-Darstellungsfaktoren zu B neu innerhalb der Hauptmatrix, ebenso wird χ in neuer Form dargestellt. Schließlich wird auch die unterste Zeile (der reduzierten Kos” tenkoeffizienten“) in richtiger Weise auf die neue Basis adaptiert. Unser Algorithmus f¨ur Phase II sieht also so aus:
6.4 Variablenorientierter Simplex-Algorithmus
161
Algorithmus 6.14 (Konzept des variablenorientierten Simplexalgorithmus) ¨ 1. Uberpr¨ ufe, ob c˜ ≥ 0, wenn ja, dann STOP wegen Optimalit¨at, ansonsten suche ein c˜i < 0 und bestimme daraus die Pivotspalte i. 2.
Betrachte die γij mit j = 1, . . . , m. Sind alle γij ≤ 0, dann ist das Problem unbeschr¨ankt nach unten.
3.
Gibt es Werte γij > 0, dann bestimme die Pivotzeile j durch x j χj min Bj = j γi γi
4.
F¨uhre nun einen Basiswechsel der Spalten durch: B geht u¨ ber in B \ B j ∪ {i}. Dadurch bleibt auch xB neu ≥ 0 und nach dem Quotientenkriterium wird Q nicht verschlechtert: Qneu = Qalt +
5.
j
j
γ > 0, j = 1, . . . , m = xB
i γij
xjB c˜i γij
= Qalt +
χj c˜i γij
≤ Qalt
Gehe zu 1.
F¨ur die Entscheidung in Schritt 1. u¨ ber die Pivotspaltenauswahl und in Schritt 3. bei Mehrdeutigkeit des Minimums k¨onnen wieder die Varianten aus Abschitt 6.1 dienen. Beispiele sind: •
Bland (kleinster Index),
•
Dantzig (minimaler Wert c˜j < 0)
•
gr¨oßte Verbesserung (minimaler Wert von
χj c˜i ) γij
Phase I fur ¨ den variablenorientierten Algorithmus Zu l¨osen sei
min cT x unter Ax = b, x ≥ 0.
Wir sorgen zun¨achst daf¨ur, dass auf der rechten Seite keine negativen Werte mehr stehen. Deshalb wandeln wir das Problem um durch Multiplikation mit −1 aller bi < 0–Zeilen. Neues Problem: ˆ = ˆb, x ≥ 0. min cT x unter Ax Um zul¨assige Punkte zu bekommen, m¨ussen wir zun¨achst Schlupfvariablen einf¨uhren und unser (P I)-Problem formulieren:
162
I: 6 Simplex-Algorithmus
min 1T u ˆ + Em u = ˆb, x ≥ 0, u ≥ 0 unter Ax mit x ∈ K n , u ∈ K m , 1 ∈ K m 0 x Bekannt ist ein zul¨assiger Punkt = ˆ . Eine m¨ogliche Spaltenbasis wird von Em gelieu b 0 fert. Anfangstableau zur Ecke ˆ im (P I)-Problem: b x1 A1
xn An
u1 um
u1 E1
um Em
1
0−
m
j=1
.
0 γij
c
ˆb1 .. . ˆbm
0 ..
γij = Aji
ˆb
1
0
···
0
0
···
0
−1T u = −
ˆi b
−Q = 0
Nun wird gem¨aß der vorletzten Zeile und gem¨aß Algorithmus 6.14 optimiert. Bleibt −1T u negativ, dann ist die Unzul¨assigkeit des Originalproblems erwiesen. Beim Erreichen von −1T u = 0 m¨ussen u1 , . . . , um (falls dann noch in der Basis) daraus entfernt werden. Danach startet man Phase II unter Weglassen der vorletzten Zeile (die die Hilfszielfunktion beschrieben hat). Der u1 , . . . , um -Teil kann entfallen. Mit Algorithmus 6.14 kann dann das Problem gel¨ost werden.
6.5 Aufgaben zum variablenorientierten SimplexAlgorithmus Aufgabe 6.5.1 L¨osen Sie das folgende lineare Programm mit dem variablenorientierten Simplexverfahren. Verwenden Sie die Auswahlregel von Dantzig. Bei Nicht-Eindeutigkeit der Zeilen- oder Spaltenauswahl entscheiden Sie sich f¨ur das obere bzw. linkere Element. min − 2x1 x1 x1 3x1
− x2 + 2x2 + x2 + x2
3
+x
+ x4
= + 6x4 = + 2x4 ≤ x ≥
12 8 18 0
6.5 Aufgaben zum variablenorientierten Simplex-Algorithmus
163
Aufgabe 6.5.2 L¨osen Sie das folgende Problem mit dem variablenorientierten Simplexverfahren: min
x1 x1 3x1 1
−x
− x3
2
− 2x + x2 − x2
3
−x
+ x5
4
−x
4
−x
+ x5 + 2x5
− x6 + 2x6 − x6 − 2x6
− x7
= = − x7 = + x7 = x ≥
2 1 2 1 0
Verwenden Sie die Pivotregel von Dantzig. Falls Dantzig’s Regel oder das Quotientenkriterium keine eindeutige Pivotauswahl erm¨oglicht und es somit mehrere M¨oglichkeiten gibt, die Pivotspalte oder -zeile zu w¨ahlen, dann w¨ahlen Sie die am weitesten links stehende Pivotspalte bzw. die am weitesten oben stehende Pivotzeile.
Aufgabe 6.5.3 L¨osen Sie das folgende Problem mit dem variablenorientierten Simplexverfahren: min
2x1 − x1 2x1 − x1 x1
− 2x2 − x2 − x2 + x2
+ x3 + x3 + x3 3
+2 x
+ x4 − x4 − x4 x
= −1 = 7 ≤ −1 ≥ −4 ≥ 0
Verwenden Sie die Pivotregel von Dantzig. Falls Dantzig’s Regel oder das Quotientenkriterium keine eindeutige Pivotauswahl erm¨oglicht und es somit mehrere M¨oglichkeiten gibt, die Pivotspalte oder -zeile zu w¨ahlen, dann w¨ahlen Sie die am weitesten links stehende Pivotspalte bzw. die am weitesten oben stehende Pivotzeile.
Aufgabe 6.5.4 L¨osen Sie mit dem variablenorientierten Simplexverfahren die Aufgabenstellung: min unter
cT x c, x ∈ R7 , b ∈ R4 Ax = b, x ≥ 0 A ∈ R(4,7)
mit ⎛
1 2 −1 −2 ⎜−1 −2 0 3 A=⎜ ⎝ 0 1 −2 0 0 −2 0 1
1 −1 1 −2 2 0 1 −2
⎞ 1 0⎟ ⎟, −1⎠ 1
⎛ ⎞ 3 ⎜2⎟ ⎟ b=⎜ ⎝1⎠ 4
c = (1, −1, −1, −1, 1, 1, −1)T 1.
mit der Variante von Bland (sowohl in Phase I also auch in Phase II).
164
2.
I: 6 Simplex-Algorithmus
mit der Variante der gr¨oßten Verbesserung (sowohl in Phase I also auch in Phase II). Bei nicht eindeutiger Auswahl verwenden Sie das linkere bzw. das h¨ohere Element.
Aufgabe 6.5.5 L¨osen Sie mit dem variablenorientierten Simplexverfahren die folgende Optimierungsaufgabe. min unter −
3x1 2x1 x1
− 3x2 + 2x2 − 5x2
+ x3 − 4x3 − 3x3
− − +
2x4 2x4 3x4
+
x4
+ + +
x5 x5 2x5
+ − +
x6 4x6 2x6
−
2x6
− + − + −
2x7 2x7 4x7 x7 3x7 x
= = = = ≥
2 2 2 2 0
Verwenden Sie f¨ur die Auswahl der Pivotspalte immer die Regel von Bland, das heißt, dass Sie bei Wahlm¨oglichkeiten stets der Variablen mit dem kleinsten Originalindex den Vorrang geben.
6.6 L¨osungen zum variablenorientierten SimplexAlgorithmus L¨osung zu 6.5.1
Wegen der Ungleichung 3x1 + x2 + 2x4 ≤ 18 wird eine Schlupfvariable x5 ≥ 0 eingef¨uhrt, um ein Problem in Standardform zu erhalten. Die (neue) Aufgabenstellung f¨ur den variablenorientierten Simplexalgorithmus lautet deshalb min − 2x1
− x2
x1 x1 3x1
+ 2x2 + x2 + x2
+ x4 + x3
+ 6x4 + 2x4
+x5 x
= 12 = 8 = 18 ≥
0
Starttableau Starte Phase I x1
x2
x3
x4
x5
u1
u2
u3
xB
u1
1
2
1
0
0
1
0
0
12
u2
1
1
0
0
0
1
0
8
u3
3
1
0
2
1
0
0
1
18
−5
−4
−1
−8
−1
0
0
0
−38
−2
−1
0
1
0
0
0
0
0
6
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
165
Pivotzeile: 2 Pivotspalte: 4 x1
x2
x3
x4
x5
u1
u2
u3
xB
1
0
0
1
0
0
12
0 1
4 3 46 3
u1
1
2
x4
1 6 8 3
1 6 2 3
0
1
0
0
0
0
1
0
1 6 − 31
− 11 3
− 83
−1
0
−1
0
4 3
0
− 82 3
− 13 6
− 76
0
0
0
0
− 61
0
− 34
u3
Pivotzeile: 3 Pivotspalte: 1 x1
x2
u1
0
x4
0
7 4 1 8
1
1 4
0 0
x1
x3
x4
x5
u1
u2
u3
xB
1
0
1
0
1
− 83 1 − 16
0
1 8 3 16
− 83 1 − 16
25 4 3 8
0
0
3 8
0
− 81
3 8
23 4
− 74
−1
0
3 8
0
7 8
11 8
− 25 4
− 58
0
0
13 16
0
7 − 16
13 16
89 8
Pivotzeile: 2 Pivotspalte: 2 x1
x2
x3
x4
x5
u1
u2
u3
xB
0
0
1
−14
1
− 52
1
0 0
3 2 − 12
1 2 − 12 1 2
x2
0
1
0
8
x1
1
0
0
−2
1 2 − 21 1 2
0
0
−1
14
− 21
0
7 2
1 2
−1
0
0
0
5
1 2
0
1 2
1 2
13
x1
x2
x3
x4
x5
u1
u2
u3
xB
0
0
1
−14
1 2 − 21 1 2
1
− 52
1
0
3 2 − 12
1 2 − 12 1 2
1
1
1
0
0
1 2
1 2
13
u1
3 5
Pivotzeile: 1 Pivotspalte: 3
x3 x2
0
1
0
8
x1
1
0
0
−2
0
0
0
0
0
5
1 2
0
0
0
0
3 5
166
I: 6 Simplex-Algorithmus
Ende Phase I → Streiche Hilfsproblemzeile Starte Phase II x1
x2
x3
x4
x5
u1
u2
u3
xB
0
0
1
−14
1
− 25
1
0 0
3 2 − 21
1 2 − 21 1 2
0
1 2
1 2
13
x2
0
1
0
8
x1
1
0
0
−2
1 2 − 21 1 2
0
0
0
5
1 2
x3
3 5
Ende Phase II Optimalpunkt (5, 3, 1, 0, 0)T mit Zielfunktionswert −13
L¨osung zu 6.5.2 Starttableau Starte Phase I x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
−2
0
−1
0
2
−1
1
0
0
0
2
1
−1
0
0
−1
0
0
1
0
0
1
u1 u2
3
u3
0
−1
0
0
1
−2
−1
0
0
1
0
2
u4
−1
0
0
−1
2
0
1
0
0
0
1
1
−3
2
1
2
−3
1
1
0
0
0
0
−6
1
0
−1
0
1
−1
0
0
0
0
0
0
Pivotzeile: 2 Pivotspalte: 1 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
0
− 37
−1
0
1
− 31
0
0
1
1 3
0
0
7 3 − 13
−1
x1
1 3 − 31
0
0
1 3
0
0
5 3 1 3
u3
0
−1
0
0
1
−2
−1
0
0
1
0
2
0
1 3
− 31
−1
0
1
4 3
0
3
0
2
0
− 31
− 32
0
u4
− 13
1
0
1 3
−3
0
1
0
1
0
0
−5
1
− 23
0
0
− 31
0
0
− 31
2
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
167
Pivotzeile: 4 Pivotspalte: 5 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
0
− 73
1 3
−1
0
7 3
−1
1
− 13
0
0
5 3
x1
1
− 13
0
0
− 13
0
0
0
1 6 − 16
1 2 − 12
0
− 11 6
− 32
0
1
− 12
1
− 16
1 2
0
1 3 − 16 1 6
0
0
1 3 − 76 1 6
0
1 2
1 3 4 3 2 3
u3
0
x5
0
7 2
− 12
1 2
0
− 12
5 2
0
3 2
0
3 2
−3
0
− 12
− 12
1 2
0
− 12
− 12
0
− 12
0
− 12
−1
Pivotzeile: 1 Pivotspalte: 3 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x3
0
−7
1
−3
0
7
−3
3
−1
0
0
5
x1
1
−2
0
−1
0
2
−1
1
0
0
0
2
0
1
0
0
− 12 1 2
1 2 3 2
u3
0
0
0
1
0
−3
−1
x5
0
−1
0
−1
1
1
0
− 21 1 2
0
0
0
−1
0
3
1
3 2
1
0
3 2
− 21
0
−4
0
−1
0
3
−2
3 2
−1
0
− 12
3 2
Pivotzeile: 3 Pivotspalte: 4 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x3
0
−7
1
0
0
−2
−6
−1
3
− 23
x1
1
−2
0
0
0
−1
−2
0
1
− 21
x4
0
0
0
1
0
−3
−1
3 2 1 2 − 12
0
1
− 21
13 2 5 2 1 2
x5
0
−1
0
0
1
−2
−1
0
0
1
0
2
0
0
0
0
0
0
0
1
1
1
1
0
0
−4
0
0
0
0
−3
1
−1
1
−1
2
Ende Phase I → Streiche Hilfsproblemzeile
168
I: 6 Simplex-Algorithmus
Starte Phase II x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x3
0
−7
1
0
0
−2
−6
−1
3
− 32
x1
1
−2
0
0
0
−1
−2
0
1
− 12
x4
0
0
0
1
0
−3
−1
3 2 1 2 − 21
0
1
− 12
13 2 5 2 1 2
x5
0
−1
0
0
1
−2
−1
0
0
1
0
2
0
−4
0
0
0
0
−3
1
−1
1
−1
2
Ende Phase II Problem ist unbeschr¨ankt mit freier Richtung z2 = (2, 1, 7, 0, 1, 0, 0)T und cT z2 = −4
L¨osung zu 6.5.3 Das Problem min
2x1
− 2x2
+ x3
− x1 2x1 − x1 x1
− x2 − x2 + x2
+ x3 + x3 3
+2 x
+ x4 = = ≤ ≥
−1 7 −1 −4
x ≥
0
− x4 − x4
muss zun¨achst umformuliert werden, insbesondere m¨ussen Schlupfvariablen bei den Ungleichungen eingef¨uhrt werden und dann m¨ussen die Zeilen mit negativer rechter Seite mit −1 multipliziert werden. Damit ergibt sich folgendes Standardformproblem, das mit dem variablenorientierten Simplexverfahren zu l¨osen ist: min
2x1
− 2x2
+ x3
x1 2x1 x1 −x1
+ x2 − x2 − x2
− x3 + x3 3
−2 x
+ x4
+ x4 + x4
− x5
+ x6 x
= = = =
1 7 1 4
≥ 0
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
169
Starttableau Starte Phase I
u1
x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
1
1
−1
0
0
0
1
0
0
0
1
u2
2
−1
1
0
0
0
0
1
0
0
7
u3
1
−1
0
1
−1
0
0
0
1
0
1
u4
−1
0
−2
1
0
1
0
0
0
1
4
−3
1
2
−2
1
−1
0
0
0
0
−13
2
−2
1
1
0
0
0
0
0
0
0
Pivotzeile: 1 Pivotspalte: 1 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
1
−1
0
0
0
1
0
0
0
1
u2
0
−3
3
0
0
0
−2
1
0
0
5
u3
0
−2
1
−1
0
−1
0
1
0
0
u4
0
1
−3
1
0
1
1
0
0
1
5
0
4
−1
−2
1
−1
3
0
0
0
−10
0
−4
3
1
0
0
−2
0
0
0
−2
1
Pivotzeile: 3 Pivotspalte: 4 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
1
−1
0
0
0
1
0
0
0
1
u2
0
−3
3
0
0
0
−2
1
0
0
5
x4
0
−2
1
1
−1
0
−1
0
1
0
0
u4
0
3
−4
0
1
1
2
0
−1
1
5
0
0
1
0
−1
−1
1
0
2
0
−10
0
−2
2
0
1
0
−1
0
−1
0
−2
170
I: 6 Simplex-Algorithmus
Pivotzeile: 4 Pivotspalte: 5 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
1
−1
0
0
0
1
0
0
0
1
u2
0
−3
3
0
0
0
−2
1
0
0
5
x4
0
1
−3
1
0
1
1
0
0
1
5
x5
0
3
−4
0
1
1
2
0
−1
1
5
0
3
−3
0
0
0
3
0
1
1
−5
0
−5
6
0
0
−1
−3
0
0
−1
−7
Pivotzeile: 2 Pivotspalte: 3 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
0
0
0
0
0
0
0
−1
1
0
0
0
1 3 1 3
0
x3
1 3 − 23
0
0
8 3 5 3
x4
0
−2
0
1
0
1
−1
1
0
1
10
x5
0
−1
0
0
1
1
− 23
4 3
−1
1
35 3
0
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
−1
1
−2
0
−1
−17
Ende Phase I → Streiche Hilfsproblemzeile Starte Phase II x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
0
0
0
0
0
0
0
−1
1
0
0
0
1 3 1 3
0
x3
1 3 − 23
0
0
8 3 5 3
x4
0
−2
0
1
0
−1
1
0
1
10
4 3
−1
1
35 3
−2
0
−1
−17
x5
1
0
−1
0
0
1
1
− 23
0
1
0
0
0
−1
1
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
171
Pivotzeile: 3 Pivotspalte: 6 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
x1
1
0
0
0
0
0
0
0
−1
1
0
0
0
1 3 1 3
0
x3
1 3 − 23
0
0
8 3 5 3
x6
0
−2
0
1
0
1
−1
1
0
1
10
1 3
−1
0
5 3
−1
0
0
−7
x5
0
1
0
−1
1
0
1 3
0
−1
0
1
0
0
0
Pivotzeile: 4 Pivotspalte: 2 x1
x2
x3
x4
x5
x6
u1
u2
u3
u4
xB
1 3 2 3 5 3 1 3
0
0
−1
0
−2
1
−1
0
8 3 10 3 40 3 5 3
− 23
−1
0
− 16 3
x1
1
0
0
0
0
0
x3
0
0
1
−1
1
0
x6
0
0
0
−1
2
1
x2
0
1
0
−1
1
0
1 3 − 13 − 13 1 3
0
0
0
0
1
0
1 3
Ende Phase II 40 T Optimalpunkt ( 83 , 53 , 10 3 , 0, 0, 3 ) mit Zielfunktionswert
16 3
L¨osung zu 6.5.4 Variante von Bland Starttableau Starte Phase I x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
1
2
−1
−2
1
−1
1
1
0
0
0
3
u2
−1
−2
0
3
1
−2
0
0
1
0
0
2
u3
0
1
−2
0
2
0
−1
0
0
1
0
1
u4
0
−2
0
1
1
−2
1
0
0
0
1
4
0
1
3
−2
−5
5
−1
0
0
0
0
−10
1
−1
−1
−1
1
1
−1
0
0
0
0
0
172
I: 6 Simplex-Algorithmus
Pivotzeile: 2 Pivotspalte: 4
u1 x4 u3 u4
x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1 3 − 31
2 3 − 32
−1
0
− 73
1
1
0
1
− 23
0
0
2 3 1 3
0
0
5 3 1 3
0
0
13 3 2 3
1
−2
0
2
0
−1
0
0
1
0
1
− 43
1
0
− 31
0
1
10 3
0 1 3
− 34
0
0
2 3
− 32
− 31
3
0
− 13 3
11 3
−1
0
2 3
0
0
− 26 3
2 3
− 35
−1
0
4 3
1 3
−1
0
1 3
0
0
2 3
Pivotzeile: 4 Pivotspalte: 1 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
0
2
−1
0
1
−1
0
1
1
0
−1
1
x4
0
−2
0
1
1
−2
1
0
0
0
1
4
u3
0
1
−2
0
2
0
−1
0
0
1
0
1
x1
1
−4
0
0
2
−4
3
0
−1
0
3
10
0
−3
3
0
−3
1
1
0
0
0
2
−2
0
1
−1
0
0
3
−3
0
1
0
−2
−6
Pivotzeile: 1 Pivotspalte: 2 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x2
0
1
− 21
0
1 2
− 21
0
1 2
1 2
0
− 21
1 2
x4
0
0
−1
1
2
−3
0
3 2
1
1
1
0
0
5
1 2
−1
− 21
− 21
1
1 2
1 2
u3
0
0
− 23
x1
1
0
−2
0
4
−6
3
2
1
0
1
12
0
0
3 2
0
− 23
− 21
1
3 2
3 2
0
1 2
− 21
0
0
− 21
0
− 21
7 2
−3
− 21
1 2
0
− 23
− 13 2
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
173
Pivotzeile: 3 Pivotspalte: 5 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x2
0
1
0
0
0
− 32
0
1
1
0
− 11 3
− 34
− 32
x5
0
0
−1
0
1
x1
1
0
2
0
0
1 3 22 −3
2 3 5 3 − 31 7 3
− 32
0
2 3 5 3 − 31 10 3
− 31
x4
1 3 7 3 − 32 17 3
2 3 − 38
1 3 − 31
1 3 13 3 1 3 32 3
0
0
0
0
0
0
0
1
1
1
1
0
0
0
−1
0
0
11 3
− 10 3
− 32
1 3
1 3
− 34
− 19 3
Ende Phase I → Streiche Hilfsproblemzeile Starte Phase II x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x2
0
1
0
0
0
− 32
0
1
1
0
− 11 3
− 34
− 32
x5
0
0
−1
0
1
x1
1
0
2
0
0
1 3 − 22 3
2 3 5 3 − 31 7 3
− 32
0
2 3 5 3 − 31 10 3
− 31
x4
1 3 7 3 − 32 17 3
2 3 − 38
1 3 − 31
1 3 13 3 1 3 32 3
0
0
−1
0
0
11 3
− 10 3
− 32
1 3
1 3
− 34
− 19 3
x7
u1
u2
u3
u4
xB
1 3
2 3
2 3
− 13
− 23
1 3
5 3 4 3
5 3 4 3
− 43
− 23
− 23
− 13
13 3 14 3
Pivotzeile: 2 Pivotspalte: 3 x1
x2
x3
x4
x5
x6
x2
0
1
0
0
0
− 32
x3
0
0
1
1
0
− 11 3
x5
0
0
0
1
1
− 10 3
7 3 5 3
x1
1
0
0
−2
0
0
1
0
−1
0
1
2
0
0
0
1
0
0
−1
1
2
−1
−2
−2
174
I: 6 Simplex-Algorithmus
Pivotzeile: 1 Pivotspalte: 7 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x7
0
3
0
0
0
−2
1
2
2
−1
−2
1
x3
0
−7
1
1
0
1
0
−3
−3
1
4
2
x5
0
−5
0
1
1
0
0
−2
−2
1
3
3
x1
1
−3
0
−2
0
2
0
−2
−3
1
3
1
0
3
0
1
0
−2
0
3
4
−2
−4
−1
x2
x3
x4
x5
x6
x7
u1
u2
0
−2
0
0
1
0
−1
0
1
2
1 2
5 2
3 2
Pivotzeile: 4 Pivotspalte: 6 x1 x7
1
0
x3
− 12
− 11 2
1
x5
0
−5
0
x6
1 2
− 32
0
−1
0
1
1
0
0
−1
0
x3
x4
x5
2 1
u3
u4
xB
0
0
0
−2
− 32
1
0
0
−2
−2
1
3
3
0
−1
− 32
1 2
3 2
1 2
0
0
1
1
−1
−1
0
x6
x7
u1
u2
u3
u4
xB
1 2 1 4 3 4 3 4
7 2 5 4 7 4 11 4
7 2 3 4 9 4 5 4
− 34
1 4
3 4
Pivotzeile: 2 Pivotspalte: 4
x7 x4 x5 x6
x1
x2
1 2 − 41 1 4 1 4
− 11 2 11 −4 − 49 − 17 4
1
0
0
0
1
−2
1 2 − 21 1 2
1
0
0
0
−1
0
1
0
0
−1
0
0
1
0
−2
− 52 − 34 − 54 − 94
3 4
− 11 4
1 2
0
0
0
0
0
1 4
Ende Phase II 9 17 11 T 11 T Problem ist unbeschr¨ankt mit freier Richtung z2 = (0, 1, 0, 11 4 , 4 , 4 , 2 ) und c z2 = − 4
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
175
Variante der gr¨oßten Verbesserung Starttableau Starte Phase I x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
1
2
−1
−2
1
−1
1
1
0
0
0
3
u2
−1
−2
0
3
1
−2
0
0
1
0
0
2
u3
0
1
−2
0
2
0
−1
0
0
1
0
1
u4
0
−2
0
1
1
−2
1
0
0
0
1
4
0
1
3
−2
−5
5
−1
0
0
0
0
−10
1
−1
−1
−1
1
1
−1
0
0
0
0
0
Pivotzeile: 1 Pivotspalte: 7 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x7
1
2
−1
−2
1
−1
1
1
0
0
0
3
u2
−1
−2
0
3
1
−2
0
0
1
0
0
2
u3
1
3
−3
−2
−1
0
1
0
1
0
4
u4
−1
−4
1
3
0
−1
0
−1
0
0
1
1
1
3
2
−4
−4
4
0
1
0
0
0
−7
2
1
−2
−3
2
0
0
1
0
0
0
3
3
Pivotzeile: 3 Pivotspalte: 5 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
0
− 34
0
− 32
1
− 31
0
−3
0
− 35
0
1
− 31
0
1
−1
11 3 − 32
1
− 31
0
2 3 − 31 1 3
0
x5
2 3 − 43 1 3
0
1 3
0
5 3 2 3 4 3
u4
−1
−4
1
3
0
−1
0
−1
0
0
1
1
7 3
7
−2
− 20 3
0
8 3
0
7 3
0
4 3
0
− 35
4 3
−1
0
− 35
0
2 3
0
1 3
0
− 32
0
1 3
x7 u2
1
176
I: 6 Simplex-Algorithmus
Pivotzeile: 2 Pivotspalte: 3 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
0
− 43
0
− 23
1
− 31
0
−3
1
11 3
0
− 53
0
2 3 − 13
0
x3
2 3 − 43
1
− 31
0
5 3 2 3
x5
−1
−2
0
3
1
−2
0
0
1
0
0
2
u4
1 3
−1
0
− 23
0
2 3
0
− 23
−1
1 3
1
1 3
− 13
1
0
2 3
0
− 23
0
5 3
2
2 3
0
− 31
4 3
−1
0
− 53
0
2 3
0
1 3
0
− 32
0
1 3
x7
Pivotzeile: 4 Pivotspalte: 1 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x7
0
3
0
0
0
−2
1
2
2
−1
−2
1
x3
0
−7
1
1
0
1
0
−3
−3
1
4
2
x5
0
−5
0
1
1
0
0
−2
−2
1
3
3
x1
1
−3
0
−2
0
2
0
−2
−3
1
3
1
0
0
0
0
0
0
0
1
1
1
1
0
0
3
0
1
0
−2
0
3
4
−2
−4
−1
Ende Phase I → Streiche Hilfsproblemzeile Starte Phase II x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x7
0
3
0
0
0
−2
1
2
2
−1
−2
1
x3
0
−7
1
1
0
1
0
−3
−3
1
4
2
x5
0
−5
0
1
1
0
0
−2
−2
1
3
3
x1
1
−3
0
−2
0
2
0
−2
−3
1
3
1
0
3
0
1
0
−2
0
3
4
−2
−4
−1
6.6 L¨osungen zum variablenorientierten Simplex-Algorithmus
177
Pivotzeile: 4 Pivotspalte: 6 x1
x2
x3
x4
x5
x6
x7
u1
u2
0
−2
0
0
1
0
−1
0
1
2
1 2
5 2
3 2
x7
1
0
x3
− 12
− 11 2
1
x5
0
−5
0
x6
1 2
− 32
0
−1
0
1
1
0
0
−1
0
x3
x4
x5
2 1
u3
u4
xB
0
0
0
−2
− 32
1
0
0
−2
−2
1
3
3
0
−1
− 32
1 2
3 2
1 2
0
0
1
1
−1
−1
0
x6
x7
u1
u2
u3
u4
xB
1 2 1 4 3 4 3 4
7 2 5 4 7 4 11 4
7 2 3 4 9 4 5 4
− 43
1 4
3 4
Pivotzeile: 2 Pivotspalte: 4
x7 x4 x5 x6
x1
x2
1 2 − 41 1 4 1 4
− 11 2 − 11 4 − 49 − 17 4
1
0
0
0
1
−2
1 2 − 21 1 2
1
0
0
0
−1
0
1
0
0
−1
0
0
1
0
−2
− 25 − 43 − 45 − 49
3 4
− 11 4
1 2
0
0
0
0
0
1 4
Ende Phase II 9 17 11 T 11 T Problem ist unbeschr¨ankt mit freier Richtung z2 = (0, 1, 0, 11 4 , 4 , 4 , 2 ) und c z2 = − 4 Wiederum ist das Problem unbeschr¨ankt mit demselben Ergebnis wie bei der Variante von Bland.
L¨osung zu 6.5.5 Starttableau Starte Phase I x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
u1
3
0
1
−2
1
−4
2
1
0
0
0
2
u2
−2
−3
−4
3
1
2
−4
0
1
0
0
2
u3
1
2
−3
0
2
0
1
0
0
1
0
2
u4
0
−5
0
1
0
−2
−3
0
0
0
1
2
−2
6
6
−2
−4
4
4
0
0
0
0
−8
0
0
0
−2
0
1
−2
0
0
0
0
0
178
I: 6 Simplex-Algorithmus
Pivotzeile: 1 Pivotspalte: 1 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
x1
1
0
− 32
0
− 32
1 3 2 3
0
−3
2 3 − 83
0
0
1 3 5 3
− 34
u2
1 3 − 10 3
1
0
0
2 3 10 3
u3
0
2
− 10 3
2 3
5 3
4 3
1 3
− 13
0
1
0
4 3
u4
0
−5
0
1
0
−2
−3
0
0
0
1
2
0
6
20 3
− 10 3
− 10 3
4 3
16 3
2 3
0
0
0
− 20 3
0
0
0
−2
0
1
−2
0
0
0
0
0
5 3
Pivotzeile: 2 Pivotspalte: 4 x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
− 65
−1
0
1
− 85
− 25
0
2
x4
0
−2
1
1
0
2
0
−2
0
1
− 85 7 5
0
u3
− 25 8 5
2 5 3 5 − 25
0
− 95 16 5
3 5 2 5 − 35
1
0
0
u4
0
− 16 5
2
0
−1
− 85
− 75
− 25
− 35
0
1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
− 18 5
2
1 5
− 26 5
4 5
6 5
0
0
4
x1
−4
0
Pivotzeile: 3 Pivotspalte: 2
x1
x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
0
− 47
0
−1
1 4 3 8 − 81
3 8 9 16 5 16
0
2
0
3 8 1 16 3 − 16
2
1 2 1 2
1 8 13 − 16 7 16
0
1
11 8 25 16 5 16
0
0
x4
0
0
x2
0
1
− 25 8 − 85
u4
0
0
0
0
0
0
0
−1
−1
1
1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
− 25 4
0
25 8
2
− 29 8
1 8
3 4
9 8
0
4
Ende Phase I → Streiche Hilfsproblemzeile und Nullzeilen
6.7 Postoptimierung
179
Starte Phase II
x1
x1
x2
x3
x4
x5
x6
x7
u1
u2
u3
u4
xB
1
0
− 74
0
−1
1 4 3 8 − 18
3 8 9 16 5 16
0
2
0
3 8 1 16 3 − 16
2
1 2 1 2
1 8 − 13 16 7 16
0
1
11 8 25 16 5 16
0
0
0
25 8
2
− 29 8
1 8
3 4
9 8
0
4
x4
0
0
x2
0
1
− 25 8 − 58
u4
0
0
− 25 4
Ende Phase II 25 T Problem ist unbeschr¨ankt mit freier Richtung ( 74 , 58 , 1, 25 8 , 0, 0, 0) und ZFB − 4
6.7 Postoptimierung Die Behandlung der beiden algorithmischen Verfahren und die gleichzeitige Sicht auf beide Problemarten zeigt eine bemerkenswerte Wechselwirkung. W¨ahrend: •
die Anwendung des restriktionsorientierten Algorithmus auf das kanonische Problem
•
die Anwendung des variablenorientierten Algorithmus auf das Standard-Problem
jeweils sogenannte innere Algorithmen erzeugen, liefert die (¨uber-Kreuz)-Anwendung •
des restriktionsorientierten auf das Standardproblem
•
des variablenorientierten auf das kanonische Problem sogenannte a¨ usere Algorithmen.
Dabei spricht man von einem inneren Algorithmus, wenn von einer suboptimalen Ecke des Zul¨assigkeitsbereiches gestartet wird und dann u¨ ber Eckenaustauschschritte die Optimalecke oder Abbruchecke angesteuert wird. Ein a¨ ußerer Algorithmus startet bei einer (unzul¨assigen) Basisl¨osung, bei der aber die Polarkegeleigenschaft bereits vorliegt (das heißt g¨abe es keine weiteren Restriktionen als die derzeit straffen, dann w¨aren wir in der Optimalecke). Unter Erhalt dieser Eigenschaft werden nun Basisaustausche so duchgef¨uhrt, dass schlussendlich auch Zul¨assigkeit erzielt wird oder dass die Unzul¨assigkeit nachweisbar wird. Bei diesen Verfahren n¨ahert man sich also in der Regel dem Zul¨assigkeitsbereich unter st¨andiger Verschlechterung der Zielfunktion. Diese a¨ ußeren Algorithmen spielen eine große Rolle in der Postoptimierung, wo man eine vorher errechnete Optimalecke nicht mehr verwenden darf, weil durch eine hinzugekommene Restriktion diese Ecke ihre Zul¨assigkeit verloren hat. Der a¨ ußere Algorithmus steuert von da aus erneut den Zul¨assigkeitsbereich an und stellt, wenn u¨ berhaupt m¨oglich, die Zul¨assigkeit wieder her. Gleichzeitig hat er dann den Optimalpunkt des um eine Restriktion versch¨arften Problems gefunden. Bei der L¨osung von linearen Optimierungsaufgaben der Form max cT x
unter Ax =≤ b
(kanonische Problemstellung)
180
I: 6 Simplex-Algorithmus
oder
min cT x
unter Ax = b, x ≥ 0
(Standard-Problemstellung)
gingen wir bisher davon aus, dass die Daten A, b, c fest und richtig vorgegeben sind. Aufbauend auf dieser Position haben wir eine L¨osung errechnet, was uns zu den folgenden Ergebniszust¨anden gef¨uhrt hat a)
Scheitern in Phase I mit der Erkenntnis, dass es keinen zul¨assigen Punkt gibt.
b)
Vordringen in Phase II, aber dort Feststellung, dass die Zielfunktion unbeschr¨ankt ist.
c)
Vordringen in Phase II und Weiterf¨uhrung des Optimierungsvorganges bis zur Optimalecke.
In der Tableau-Endsituation zeigt sich bei kanonischen Problemen a)
daran, dass in einem Endtableau der Phase I-Zielfunktionswert noch nicht den Wert 0 erreicht hat.
b)
daran, dass in einer ganzen Zeile mit negativem ξ i -Wert nur nichtnegative Nicht-BasisEintr¨age αij vorkommen.
c)
daran, dass die rechte ξ-Spalte nichtnegativ und die untere β-Zeile nichtnegativ ist.
Entsprechend wird bei Standardproblemen a)
sichtbar durch Nichterreichen des Nullwertes in der Phase I-Zielfunktion.
b)
sichtbar durch eine Pivotspalte zu einem negativen c˜i -Wert, mit nur nichtpositiven Eintr¨agen γij (j = 1, . . . , m).
sichtbar dadurch, dass alle c˜i ≥ 0 und alle χj (rechte Spalte) durchweg nichtnegativ sind. ¨ Es stellt sich nun die Frage, wie man die nachtr¨agliche Anderung der Daten bzw. die nachtr¨agliche Einf¨ugung von Daten algorithmisch so vollziehen kann, dass man von der bisherigen Endsituation ausgehend weiterrechnen kann und nicht noch einmal die Rechnung ganz von vorn beginnen muss. Im Zusammenhang mit Ganzzahliger Optimierung wird dies relevant in den sogenannten Schnittebenenverfahren, die im n¨achsten Teil besprochen werden. Hierbei wird nachtr¨aglich jeweils eine zus¨atzliche Restriktion am+1 T x ≤ bm+1 (im kanonischen Fall) bzw. Am+1 x = bm+1 (im Standard-Fall) hinzugef¨ugt, um bisherige Optimalpunkte, die nicht zu Zn geh¨orten, unzul¨assig werden zu lassen. Die F¨alle a) und b) spielen unter diesem Aspekt f¨ur die Ganzzahlige Optimierung keine Rolle. Im kanonischen Fall muss man in das Optimaltableau eine Zusatzrestriktion am+1 T x ≤ bm+1 einf¨ugen. Das bisherige Endtableau hat die Gestalt c)
a1 aΔ 1 aΔ i aΔ n
aj
am
−e1
i
βj
−en ξ1 ξi ξn
i
αj = [AΔ −1 A]T β1
−er γr = −(AΔ −1 )T
βm
x1
···
xn
−Qc
6.7 Postoptimierung
181
wobei aufgrund der Optimalit¨at und Zul¨assigkeit erreicht worden war, dass ξ 1 , . . . , ξ n ≥ 0 und β 1 , . . . , β m ≥ 0 gilt. Um nun die Zusatzrestriktion ber¨ucksichtigen zu k¨onnen, f¨uhrt man eine Spalte mit am+1 ein. Der Hauptteil dieser Spalte wird besetzt mit ⎛
⎞ 1 αm+1 ⎜ .. ⎟ T −1 am+1 , ⎝ . ⎠ = AΔ n αm+1
also den Darstellungskoeffizienten f¨ur am+1 durch die aktuelle Basis. Der Eintrag β m+1 ist dann bm+1 − am+1 T x = bm+1 −
n
i
i bΔ αm+1 .
i=1
Dieser Eintrag ist unter der besprochenen Zwecksetzung negativ. Das ist dann der einzige negative β-Eintrag. W¨are er nichtnegativ, so w¨are die vorher erreichte Optimall¨osung weiterhin optimal ¨ und es erg¨abe sich kein Anderungsbedarf. Ist jedoch β m+1 < 0, so liegt eine Basisl¨osung x vor, die polar zul¨assig ist (also c liegt im Kegel der Basisvektoren aΔ1 , . . . , aΔn ), f¨ur die jedoch (ausschließlich) die m + 1-te Restriktion verletzt ist. Um diesen Missstand zu beheben, muss man nun einen sogenannten a¨ ußeren Algorithmus anwenden. Dieser a¨ ußere Algorithmus f¨ur das kanonische Problem verl¨auft genau nach dem Strickmuster des Variablenorientierten Simplexalgorithmus.
Algorithmus 6.15 (Variablenorientierter Simplexalgorithmus als a¨ ußerer Algorithmus) ¨ 1. Uberpr¨ ufe, ob β ≥ 0 ist. Wenn ja −→ STOP wegen erreichter Zul¨assigkeit. Ansonsten suche ein β j < 0 und bestimme dadurch die Pivotspalte j. 2.
Betrachte die αij f¨ur i = 1, . . . , n . Sind alle αij ≤ 0 , dann ist P unzul¨assig, die Restriktion j kann nicht erf¨ullt werden.
3.
Gibt es Werte αkj > 0 , dann bestimme die Pivotzeile i durch min
4.
ξ k
ξi k k = 1, . . . , n, α > 0 = . j
αij αkj
F¨uhre einen Basiswechsel und den damit verbundenen Pivotschritt durch: Δ wird zu Δ \ {Δi } ∪ {j}. Q wird nicht verbessert, denn Qneu = Qalt +
5.
Gehe zu 1.
ξi β j αij
≤ Qalt .
182
I: 6 Simplex-Algorithmus
Satz 6.16 Nach endlich vielen Schritten des Algorithmus 6.15 gelingt (evtl. mit Blands Regel) der Abbruch wegen polarer und primaler Zul¨assigkeit und damit Optimalit¨at oder wegen Unzul¨assigkeit. Auf diese Weise kommen wir direkt zu der Komplettl¨osung des nun durch eine Restriktion erweiterten Problems.
Hat man zun¨achst ein Standardproblem gel¨ost und ist dort auf einen Optimalpunkt gestoßen, den man nun durch Einf¨ugen einer Restriktion noch unzul¨assig machen will, dann kann man wie folgt vorgehen. Zu den bereits ber¨ucksichtigten Gleichungs-Nebenbedingungen wird die neue Gleichung Am+1· x = bm+1 hinzugef¨ugt. Sollte der bisherige Optimalpunkt x ˜ diese Zusatzgleichung bereits erf¨ullen, dann besteht kein Handlungsbedarf. Er ist dann weiterhin optimal. Nun soll x ˜ diese Gleichung nicht erf¨ullen. Als Abhilfe f¨uhren wir dann eine zus¨atzliche SchlupfVariable xn+1 ≥ 0 ein und fordern, dass n
Am+1,i x ˜i + xn+1 = bm+1
gilt f¨ur Am+1,. x ˜ ≥ bm+1
i=1 1
Am+1,i x ˜i − xn+1 = bm+1
gilt f¨ur Am+1,. x ˜ ≤ bm+1 .
r=1
Dadurch bestehen jetzt m + 1 Gleichungen in einem Problem mit n + 1 Variablen. Das entsprechende Simplextableau muss also um eine Zeile (f¨ur die neue Gleichung) und um eine Spalte (f¨ur die neue Variable) ausgedehnt werden. Eine Basis besteht jetzt nicht mehr aus m, sondern aus m + 1 Spalten. Die Spalte zu xn+1 ist Basisspalte, demnach mit en+1 zu besetzen. xn+1 besitzt nach unserer Setzung den Wert ˜bm+1 = − | bm+1 − Am+1,· x ˜| Folglich ist unser aktueller Punkt/Tableau unzul¨assig. Auf die Zielfunktionszeile der Werte c˜j hat all dies keinen Einfluss. Ebenso bleibt die neue xn+1 -Variable ohne Einfluss auf den Zielwert. Infolgedessen ist der Eintrag bei c˜n+1 gleich 0. Die rechte Spalte wird in der neuen Zeile mit ˜bm+1 best¨uckt. Die neue Basis hat nun die Form AB AB 0 0 bzw. Am+1,B 1 Am+1,B −1 je nachdem, ob bm+1 kleiner oder gr¨oßer als Am+1,B x ˜ war. Dadurch ist die (m + 1)-te Zeile im Tableau zu besetzen im ersten Fall mit AN = −Am+1,B A˜N + Am+1,N (−Am+1,B AB −1 , 1) Am+1,N
6.7 Postoptimierung
183
und im zweiten Fall mit (Am+1,B AB
−1
, −1)
AN
Am+1,N
= Am+1,B A˜N − Am+1,N
Wir finden nun eine Tableausituation der folgenden Art vor AB 1
χ1 χi χm χm+1
A−1 B A
AB m AB m+1 c˜1 (≥ 0)
c˜n (≥ 0)
(≥ 0) (≥ 0) (≥ 0) 2.
⎞ −1 ⎟ 1 ⎟ 2 ⎟ ⎟ 1 ⎟ ⎟ 2 ⎟ ⎟ 1⎟ ⎠ 0
A−1 B ist aus dem Tableau ablesbar:
A−1 B
⎛ 0 ⎜ ⎜ ⎜0 ⎜ ⎜ = ⎜1 ⎜ ⎜ ⎜0 ⎝ 0
0
1
− 21
1
2
− 23
0
−1
3 2
0
−1
1 2
0
0
1
0
⎞
⎟ ⎟ 0⎟ ⎟ ⎟ 0⎟ ⎟ ⎟ 1⎟ ⎠ 0
Eine neue Zeile ist einzuf¨ugen nach der Formel
A˜m+1,N
= −Am+1,B A−1 B ,1
AN Am+1,N
1 mit Am+1,B = ( , 0, 0, 0, 1). 4
= −Am+1,B A˜N + Am+1,N
6.9 L¨osungen zur Postoptimierung
191
⎛
A˜m+1,N
− 12
1
⎞
⎟ ⎜ ⎟ ⎜ ⎜ 2 − 32 ⎟ ⎟ ⎜ 1 7 1 ⎟ ⎜ = (− , 0, 0, 0, −1) ⎜−1 32 ⎟ + (0, 0) = (− , − ). ⎟ ⎜ 4 4 8 ⎟ ⎜ ⎜−1 12 ⎟ ⎠ ⎝ 0 1
uhrt. x8 wird als zus¨atzliche Schlupfvariable mit dem derzeitigen Wert − 11 8 eingef¨ Das modifizierte Tableau: x1
x2
x3
x4
x5
x6 − 21 − 23 3 2 1 2
0
0
0
0
0
0
1
x2
0
1
0
0
1
x4
0
0
0
1
2
x3
0
0
1
0
−1
x7
0
0
0
0
−1
x1
1
0
0
0
0
x8
0
0
0
0
− 14
0
0
0
0
1
x7
− 78 1 2
x8
u1
u2
u3
u4
u5
u6
xB
0
1
0
0
3 2
1
2
− 21 − 23 3 2 1 2
0
0
2
0
0
1
0
5 2 1 2
0
0
3
0
0
1
0
−1
1
0
0
0
−1
0
0
0
0
0
1 − 87
0
1
− 11 8
1 2
0
0
9 2
0
1
0
0
− 41
0
0
0
0
1
Wir starten nun einen a¨ ußeren Algorithmus (restriktionsorientiert). x8 muss aus der Basis entfernt werden, um die Schlupfbedingung x8 ≥ 0 anzustreben. Pivotspalte : 6 Pivotzeile : 6. x1
x2
x3
x4
x5
x6
x7
x8
u1
u2
u3
u4
u5
u6
xB
x2
0
1
0
0
0
0
− 74
0
0
0
− 47
0
0
0
1
0
0
− 12 7
0
1
0
0
− 12 7
x3
0
0
1
0
0
0
1
0
0
0
x7
0
0
0
0
0
1
12 7 4 7
0
0
8 7 17 7 − 10 7 − 78
0
x4
8 7 17 7 − 10 7 − 87
0
1
12 7 4 7
16 7 61 14 1 7 − 72
x1
1
0
0
0
− 27
0
0
0
0
− 72
0
0
x6
0
0
0
0
2 7
1
0
8 7 − 78
0
0
2 7
1
0
8 7 − 87
10 7 11 7
0
0
0
0
6 7
0
0
4 7
0
0
6 7
0
0
4 7
26 7
192
I: 6 Simplex-Algorithmus
Pivotspalte : 5 Pivotzeile : 4.
x2
x1
x2
x3
x4
x5
x6
0
1
0
0
0
0
x7
x8
u1
u2
u3
u4
1
0
0
0
0
0
1
0
2
− 21
0
1
0
0
− 12
1
1
0
0
0
−1
15 4 1 2 1 4 3 2 3 2
1
7 2
x5
0
0
0
0
1
0
x1
1
0
0
0
0
0
x6
0
0
0
0
0
1
17 8 − 45 − 87 − 41 1 4
0
0
0
0
0
0
3 4
x4
0
0
0
1
0
0
x3
0
0
1
0
0
0
u5
− 21
0
0
1
0
1
0
0
0
0
−1
0
0
0
1
17 8 − 54 − 78 − 14 1 4
1
0
0
0
0
3 4
u6
1 − 12 1
xB
3 2
mit Zielfunktionswert 72 und dieser ist nun auch wieder 2 primal zul¨assig (nicht nur dual). Deshalb ist dies das Optimum bzgl. der versch¨arften Aufgabe.
Angelangt sind wir am Punkt
L¨osung zu 6.8.3 a) a1
a2
a3
a4
a5
−e1
−e2
−e3
c
1
−2
−5
0
0
− 12
1
−1
− 12
0
0
a4
0
−1
−2
1
0
1 2 1 2
a5
0
−2
−7
0
1
1
0
1
−1
0
1
3
0
0
1
0
−1
1
a1
a2
a3
a4
a5
−e1
−e2
−e3
c
a2
− 12
1
0
0
− 41
− 12
0
1
0
− 12
1 2 1 2
a5
−1
0
−2
0
1
1 4 1 2
1 4 − 14 1 2
− 12
a4
5 2 1 2
0
0
1 2
0
1 2
0
0
5 4
− 14
− 12
1 2
a1
Pivotzeile: 1 Pivotspalte: 2.
⎛ gefundener Optimalpunkt:
b)
⎞
5 ⎜ 4 ⎟ ⎜− 1 ⎟ ⎝ 4⎠ − 21
Wert der Zielfunktion: − 12 .
Es soll nun die Restriktion x1 + x2 + x3 ≤ hier verletzt, denn x1 + x2 + x3 = 12 > 14 .
1 4
hinzugef¨ugt werden. Diese Restriktion ist
6.9 L¨osungen zur Postoptimierung
193
Im Tableau soll eine Spalte zu a6 eingetragen werden. Um diese zu besetzen, muss das Gleichungssystem a6 = α16 · a2 + α26 · a4 + α36 · a5 ⎛ ⎞ α16 ⎜ ⎟ T −1 2⎟ bzw. A a6 = ⎜ ⎝α6 ⎠ =: α6 α36 −1 gel¨ost werden. Im statistischen Teil steht aber gerade − AT . ⎛ ⇒
⇒
α6
β6
1 ⎜ 4 ⎜− 1 ⎝ 4 − 21
=
⎞⎛ ⎞
1 1 2 ⎟⎜ ⎟ 1⎟ ⎜ ⎟ 2 ⎠ ⎝1 ⎠
− 14 1 4 − 12
0
⎛ ⎜ =⎜ ⎝
⎞
1 2 1 2
⎟ ⎟ ⎠
−1
1
1 1 1 − =− . 4 2 4
=
Das modifizierte Tableau: a1
a2
a3
a4
a5
a6
−e1
−e2
−e3
c
a2
− 21
1
5 2
0
0
1 2
− 14
1 4
− 21
1 2
a4
− 21
0
1 2
1
0
1 2
− 14
− 21
1 2
−1
1 4 1 2
a5
−1
0
−2
0
1
1 2
0
0
1 2
0
1 2
0
0
− 14
5 4
− 14
− 21
1 2
Es ist ein a¨ ußerer (variablenorientierter) Pivotschritt notwendig. Pivotzeile: 1 Pivotspalte: 6.
a6
a1
a2
a3
a4
a5
a6
−e1
−e2
−e3
c
−1
2
5
0
0
1
− 21
−1
1
1 2
1 2 − 12
0
0
a4
0
−1
a5
−2 1 4
⎛
⎞
gefundener Optimalpunkt:
−2
1
0
0
2
3
0
1
0
0
1
−1
1
1 2
7 4
0
9 8
− 18
− 34
3 4
9 ⎜ 8 ⎟ ⎜− 1 ⎟ ⎝ 8⎠ − 34
0
0
Wert der Zielfunktion: − 34 .
Kapitel 7
Problemstellung und Zweck
Definition 7.1 mit c ∈ K n , A ∈ K (m,n) , b ∈ K m Ein Problem max cT x unter Ax ≤ b und x ∈ Zn heißt ganzzahliges lineares Optimierungsproblem (ILP ).
Definition 7.2 Verlangt man speziell, dass in der Problemstellung max cT x unter Ax ≤ b alle xi ∈ {0, 1} sein sollen, dann spricht man von einem bin¨aren linearen Optimierungsproblem (BLP ).
Zun¨achst sollen einige Bezeichnungen eingef¨uhrt werden. Seien A ∈ K (m,n) , b ∈ K m . Dann setzen wir IM(A, b) := {x | Ax ≤ b, x ∈ Zn } als zul¨assige Integermenge des kanonischen Problems. IM= (A, b) := {x | Ax = b, x ≥ 0, x ∈ Zn } als zul¨assige Integermenge des Standardproblems.
200
II: 7 Problemstellung und Zweck
Hinweis IM und IM= bezeichnen Punktmengen, w¨ahrend (ILP ), (LP ) Probleme bezeichnen sollen. Weiterhin m¨oge conv(IM(A, b)) die konvexe H¨ulle der zugrundeliegenden Punktmenge bezeichnen. Im sp¨ateren Theorieteil wird der Frage nachgegangen, ob dies Polyeder sind und wie man diese beschreiben kann. Ist dies der Fall, dann bezeichnen wir conv(IM(A, b)) als PI .
7.1 Modellierung Neben der bereits diskutierten Anforderung der formalen Beschreibung von realen Fragestellungen und Vorg¨angen, wie sie bei der Modellierung von Optimierungsaufgaben anliegt, bietet das Auftauchen von ganzzahligen und bin¨aren Variablen einen Einstieg in weitaus vielf¨altigere Gestaltungsm¨oglichkeiten. Verbunden mit der Big M“-Methode, also der Verwendung von ” bei der Berechnung oder vom Computer aus unerreichbar großen Zahlen M , gewinnt man neue M¨oglichkeiten der logischen Strukturierung von Problemen. Beispiele daf¨ur sind: •
Beschreibung von logischen oder“-Beziehungen. ”
•
Beschreibung von Forderungen, dass genau k oder mindestens k von m Restriktionen zu erf¨ullen sind.
•
Erkennen, Erfassen und Beschreiben der kleinsten, gr¨oßten, aber auch der k-ten (bei Sortierung von oben) Variablen unter n besetzten Variablen.
•
F¨ahigkeit, die Forderungen ≥ min bzw. ≤ max zu beschreiben.
Daher wird hier die F¨ahigkeit, Probleme realit¨atsnah zu beschreiben, enorm gesteigert. Einige der verf¨ugbaren Techniken werden in der folgenden Auflistung erfasst. M sei immer eine sehr große (gen¨ugend groß gew¨ahlte) Zahl. Zuordnung Zwei Elemente i und j werden zugeordnet (oder auch nicht). Vergebene Variablen: 1 bei Zuordnung xij ∈ {0, 1} xij = 0 bei Nichtzuordnung Bewertete Zuordnung mit Kosten cij f¨ur Zuordnung (i, j) und Versuch der Kostenminimierung: min
cij xij
i,j
Begrenzte Zuordnung f¨ur i (f¨ur j analog): j
xij ≤ di
7.1 Modellierung
201
Zuordnung mit Anschnittproblem Objekte j sollen aus Klassen i gezogen (bzw. zugeordnet) werden. Welche Klassen i sollen angeschnitten werden bzw. erfahren mindestens eine Zuordnung? Die Anzahl der verwendeten Klassen soll minimiert werden. xij ≤ M gilt. Setze xij ≥ 0 oder xij ∈ N+ 0 (je nach Anwendung) , wobei j
Definiert man dann yi ∈ {0, 1} ∀i mit 0≤
xij ≤ yi M ∀i,
j
dann zwingt yi = 0 alle xij auf 0, das heißt, die Klasse i hat gar keine Zuordnung (ist nicht angeschnitten). Wenn man die Summe der yi minimiert, dann werden nur die yi auf 1 gesetzt, f¨ur die xij > 0 n¨otig ist. j
Verzicht auf Erfullung ¨ einer festen Anzahl von Restriktionen Sind m Restriktionen gegeben,
aT1 x
≤ b1 .. .
aTm x
≤ bm
legt man aber nur Wert darauf, dass davon mindestens m − k erf¨ullt sind, dann geht man wie folgt vor: M sei so groß, dass aTi x − bi ≤ M ∀ i = 1, . . . , m und ∀x ∈ X gilt. Zur Modellierung verwendet man folgendes Restriktionssystem: aT1 x − M y1
≤ .. .
b1
aTm x − M ym m yi
≤
bm
≤
k
y1 , . . . , ym
∈
{0, 1}
i=1
Eine Variable soll zwischen anderen Variablen liegen d sei eine zu besetzende Variable und x1 , . . . , xm ebenfalls. Zu unserem Restriktionssystem geh¨ore nun Folgendes: k der Werte aus {x1 , . . . , xm } sollen gr¨oßer oder gleich d sein und m − k sollen kleiner oder gleich d sein. Das heißt, dass bei absteigender Sortierung d zwischen der k-ten und (k + 1)-ten Variablen der m Variablen liegen soll. O. B. d. A. gelte 0 ≤ xi ≤ M .
202
II: 7 Problemstellung und Zweck
Als Modell ergibt sich xi + M yi m yi
≥ d
∀i = 1, . . . , m
yi xi − M zi m zi
∈ {0, 1} ≤ d
= m−k
i=1
∀i = 1, . . . , m ∀i = 1, . . . , m
= k
i=1
∈
zi
{0, 1}
∀i = 1, . . . , m
Summation der k gr¨oßten Zielfunktionswerte Es gebe Zielfunktionswerte der Gestalt cT1 x, cT2 x, . . . , cTm x und es sei 0 ≤ cTi x ≤ M u¨ berall. Dann kann man die Summe der gr¨oßten k Zielfunktionswerte herausfiltern, indem man fragt: Welche k Zielfunktionswerte soll man auf M auff¨ullen, damit k-mal M erreicht wird, und damit diese Auff¨ullung am wenigsten kostet. Um dabei nur die besten k Zielfunktionswerte zu erhalten, ist die folgende Modellierung notwendig: ∀i cTi x + zi + M yi ≥ M m yi = m − k i=1
∈ {0, 1} ≥ 0 ∈ R
yi z zi Wenn wir jetzt
m i=1
∀i ∀i
zi minimieren, sucht sich das System die k h¨ochsten cTi x-Werte aus, f¨ullt
diese auf und ermittelt deren Summe. Die anderen zi -Werte werden auf 0 gesetzt. Mengenzugeh¨origkeit Modellierung eines Vektors y aus einer Menge A mit A = {a1 , . . . , ar } durch: r i=1
xi ai
r
i=1
= y
xi
= 1
xi
∈
{0, 1}
Einbeziehung von Adjazenzmatrizen Sei A die Adjazenzmatrix eines Graphen (Digraphen) mit i = 1, . . . , n Knoten. Dann ist 1 wenn (i, j) ∈ E aij = 0 wenn (i, j) ∈ /E Die Auswahl einer Menge von Kanten (i, j) aus den im Graph vorhandenen kann man wie folgt
7.1 Modellierung
203
modellieren:
≤ aij ∀i, j ∈ {0, 1} ∀i, j
xij xij
Wenn man nur vorhandene Kanten als Variablen verwenden will: xe xe
≤ ∈
ae ∀e ∈ E {0, 1} ∀e ∈ E
Verschiedenheit von zwei Variablen sichern xi ∈ N und xj ∈ N d¨urfen nicht u¨ bereinstimmen, das heißt entweder xi − xj xj − xi Als Modell bedeutet dies:
≥ 1 ≥ 1
xi − xj + M yi xj − xi + M yj yi + yj y i , yj
oder
≥ ≥ = ∈
1 1 1 {0, 1}
Gradrealisierung im Graphen Wenn durch die Kantenbelegung xe v: ⎧ ⎪ ⎨0 xe = 1 ⎪ ⎩ e∈δ(v) 2
∈ {0, 1} ein Weg definiert ist, dann besagt f¨ur einen Knoten v liegt nicht auf dem Weg v ist Start- oder Endknoten des Weges v ist Zwischenknoten des Weges
¨ Uberschneidungsfreiheit gew¨ahrleisten Arbeitsvorg¨ange: k, ; Anfangspunkte: xk , x ; Dauer: dk , d Vorg¨ange d¨urfen sich zeitlich nicht u¨ berschreiten, das heißt xk + dk ≤ x oder x + d ≤ xk Dies kann folgendermaßen modelliert werden: xk + dk − M y1 x + d − M y2 y1 + y2 y 1 , y2 Maximalwert drucken ¨ – Minimalwert heben x1 , . . . , xn seien (in Grenzen) w¨ahlbare Variablen.
≤ ≤ = ∈
x xk 1 {0, 1}
204
II: 7 Problemstellung und Zweck
Soll der Maximalwert so klein wie m¨oglich gew¨ahlt werden, dann ergibt sich folgendes Modell: min d unter x1 ≤ d, x2 ≤ d, . . . , xn ≤ d F¨ur die maximale Wahl des Minimalwerts erh¨alt man das Modell max d unter x1 ≥ d, x2 ≥ d, . . . , xn ≥ d Maximum nicht uberschreiten ¨ – Minimum nicht unterschreiten x ≤ max{x1 , ..., xr } kann folgendermaßen modelliert werden:
r i=1
x
≤ x1 + y1 M .. .
x
≤ xr + yr M
yi
≤ r−1
yi
∈
{0, 1} ∀i = 1, . . . , r
Analog modelliert man x ≥ min{x1 , ..., xr }:
r i=1
x
≥ x1 − z1 M .. .
x
≥ xr − zr M
zi
≤ r−1
zi
∈
{0, 1} ∀i = 1, . . . , r
7.2 Aufgaben zur Modellierung Aufgabe 7.2.1 Ein Sportler will bei der n¨achsten Olympiade an einer neuen Disziplin, dem Auswahl-Zehnkampf, teilnehmen und u¨ berlegt nun, wie er sein monatliches Trainingsprogramm von 100 Stunden aufteilen soll. Die Spielregeln f¨ur den Auswahl-Zehnkampf sind folgende: In zehn Disziplinen wird eine unerreichbare Leistung als Norm gesetzt (z. B. 10 m im Weitsprung, 3 m im Hochsprung). Nun erbringt der Sportler seine Leistungen in den zehn Disziplinen. Bewertet werden die Leistungen nach dem Prozentsatz der erbrachten Leistungen an der Norm (z. B. 5,20 m Weitsprung bringen 52 Punkte; 2,10 m im Hochsprung bringen 70 Punkte). Neu am Auswahl-Zehnkampf ist aber, dass f¨ur jeden Sportler nur seine f¨unf besten Disziplinen gewertet werden, die anderen f¨unf werden gestrichen. Wer so nach Bewertung seiner f¨unf besten Disziplinen die h¨ochste Punktzahl erreicht hat, ist Olympiasieger. Die Leistungsf¨ahigkeit in den 10 Disziplinen h¨angt nun ab von der Auspr¨agung von vier k¨orperlichen Eigenschaften:
7.2 Aufgaben zur Modellierung
205
M SP SN A
– – – –
die Muskelkraft, die Sprungkraft, die Schnelligkeit, die Ausdauer.
Folgende Gesetzm¨aßigkeiten sind bekannt f¨ur i = 1, . . . , 10: Erreichte Punktzahl in Disziplin i = ciM · M + ciSP · SP + ciSN · SN + ciA · A + Ki . Er wird nun versuchen, M , SP , SN und A durch sein Training zu steigern. Ohne Training verf¨ugt er bereits u¨ ber M0 , SP0 , SN0 und A0 . Ihm stehen nun 4 Trainingsarten TM , TSP , TSN , TA zur Auswahl. TM steigert M um m, TSP steigert SP um sp, TSN steigert SN um sn und TA steigert A um a (jeweils pro monatlicher Trainingsstunde). Wie soll er die 100 Stunden aufteilen? Formulieren Sie dies als gemischt-ganzzahliges lineares Problem.
Aufgabe 7.2.2 Eine Versandfirma kann an verschiedenen Orten Auslieferungslager Li errichten, von denen aus k verschiedene Kundengruppen Dj beliefert werden sollen. Gegeben sind 1.
konstante Bau- und Erhaltungskosten e der Auslieferungslager
2.
f¨ur jedes Lager Li und jede Kundengruppe Dj die Kosten cij , die entstehen, falls 1 % der G¨uter f¨ur die Kundengruppe Dj durch das Lager Li geliefert w¨urden.
Die Nachfrage bei den Kunden sei zeitlich konstant und muss erf¨ullt werden. Welche Lager sollen errichtet werden und in welchem Umfang sollen die Kundengruppen aus den errichteten Lagern beliefert werden? Formulieren Sie das obige Problem als gemischt-ganzzahliges lineares Optimierungsproblem.
Aufgabe 7.2.3 Um ein Zimmer zu tapezieren, stehen uns m Tapetenrollen mit jeweils der L¨ange L zur Verf¨ugung. Es werden Tapetenst¨ucke der L¨ange 1 , 2 , . . . , n ben¨otigt, und zwar jeweils aj St¨uck der L¨ange j . Gesucht ist die minimale Anzahl von Tapetenrollen, die angeschnitten werden m¨ussen. Formulieren Sie dieses Problem als (gemischt-)ganzzahliges lineares Optimierungsproblem.
Aufgabe 7.2.4 Das Job-Sequencing Problem sei wie folgt definiert: Gegeben seien n Jobs mit Ausf¨uhrungszeiten p1 , . . . , pn , die auf einer Maschine in irgendeiner Reihenfolge ausgef¨uhrt werden sollen. Damit die Maschine den j-ten Job ausf¨uhren kann, muss sie im Zustand Sj (z. B. bestimmte Drehgeschwindigkeiten) sein. Es sei tij = cij + pj die Zeit, die ben¨otigt wird, um den Job j direkt nach Job i ausf¨uhren zu k¨onnen. Dabei ist cij die Umr¨ustzeit“, um die Maschine von Zustand Si in Sj zu bringen. ”
206
II: 7 Problemstellung und Zweck
Gesucht ist nun die Reihenfolge der Jobs mit Anfangs- und Endzustand S0 und geringstem Zeitaufwand. Man formuliere das Job-Sequencing Problem als ein (gemischt-)ganzzahliges lineares Optimierungsproblem.
Aufgabe 7.2.5
Betrachtet werden alle Punkte aus [0, 1]n und darauf definiert werden die lineare Zielfunktion cT x und f¨unf weitere Zielfunktionen g1 (x), . . . , g5 (x). F¨ur die Funktionen gi (x), i = 1, . . . , 5 gilt ≥ 0, falls x ∈ Pi = {y ∈ Rn | A(i) y ≤ b(i) } gi (x) = 0, sonst. Die Funktionen gi stellen also Gewinne dar, die nur dann zu Buche schlagen, wenn das zu bewertende x ein Ungleichungssystem A(i) x ≤ b(i) erf¨ullt. Der Nutzen eines Punktes x bemisst sich demnach aus der Summe von cT x und von allen Gewinnen gi (x), die x in Abh¨angigkeit von der Zugeh¨origkeit zu Pi einstreicht. Modellieren Sie dieses Maximierungsproblem als gemischt-ganzzahliges, lineares Optimierungsproblem in zwei F¨allen: a)
wenn gi (x) auf Pi jeweils eine von x unabh¨angige Konstante Gi ≥ 0 und gi (x) = 0 f¨ur x∈ / Pi ist;
b)
wenn gi (x) auf Pi jeweils eine lineare Funktion der Form gi (x) = dT(i) x mit Vektor / Pi ist. d(i) > 0, d(i) ∈ Rn und gi (x) = 0 f¨ur x ∈
Aufgabe 7.2.6 Gegeben ist folgendes Problem (Schachproblem): Bestimme die maximale Anzahl von Damen, die auf einem n×n Schachbrett so platziert werden k¨onnen, dass keine Dame eine andere schl¨agt. Formulieren Sie dieses Problem als ganzzahliges lineares Optimierungsproblem.
Aufgabe 7.2.7 K Produkte/Objekte sollen gefertigt werden. Jedes dieser Produkte muss einen Fertigungsprozess u¨ ber alle Maschinen M1 , . . . , MR (alle in genau dieser Reihenfolge) durchlaufen. Allerdings unterscheiden sich die Bearbeitungszeiten der verschiedenen Produkte auf jeder einzelnen Maschine. Dabei kann jede Maschine immer nur genau ein Produkt bearbeiten und diese Bearbeitung auch nicht unterbrechen. Setzen Sie trk f¨ur die Bearbeitungszeit von Produkt k ∈ {1, . . . , K} auf Maschine r mit r ∈ {1, . . . , R}. Wir sind im Moment am Zeitpunkt t = 0 und k¨onnen einen Produktauftrag an Maschine M1 starten. Es fragt sich aber, in welcher Reihenfolge die Produkte auf M1 beziehungsweise M2 und so weiter bearbeitet werden sollen (das kann auf jeder Maschine anders
7.3 L¨osungen zur Modellierung
207
sein), wenn bestimmte Ziele (alternativ) optimiert werden sollen. Modellieren Sie als ganzzahliges lineares Optimierungsproblem: a)
die Zul¨assigkeit (das Restriktionssystem f¨ur eine realisierbare Maschinenbelegung) eines solchen Maschinenbelegungsproblems.
b)
die folgenden alternativen Zielfunktionen: i)
fr¨uhestm¨ogliche Endzeit des Gesamtsystems auf MR .
ii)
minimale Summe der mit Kostenfaktoren κr versehenen Laufzeiten auf den einzelnen Maschinen (Laufzeit = Abschaltzeit nach dem letzten Produkt − Einschaltzeit f¨ur das erste Produkt).
iii)
minimale Summe der mit Kostenfaktoren πk bewerteten Wartezeiten von jetzt ab bis zur endg¨ultigen Fertigstellung der einzelnen Auftr¨age.
iv)
minimale Summe der mit Kostenfaktoren pk bewerteten effektiven Bearbeitungszeiten (Dauer der Fertigung = Entnahmezeit von MR − Aufbringzeit auf M1 ) der Produkte.
7.3 L¨osungen zur Modellierung L¨osung zu 7.2.1 Variablen: M, SN, SP, A I(Tj ) P (i) Bi , ti
Eigenschaften Muskelkraft, Schnelligkeit, Sprungkraft, Ausdauer Trainingsintensit¨at f¨ur die Trainingsart Tj (gemessen in Stunden) f¨ur j = M, SP, SN, A Punktzahl in Disziplin i Hilfsvariablen
Parameter: M0 , SN0 , SP0 , A0 m, sp, sn, a cij
Eigenschaften Muskelkraft, Schnelligkeit, Sprungkraft, Ausdauer ohne Training Steigerungsraten von M, SP, SN, A pro monatlicher Trainingsstunde TM , TSP , TSN , TA Faktor zur Berechnung des Anteils der Eigenschaft j f¨ur die Punktzahl in Disziplin i
Modellierung: I(TM ) ≥ 0, I(TSP ) ≥ 0, I(TSN ) ≥ 0, I(TA ) ≥ 0, I(TM ) + I(TSP ) + I(TSN ) + I(TA ) ≤ 100. (100 Trainingsstunden stehen zur Verf¨ugung)
208
II: 7 Problemstellung und Zweck
Daraus resultiert eine Leistungsf¨ahigkeit folgender Art M = M0 + m · I(TM )
SP = SP0 + sp · I(TSP )
SN = SN0 + sn · I(TSN )
A = A0 + a · I(TA ).
Und in der Disziplin i (i = 1, . . . , 10) wird nun folgendes Ergebnis erzielt: P (i) = ciM · M + ciSP · SP + ciSN · SN + ciA · A + Ki . Es w¨are alles ziemlich einfach, wenn alle 10 Disziplinen aufaddiert w¨urden. Dann m¨usste man 10 nur noch i=1 P (i) maximieren. Aber hier sollen ja nur die f¨unf besten Disziplinen z¨ahlen (bzw. die f¨unf schlechtesten sollen ignoriert werden). Man kann nun davon Gebrauch machen, dass 0 ≤ P (i) ≤ 100
∀i
gilt. Wenn man also zu einer Punktzahl P (i) 100 Punkte dazu z¨ahlt, dann ist man gewiss u¨ ber der Maximalnorm 100. Wir erlauben es nun, in f¨unf Disziplinen diese Addition von vornherein vorzunehmen und f¨ullen in den anderen Disziplinen so auf, dass auch dort 100 erreicht werden. Also formulieren wir Restriktionen f¨ur i = 1, . . . , 10: P (i) + ti + Bi · 100 ≥ 100 ti ≥ 0,
Bi ∈ {0, 1}.
Falls Bi = 0 ist, hat man ti ≥ 100 − P (i). Falls Bi = 1 ist, kann ti jeden positiven Wert annehmen. Da wir f¨unf Disziplinen ignorieren wollen, d¨urfen wir f¨unfmal die Anforderung mit einem Bi = 1 absichern. Das heißt, dass wir 10
Bi = 5
i=1
10 verlangen. Wenn man jetzt i=1 ti minimiert, dann wird in den 5 Restriktionen mit Bi = 0 gerade ti = 100 − P (i) bestimmt. In den anderen 5 Disziplinen wird ti = 0 erm¨oglicht und gew¨ahlt. Die Frage ist nun nur noch, wo kommen die f¨unf Bi = 1 her? ugbaren Unter dem Ziel der Minimierung von 10 i=1 ti wird das Optimierungssystem die verf¨ Puffer Bi (zur Vermeidung von hohen ti s) dort verwenden, wo die gr¨oßten ti auftreten, das heißt wo die P (i) am kleinsten sind. Also reichen folgende Angaben: 10 min i=1 ti P (i) + ti + 100Bi t 10 i B i=1 i Bi
≥ ≥ = ∈
100 ∀i 0 ∀i 5 {0, 1} ∀ i
7.3 L¨osungen zur Modellierung
209
L¨osung zu 7.2.2 Variablen: xij : Transportmenge (in Prozent von der Gesamtlieferung) von Lager Li (i = 1, . . . , ) an Kundengruppe Dj (j = 1, . . . , k). 0 falls Lager Li nicht in Betrieb genommen wird yi = 1 falls Lager Li in Betrieb genommen wird Zielfunktion: min
k
cij xij + e
j=1 i=1
yi .
i=1
Nebenbedingungen: 1.
Lieferung an Dj wird erf¨ullt:
xij = 100 ∀ j = 1, . . . , k
i=1
2.
Lieferungen aus Li nur m¨oglich, wenn dieses Lager in Betrieb genommen wird, das heißt yi = 1, bzw. unm¨oglich, wenn yi = 0 ist. k
xij ≤ k · 100 · yi
∀ i = 1, . . . ,
j=1
Mit k · 100 =: M ist garantiert, dass die linke Summe auf jeden Fall unter dieser Schranke bleibt. 3.
xij ≥ 0 ∀ i, j yi ∈ {0, 1} ∀ i
L¨osung zu 7.2.3 T1 , . . . , Tm sind die verf¨ugbaren Tapetenrollen der vorgegebenen L¨ange L. Wir ben¨otigen aj (fest) Tapetenst¨ucke der vorgegebenen L¨ange j , wobei n verschiedene L¨angen auftreten k¨onnen. Gesucht ist die minimale Anzahl von Tapetenrollen, die man anschneiden muss. Wir f¨uhren Variablen xij (i = 1, . . . , n, j = 1, . . . , m) ein. Diese bezeichnet die Anzahl der St¨ucke der L¨ange i , die aus Tj geschnitten wird. Dann gilt m
xij
=
ai
∀i
i xij
≤
L
∀ j.
j=1 n i=1
210
II: 7 Problemstellung und Zweck
Nun sind die angeschnittenen Rollen zu z¨ahlen. Tj ist genau dann angeschnitten, wenn es i ∈ {1, . . . , n} gibt mit n xij > 0. xij > 0 ⇔ i=1
Wir f¨uhren die Variablen yj ein mit: 1 yj = 0
falls Tj angeschnitten ist sonst
Zu minimieren ist die Zielfunktion
m
yj .
j=1
Komplikation: yj wird noch nicht beschrieben durch eine lineare Funktion der xij . Ausweg: M sei groß genug (etwa L + 1) und fest. F¨ur alle j betrachte die Restriktion n
xij − M yj ≤ 0.
i=1
Dies ist immer erf¨ullt, wenn yj = 1 wegen M > L ≥ n i=1 xij = 0. Gesamtdarstellung des Problems: min
m
j=1 m
i=1
i=1
xij und dies ist erf¨ullt, wenn
yj
xij
=
ai
∀i
i xij
≤
L
∀j
xij − (L + 1)yj
≤
0
∀j
∈
Zm .
j=1 n n
n
i=1
x ∈ Z(n,m) ,
y
Dann ist jede zul¨assige L¨osung (x, y)T ganzzahlig. yj > 0 gilt genau dann, wenn n
xij > 0
i=1
(weil u¨ ber die Minimierung unn¨otig positive Werte yj gedr¨uckt werden). F¨ur die Optimalit¨at ist y ein 0-1-Vektor, wie man anhand der Zielfunktion einsieht.
L¨osung zu 7.2.4
n Die n Jobs erfordern f¨ur ihre eigentliche Ausf¨uhrung die Zeit j=1 pj . Man definiert sich fiktiv einen Ausgangszustand S0 und einen zugeh¨origen Fiktivjob J0 mit
7.3 L¨osungen zur Modellierung
211
Ausf¨uhrungszeit p0 = 0. Ausgehend von Job J0 werden die Jobs J1 , . . . , Jn in einer bestm¨oglichen Reihenfolge ausgef¨uhrt, wobei σ eine Permutation der Menge {1, . . . , n} angibt, so dass σ −1 (1), σ −1 (2), . . . , σ−1 (n) die Reihenfolge der Bearbeitung angibt. Zwei so aufeinanderfolgende Jobs verursachen dann die entsprechende Umr¨ustzeit. Somit ist zu minimieren: n−1 tσ−1 (l),σ−1 (l+1) + tσ−1 (n),0 t0,σ−1 (1) + l=1
und die Minimierungsmenge ist {σ | σ ∈ Sn } (Menge der Permutationen von n Elementen). Desweiteren werden f¨ur die Modellierung noch nachfolgende Variablen verwendet: 1 Job j wird direkt nach Job i ausgef¨uhrt xij = 0 Job j wird nicht direkt nach Job i ausgef¨uhrt Gemischt-Ganzzahlige Modellierung: min
n n i=0 j=0
xij · cij +
n j=0 n
i=0 n j=0
pj
xij = 1
∀ j = 0, . . . , n (jedes j hat einen Vorg¨anger)
xij = 1
∀ i = 0, . . . , n (jedes i hat einen Nachfolger)
xij ∈ {0, 1}
∀ i, j = 0, . . . , n.
Bis jetzt k¨onnen sich aber Unterkreise schließen. Deren Vermeidung gew¨ahrleisten wir durch: ∀ M ⊂ {0, 1, . . . , n} mit #(M ) ≥ 3, #(M ) ≤ n + 1 − 3 n n muss gelten xij ≤ #(M ) − 1. i=0 j=0 i∈M j∈M
Auf diese Weise k¨onnen sich nur Volltouren schließen.
L¨osung zu 7.2.5 a)
Index:
i = 1, . . . , 5
Variablen: z i , yi x
Hilfsvariablen gesuchter Punkt
Parameter: c A(i) bi Gi
Zielfunktionsvektor Restriktionsmatrizen Restriktionsschranken Gewinn, falls x ∈ Pi
212
II: 7 Problemstellung und Zweck
Modell: max y1 + y2 + y3 + y4 + y5 + cT x A(i) x − M 1zi
≤ b(i)
∀i
yi
= (1 − zi )Gi
∀i
zi
∈
∀ i.
{0, 1}
Begr¨undung: Maximiert werden soll die Summe aus cT x und f¨unf weiteren (m¨oglichen) Gewinnen, die allerdings jeweils nur dann anfallen, wenn ein Ungleichungssystem A(i) x ≤ b(i) erf¨ullt ist. Deshalb kann man yi darstellen als (1 − zi )Gi , wobei zi eine Bin¨arvariable ist. Wenn zi = 1 ist, dann wird nichts gewonnen. Wenn zi = 0 ist, dann gewinnt man Gi . Andererseits kann man mit diesen zi ’s bei Annahme der Werte zi = 0 das Erf¨ullen des i-ten Ungleichungssystems verlangen und bei Annahme des Wertes zi = 1 das i-te Ungleichungssystem außer Kraft setzen, indem man fordert: A(i) x − M 1zi ≤ b(i)
mit zi ∈ {0, 1} ∀ i.
Wegen Gi ≥ 0 werden so wenige zi wie m¨oglich mit 1 besetzt. Dabei ist M vom Typ Big M“, also gr¨oßer zu w¨ahlen als jeder annehmbare Wert von A(i) x − b(i) . Dies ist aber ” machbar, da x aus dem beschr¨ankten Bereich [0, 1] × [0, 1] gew¨ahlt wird. b)
Der zweite Teil l¨asst sich auf zwei verschiedene Weisen modellieren: Erste Variante: Weiterer Parameter: d(i) Modell:
Zielfunktionsvektor, falls x ∈ Pi
max y1 + y2 + y3 + y4 + y5 + cT x yi
≤
dT(i) x
∀i
yi
≤
M (1 − zi )
∀i
A(i) x − M 1zi
≤
b(i)
∀i
zi
∈
{0, 1}
∀ i.
Begr¨undung: Es geht wieder um eine Summe aus einem unbedingten Gewinn cT x und von f¨unf bedingten Gewinnen. Die f¨unf bedingten Gewinne h¨angen aber von x ab. Deshalb ist yi auf jeden Fall nicht gr¨oßer als dT(i) x (≥ 0 nach Voraussetzung) und yi ≤ 0 falls die Bedingung A(i) x ≤ b(i) nicht erf¨ullt ist. Das kann man wie in a) modellieren durch Verwendung einer Bin¨arvariable zi ∈ {0, 1} und das entsprechende Ungleichungssystem A(i) x − M 1zi ≤ b(i) , wobei M vom Typ Big M“ ist. ” Das Ungleichungssystem A(i) x ≤ b(i) gilt bei zi = 0 und ist außer Kraft gesetzt bei
7.3 L¨osungen zur Modellierung
213
zi = 1. Das hat aber nun auch Auswirkungen auf die Ungleichung yi ≤ M (1 − zi ), denn bei zi = 0 resultiert eine Tautologie. Die Maximierungsrichtung sorgt daf¨ur, dass die annehmbare Oberschranke auch angenommen wird. Zweite Variante: Weitere Variable: vi
Hilfsvariable
Modell:
max y1 + y2 + y3 + y4 + y5 + cT x A(i) x − M 1zi
≤
b(i)
∀i
yi
≥
0
∀i
yi
≥
yi
≤
dT(i) x M vi1
yi
≤
dT(i) x − M zi + M vi2
∀i
vi2
=
1
∀i
vi1 , vi2 , zi
∈
{0, 1}
∀ i.
vi1
+
− M zi
∀i ∀i
Begr¨undung: Die zi entscheiden dar¨uber, ob das i-te Ungleichungssystem gilt oder nicht. (Wenn zi = 1, ist es außer Kraft gesetzt.) Die Pr¨amie yi ist nie negativ und sie ist gr¨oßer oder gleich dT(i) x, wenn zi = 0 (also wenn das Ungleichungssystem gilt). Im Fall zi = 1 ist die Bedingung yi ≥ dT(i) x−M zi sowieso redundant wegen yi ≥ 0. Also sind die Unterschranken gerechtfertigt. Nun ist noch zu zeigen, dass die Auszahlungswerte auch nicht h¨oher ausfallen k¨onnen. Man modelliert yi ≤ max{0, dT(i) x − M zi }, indem man zwei Ungleichungen mit Bin¨arvariablen vi1 , vi2 ∈ {0, 1} mit vi1 + vi2 = 1 ansetzt und fordert: yi
≤
yi
≤
M vi1
dT(i) x − M zi + M vi2 .
Dadurch hat man entweder yi ≤ M und yi ≤ dT(i) x − M zi oder aber yi ≤ 0 und yi ≤ dT(i) x. Durch die Maximierungsrichtung wird jeweils die h¨ohere Schranke realisiert.
L¨osung zu 7.2.6
Variablen: xij =
1
falls Dame auf Feld (i, j)
0
sonst
∀ i, j = 1, . . . , 8(n)
214
II: 7 Problemstellung und Zweck
Ganzzahliges Optimierungsproblem: n n
max n
i=1 j=1
xij
xij ≤ 1
∀ j = 1, . . . , n
(in jeder Spalte h¨ochstens eine Dame)
xij ≤ 1 xi,j ≤ 1
∀ i = 1, . . . , n
(in jeder Reihe h¨ochstens eine Dame)
∀ k = 2, . . . , 2n
(Diagonalausschluss)
i=1 n
j=1
i+j=k
(tautologisch f¨ur k = 2 und k = 2n)
i−j=k
xi,j ≤ 1
∀ k = −(n − 1), . . . , (n − 1)
(Diagonalausschluss)
(tautologisch f¨ur k = −(n − 1) und k = n − 1)
L¨osung zu 7.2.7 a)
ark bzw. erk seien jeweils die Anfangs- und Endzeitpunkte der Bearbeitung von Produkt k auf Maschine r. Um Zul¨assigkeit zu gew¨ahrleisten, muss gelten: erk und generell
ark − ark ar+1 k
≥ = ≥
0 trk erk
∀ k, r ∀ k, r ∀ k, r.
Die Bearbeitungszeiten f¨ur zwei Produkte an einer Maschine m¨ussen u¨ berschneidungsfrei sein, also: entweder erk2 ≤ ark1 oder ek1 ≤ ark2 . Das wird modelliert mit Entscheidungsvariablen yk2 k1 bzw. yk1 k2 ∈ {0, 1} und einem Big M (z. B. M ≥ k r Bearbeitungszeiten). erk2 erk1
yk2 k1 + yk1 k2 b)
≤ ark1 + yk2 k1 · M ≤ ark2 + yk1 k2 · M = 1.
Zielfunktionen: i) ii) iii) iv)
R min η und η ≥ eR 1 , . . . , η ≥ eK min R und r=1 (ηr − αr )κr ηr ≥ er1 , ηr ≥ er2 , . . . , ηr ≥ erK sowie r min K k=1 ek πk K 1 min k=1 pk · (eR k − ak )
αr ≤ ar1 , αr ≤ ar2 , . . . , αr ≤ arK
7.4 Unimodulare Probleme
215
7.4 Unimodulare Probleme Besonders vorteilhaft zu l¨osen sind ganzzahlige Optimierungsprobleme der Art max cT x unter Ax ≤ b x ∈ Zn
oder
unter Ax = b, x ≥ 0 x ∈ Zn
wenn sich ergibt, dass der Maximalpunkt x des relaxierten Problems max cT x
unter x ∈ X = {x | Ax ≤ b} usw.
bereits ganzzahlig ist, weil wir dann mit einem L¨osungsalgorithmus f¨ur das (relaxierte) lineare Problem schon das ganze Problem l¨osen k¨onnen. Da dies in dieser Form nur als gl¨ucklicher ” Umstand“ angesehen werden kann, besch¨aftigen wir uns eher mit der Situation, dass bei bestimmten Matrizen A von vornherein garantiert werden kann, dass X ein Polyeder und alle seine Ecken ganz sind. In diesem Fall w¨are also X = P (A, b) = PI . Dies gelingt in problemindividuellen Einzelf¨allen, aber vor allem im Zusammenhang mit sogenannten unimodularen oder total unimodularen Matrizen. Der folgende Abschnitt an Aufgaben befasst sich insbesondere mit der Frage, ob die jeweilige Problemstellung automatisch zu ganzzahligen Optima f¨uhrt oder ob hier P (A, b) = PI ist oder ob gar diese Eigenschaft der Unimodularit¨at vorliegt. Definition 7.3 P heißt ganzzahliges Polyeder, wenn P = PI = conv(IM (A, b)) Der folgende Satz gibt zwei a¨ quivalente Bedingungen zur Ganzzahligkeit: Satz 7.4 Folgende Aussagen sind a¨ quivalent: i)
P ist ein ganzzahliges Polyeder.
ii)
Jede Seitenfl¨ache von P enth¨alt einen ganzzahligen Punkt.
iii)
Zu jeder Zielrichtung c, bei der cT x auf P beschr¨ankt ist, gibt es einen ganzzahligen Optimalpunkt.
Erkennbar/generierbar werden solche Eigenschaften durch Unimodularit¨at. Definition 7.5 Eine Matrix A ∈ Z(m,n) vom Rang m heißt unimodular, wenn f¨ur jede m × m Untermatrix B von A von vollem Rang gilt |det B| = 1.
216
II: 7 Problemstellung und Zweck
Eine st¨arkere Version hiervon ist die totale Unimodularit¨at.
Definition 7.6 A ∈ Z(m,n) heißt total unimodular, wenn jede Subdeterminante von A nur die Werte {0, 1, −1} besitzt. (Dann k¨onnen nat¨urlich auch nur {0, 1, −1} als Matrixeintr¨age auftreten.)
Und daraus ergibt sich dann folgendes Ergebnis:
Satz 7.7 A sei total unimodular und b sei ganz. Dann ist P = {x | Ax ≤ b} ein ganzzahliges Polyeder.
Bestimmte Problemtypen, die sich mit Transportfragen, Zuordnungsfragen und allgemeinen ¨ Uberlegungen auf bipartiten Graphen besch¨aftigen, sind in aller Regel beschrieben durch total unimodulare Matrizen. Diese Eigenschaft l¨asst sich in folgendem Satz formal beschreiben.
Satz 7.8 Sei A ∈ Z(m,n) mit aij ∈ {0, 1, −1} ∀i, j. Genau dann ist A bzw. AT total unimodular, wenn f¨ur jede Zeile i und jede Teilmenge J der Spaltenindizes {1, . . . , n} eine Zerlegung in J1 , J2 (J1 , ∪J2 = J, J1 ∩ J2 = ∅) vorliegt mit aij − aij ≤ 1 ∀i ∈ {1, . . . , m} j∈J1 j∈J2
Anwenden l¨asst sich dieses Ergebnis beispielsweise auf Inzidenzmatrizen von gerichteten Graphen. Diese sind nach obigen Kriterien total unimodular. Bei allgemeinen (ungerichteten) Gra¨ phen braucht man noch, dass b bipartit ist, damit Aquivalenz zur totalen Unimodularit¨at vorliegt.
7.5 Aufgaben zu unimodularen Problemen Aufgabe 7.5.1 Sei A eine total unimodulare Matrix und b und c ganzzahlige Vektoren. Zeigen Sie, dass die Polyeder {x | Ax = b, x ≥ 0} und {x | Ax ≤ b, 0 ≤ x ≤ c} nur ganzzahlige Ecken besitzen.
7.5 Aufgaben zu unimodularen Problemen
217
Aufgabe 7.5.2 Das n×n-Heiratsproblem l¨asst sich deuten als das Problem eines Vaters, jede von n T¨ochtern mit einem von n Freiern zu verheiraten. Dabei kommt jeder Paarung (i, j) (Freier i heiratet Tochter j) ein bestimmter Nutzen zu. Formulieren Sie das Heiratsproblem f¨ur die allgemeine Situation von n T¨ochtern und n Freiern (welche Tochter soll mit welchem Freier verheiratet werden?) als ganzzahliges lineares Problem der Form max cT x Ax x
= b ≥ 0, x ∈ Z.
Zeigen Sie, dass die dabei entstehende Matrix A total unimodular ist.
Aufgabe 7.5.3
Sei A ∈ Z(m,n) . F¨ur alle c, b mit c ∈ Rn und b ∈ Zm gebe es jeweils eine ganzzahlige Optimall¨osung des Problems min cT x unter Ax ≤ b, x ≥ 0. Zeigen Sie, dass dann A total unimodular ist.
Aufgabe 7.5.4 F¨ur einen Dressurwettbewerb hat eine Mannschaft drei Reiter r1 , r2 , r3 und drei Pferde p1 , p2 , p3 zur Verf¨ugung. Es soll eine Zuordnung der Reiter zu den Pferden gefunden werden, die die Summe der Gewinnchancen maximiert. Jeder Reiter und jedes Pferd m¨ussen genau einmal eingesetzt werden. Der Eintrag Gij in der folgenden Matrix gibt jeweils die Gewinnchance (in Prozent) des Reiters ri mit Pferd pj an: ⎛ ⎞ 8 11 6 G = ⎝9 12 10⎠ 8 9 7 a)
Formulieren Sie dieses Problem als lineares, ganzzahliges Optimierungsproblem (P ). Hinweis: Beschreiben Sie mit Variablen xij , in welchem Ausmaß Reiter ri das Pferd pj beansprucht.
b)
Sei X der Zul¨assigkeitsbereich von (P ) ohne die Ganzzahligkeitsbedingung. Zeigen Sie, dass f¨ur jede Permutation π von {1, 2, 3} durch xi,π(i) = 1, i = 1, 2, 3, und xij = 0, j = π(i), i, j = 1, 2, 3, eine Ecke von X definiert wird und dass dies alle Ecken von X sind.
c)
L¨osen Sie (P ).
218
II: 7 Problemstellung und Zweck
7.6 L¨osungen zu unimodularen Problemen L¨osung zu 7.5.1 •
x sei eine Ecke von {x | Ax = b, x ≥ 0}. ⇒ x l¨ost AB xB = b, xN = 0 Cramersche Regel: det A.j1 , . . . , A.ji−1 , b, A.ji+1 , . . . , A.jn i xB = ∈ Z, det AB da det AB ∈ {−1, 1} nach Voraussetzung und der Z¨ahler ganzzahlig ist.
•
⎧ ⎛ ⎞ ⎛ ⎞⎫ b ⎬ ⎨ A x sei eine Ecke von {x | Ax ≤ b, 0 ≤ x ≤ d} = x ⎝ E ⎠ x ≤ ⎝d⎠ ⎩ ⎭ −E 0 ⎛ ⎞⎛ ⎞ ⎛ ⎞ AJ1 AJ2 AJ3 bJ x1 ⇒ x l¨ost ⎝ EK 0 0 ⎠ ⎝x2 ⎠ = ⎝dK ⎠ (J, K, L Indexmengen) 0 x3 0 0 −EL ⇒ x2 = 0, x1 = dK ⇒ AJ3 x3 = bJ − AJ1 dK . Analog zum ersten Fall folgt mit der Cramerschen Regel und det AJ3 ∈ {−1, 1} nach Vorraussetzung x3 ∈ Z, x2 = 0 ∈ Z, x1 = dK ∈ Z.
L¨osung zu 7.5.2 Formulierung: xij =
1 Freier i bekommt Tochter j 0 sonst
cij : Nutzen, wenn Freier i die Tochter j heiratet Problemformulierung: max
n n
cij xij
i=1 j=1 n i=1 n
xij
=
1
∀j
xij
=
1
∀i
xij
∈
{0, 1} ∀ i, j.
j=1
7.6 L¨osungen zu unimodularen Problemen
219
Matrix aus der ganzzahligen Formulierung: ⎛ 1 1 ... 1 0 0 ... ⎜ 0 0 ... 0 1 1 ... ⎜ ⎜ ⎜ 0 0 ... 0 0 0 ... ⎜ ⎜ . .. .. .. .. ⎜ .. . . . . ⎜ ⎜ ⎜ 0 0 ... 0 0 0 ... ⎜ ⎜ 1 0 ... 0 1 0 ... ⎜ .. . . ⎜ ⎜ 0 .. . 0 .. ⎜ . ⎜ .. .. .. ⎝ . . . 0 .. 0 ... ... 1 0 ... ...
0 ... 1 ... . 0 .. .. . 0 ... 0 ... .. .
... 0 ... 0 .. . ..
. 0 ... 1 ... 1 0 .. .
0 1 ... ... 0
⎞ ... 0 ... 0 ⎟ ⎟ .. ⎟ . ⎟ ⎟ ⎟ 0 ... 0 ⎟ ⎟ ⎟ 1 ... 1 ⎟ ⎟ 0 ... 0 ⎟ .. ⎟ .. ⎟ . . ⎟ ⎟ ⎟ .. . 0 ⎠ ... ... 1 0 0 .. .
Kolonnen von 1-en (n St¨uck) n-mal Jede n-te Komponente ist eine 1. n Zeilen: i-te: Beginn bei Komponente i. Bemerkung: Es gilt (1, . . . , 1, −1, . . . , −1)A = 0, das heißt, dass in jeder Spalte eine 1 im oberen Teil und eine im unteren Teil steht. Behauptung: A ist unimodular. Beweis: Induktion u¨ ber die Untermatrizengr¨oße k = 1 : A1 ∈ {0, 1} ist unimodular. k →k+1: Es werden drei F¨alle betrachtet: Erste H¨alfte: Zweite H¨alfte:
1.
Ak+1 enth¨alt eine Nullspalte (alle Eintr¨age der Spalte sind null ) ⇒ det Ak+1 = 0
2.
Ak+1 enth¨alt keine Nullspalte, aber eine Spalte mit genau einer 1 ⇒ det Ak+1 = (±1) · det Ak ∈ {0, 1, −1} (nach Induktionsvor.)
3.
Alle Spalten von Ak+1 haben 2 Einsen (eine im oberen Bereich und eine im unteren Teil) ⇒ (1, . . . , 1, −1, . . . , −1)Ak+1 = 0 ⇒ det Ak+1 = 0
220
II: 7 Problemstellung und Zweck
L¨osung zu 7.5.3 A ist fest, b und c d¨urfen jeweils beliebig nach Bedarf gew¨ahlt werden. F¨ur alle b, c gebe es eine ganzzahlige Optimall¨osung. Wir f¨uhren Schlupfvariablen xs ein und erhalten x x = b, ≥ 0. (A, E) xs xs Dann gilt: A total unimodular ⇔ (A, E) total unimodular. Sei nun U eine quadratische Teilmatrix von A (regul¨ar, sonst banal). Wir zeigen, dass detU = ±1. U ∗∗ O. B. d. A. sei A = . Wir erg¨anzen U zu einer regul¨aren (m × m)-Matrix ∗ ∗∗∗ ˜= U
U ∗
0 . E
˜ = ± det U = ±1 (wenn det U = ±1 gilt). U ˜ hat nur ganzzahlige Eintr¨age. Dann ist det U −1 ˜ Fraglich ist, ob dies auch f¨ur U wahr ist. ˜ ist auf jeden Fall Basismatrix des Problems in Standardform. Die Spalten von U ˜ −1 sind genau U −1 −1 ˜ ˜ die Vektoren U e1 , . . . , U em . •
˜ −1 ei ≥ 0, dann ist dieser Vektor zul¨assige Basisl¨osung zu b = ei und kann Falls nun U somit durch eine geeignete Variation von c zu einem optimalen Punkt gemacht werden. Da jeder Optimalpunkt nach der Voraussetzung ganzzahlig sein muss, ist auch die i-te Spalte ˜ −1 ganzzahlig. der Matrix U
•
˜ −1 ei ≥ 0, dann gibt es sicherlich einen ganzzahligen Vektor zi , so dass Gilt U ˜ −1 ei + zi ≥ 0 U ˜ zi als rechte Seite verwenden, denn sowohl ei als ist. Wir k¨onnen weiterhin b = ei + U ˜ und zi sind ganzzahlig. Dann ist auch U ˜ zi ) = U ˜ −1 ei + zi ≥ 0 ˜ −1 (ei + U U eine zul¨assige Basisl¨osung. Da diese wiederum f¨ur eine geeignete Zielfunktion c optimal ˜ −1 ei ganzzahlig. ist, muss diese Basisl¨osung ganzzahlig sein und somit ist auch U
˜ −1 Da obige Argumentation f¨ur jedes i = 1, . . . , m gef¨uhrt werden kann, ist die ganze Matrix U ˜ genauso wie auch U ganzzahlig. Mit ˜) = det(U ˜ ) = ±1. folgt sofort det(U
1 ˜ −1 ) det(U
und
˜ ), det(U ˜ −1 ) ∈ Z det(U
7.6 L¨osungen zu unimodularen Problemen
221
L¨osung zu 7.5.4 a)
Als ganzzahliges lineares Optimierungsproblem ergibt sich: max
3 3 i=1 j=1 3 i=1 3 i=1
Gij xij
xij = 1
∀ j = 1, 2, 3
(jedes Pferd nur einmal eingesetzt)
xij = 1
∀ i = 1, 2, 3
(jeder Reiter nur ein Pferd)
0 ≤ xij ≤ 1 xij ∈ Z
b)
xij = 1
⇔
xij = 0
⇔
i)
(Summe der Gewinnchancen)
∀i, j = 1, 2, 3 (Inanspruchnahme) ∀i, j = 1, 2, 3
Reiter i reitet (ausschließlich) auf Pferd j und Pferd j wird (ausschließlich) von Reiter i geritten. Reiter i und Pferd j haben nichts miteinander zu tun.
Jede Zuordnung xi,π(i) = 1 und xij = 0 f¨ur j = π(i) mithilfe einer Permutation π von {1, 2, 3} liefert eine Ecke des Zul¨assigkeitsbereiches X. Denn zun¨achst sind diese Zuordnungsvektoren zul¨assig (9 Komponenten, 3 davon haben den Wert 1, 6 den Wert 0). Alle Gleichheitsrestriktionen sind erf¨ullt und xij h¨alt die Beschr¨ankungen ein (6 mal untere, 3 mal obere Schranke). Noch zu zeigen: Es handelt sich um Ecken, das heißt, dass keine echte Konvexkombination von anderen zul¨assigen Punkten diese Permutationsl¨osungen substituieren kann. Seien a, b ∈ R3×3 mit a = b zwei solche Punkte mit a = 1 ∀ j, j aij = 1 ∀ i und i ij i bij = 1 ∀ j, j bij = 1 ∀ i, sowie 0 ≤ aij ≤ 1, 0 ≤ bij ≤ 1 ∀ i, j. Dann gibt es ein Paar (i, j), so dass aij = bij (o. B. d. A. aij < bij ). Jede echte Konvexkombination von a und b liefert dann einen Wert aus (aij , bij ) ⊆ (0, 1). Also kann dies auf keinen Fall eine Permutationsl¨osung ergeben. Deshalb sind die Permutationsl¨osungen (6 St¨uck) alle Extremalpunkte und damit auch Ecken.
ii)
Es gibt auch keine weiteren Ecken. Wir l¨osen diese Aufgabe durch Bezug auf das Kriterium f¨ur Unimodularit¨at. Stellt man zur Beschreibung der Nebenbedingungen eine neue Matrix A auf, deren erste drei Zeilen f¨ur die Reiter i und deren n¨achste drei Zeilen f¨ur die drei Pferde stehen und deren neun Spalten f¨ur die jeweiligen Paarungen (i, j) stehen, dann enth¨alt diese Matrix in jeder Zeile dreimal eine Eins (ansonsten Nullen). In jeder Spalte taucht oben (bei den Reitern) und unten (bei den Pferden) je eine Eins auf. Und dies erf¨ullt das Kriterium f¨ur die Unimodularit¨at von A, denn man muss nur die Unterteilung in
222
II: 7 Problemstellung und Zweck
die ersten und die zweiten drei Zeilen beachten. ⎛ 1 1 1 0 0 0 ⎜0 0 0 1 1 1 ⎜ ⎜0 0 0 0 0 0 A=⎜ ⎜1 0 0 1 0 0 ⎜ ⎝0 1 0 0 1 0 0 0 1 0 0 1 c)
0 0 1 1 0 0
0 0 1 0 1 0
⎞ 0 0⎟ ⎟ 1⎟ ⎟ 0⎟ ⎟ 0⎠ 1
Da der Zul¨assigkeitsbereich ein Polytop ist, reicht zur Optimierung ein Eckenvergleich.
x11 x11 x12 x12 x13 x13 ⇒
= x22 = x23 = x21 = x23 = x21 = x22
Ecke = x33 = 1, = x32 = 1, = x33 = 1, = x31 = 1, = x32 = 1, = x31 = 1,
sonst xij sonst xij sonst xij sonst xij sonst xij sonst xij
=0 =0 =0 =0 =0 =0
Zielfunktionswert 27 27 27 29 24 26
x12 = x23 = x31 = 1 und sonst xij = 0 ist die beste L¨osung mit dem Optimalwert 29, wobei diese L¨osung eindeutig ist.
Interpretation der optimalen L¨osung: Reiter 1 nimmt Pferd 2, Reiter 2 nimmt Pferd 3 und Reiter 3 nimmt Pferd 1.
Kapitel 8
Polyedertheorie bei Ganzzahligkeit 8.1 Theorie der Ganzzahligen Optimierung Wir haben schon die Frage gestellt, ob die konvexe H¨ulle der ganzen Punkte in {x | Ax ≤ b} ein Polyeder ist. Als Gr¨unde, weshalb die konvexe H¨ulle einer solchen Menge von ganzzahligen Punkten manchmal kein Polyeder ist, kommen infrage: •
die Daten (A, b) sind nicht rational,
•
der Zul¨assigkeitsbereich ist unbeschr¨ankt.
In allen anderen F¨allen kann unsere Frage mit Ja beantwortet werden.
Satz 8.1 Ist B ⊂ K n eine beschr¨ankte Menge, dann ist conv(x ∈ B | x ∈ Zn ) ein Polytop. Dazu gibt es m ∈ N, eine Matrix D ∈ Z(m,n) und einen Vektor d ∈ Zm mit conv(x ∈ B | x ∈ Zn ) = P (D, d).
Bezeichnung •
P ⊂ K n heißt rationales Polyeder, wenn es m ∈ N, A ∈ Q(m,n) und b ∈ Qm gibt mit P = P (A, b).
•
C ⊂ K n heißt rationaler Kegel, wenn es m ∈ N, A ∈ Q(m,n) gibt mit C = P (A, 0).
Erinnerung an den Satz von Weyl P ist genau dann rational, wenn es eine Darstellung P = conv(v1 , v2 , . . . , vk ) + cone(u1 , . . . , u )
224
II: 8 Polyedertheorie bei Ganzzahligkeit
mit v1 , . . . , vk , u1 , . . . , u ∈ Qn besitzt. Bezeichnung F¨ur Polyeder der Bauart conv(x ∈ P | x ∈ Zn ) schreiben wir PI , also PI = conv(IM(A, b)). Entsprechend ist f¨ur polyedrische Kegel C die Menge CI erkl¨art als conv(x ∈ C | x ∈ Zn ). Lemma 8.2 Ist C ein rationaler Kegel, dann gilt CI = C.
Lemma 8.3 Sei P ein rationales Polyeder mit P = B + C, wobei B ein Polytop und C ein Kegel mit C = cone(u1 , . . . , u ) (ui ∈ Zn ) ist. Dann gilt PI = (B + B)I + CI mit B = { i=1 ρi ui | 0 ≤ ρi ≤ 1, i = 1, . . . , }.
Satz 8.4 Ist P rational, dann ist auch PI rational.
Korollar 8.5 F¨ur rationale Polyeder P ist der Rezessionskegel von PI auch der Rezessionskegel von P .
Satz 8.6 Sind A ∈ Q(m,n) und b ∈ Qm , dann ist conv(IM(A, B)) rational.
Bemerkung Gegeben sei ein ganzzahliges Optimierungsproblem max cT x unter Ax ≤ b, x ∈ Zn . Falls dann das (ILP ) eine L¨osung besitzt, gilt: max{cT x | x ∈ IM(A, b)} = max{cT x | x ∈ conv(IM(A, b))} = max{cT x | x ∈ PI }. Im unbeschr¨ankten Fall ist supx∈IM cT x = ∞ = supx∈PI cT x. Im unzul¨assigen Fall ist IM = ∅ = PI . Wenn PI = conv(IM(A, b)) ein Polyeder ist, kann man theoretisch ein (ILP ) in ein (LP ) transformieren. Problematisch ist dabei aber, dass die bestimmenden Ungleichungen sowie deren Anzahl unbekannt sind, nur ihre Existenz ist offensichtlich.
8.1 Theorie der Ganzzahligen Optimierung
225
Wir k¨onnen dar¨uber nachdenken, wie groß die angegebenen Polyeder PI und die darin befindlichen ganzzahligen Punkte sind. Gegeben sei ein Polyeder P (A, b) mit ganzzahligen Daten in A ∈ Z(m,n) und b ∈ Zn . Wir wollen zur dadurch induzierten Menge IM(A, b) und zum dadurch vorliegenden Polyeder PI := conv(IM(A, b)) die n¨otige Beschreibung durch Ungleichungen und die zugeh¨orige Kodierungsl¨ange wissen. Die Kodierungsl¨ange ist dabei die Anzahl der zur Bin¨ardarstellung erforderlichen Bits. Definition 8.7 Die Kodierungsl¨ange k einer Zahl k ∈ Z ist definiert als die Anzahl der Bits, die zur Bin¨ardarstellung von k n¨otig sind. Also ist k = log2 (|k|) + 1 + 1. Die Kodierungsl¨ange eines Bruches p ange eines Vektors bzw. q mit p, q ∈ Z ist p + q. Entsprechend ergeben sich die Kodierungsl¨ einer Matrix als Summe der Kodierungsl¨angen aller Eintr¨age.
Definition 8.8 Zu A ∈ Z(m,n) , b ∈ Zm sei A, b die Kodierungsl¨ange der erweiterten Matrixdarstellung [A, b] des Polyeders P (A, b). (A, b) bezeichne den Maximalbetrag aller Subdeterminanten von (A, b) bis zur Gr¨oße n × n.
Hinweis kann durchaus von einer unterdimensionalen Submatrix k × k(k ≤ n) stammen. Bemerkung Es gilt (A, b) ≤ 2A,b − 1. Lemma 8.9 Mit obigen Bezeichnungen gibt es zu vorgegebenem (A, b) ∈ Z(m,n+1) eine Polyederdarstellung P (A, b) = conv(v1 , . . . , vk ) + cone(u1 , . . . , u ) (vi , uj rational) mit |vij |, |uji | ≤ (A, b), vij , uji ≤ 2(A, b), vi , ui ≤ n · 2(A, b).
Satz 8.10 P (A, b) sei ein Polyeder mit ganzzahligen Daten. PI wird erzeugt in der Form conv(z1 , . . . , zs ) + cone(u˜1 , . . . , u˜ ) mit ganzzahligen Erzeugervektoren z1 , . . . , zs , u˜1 , . . . , u˜ . Keine Komponente dieser Erzeuger hat einen h¨oheren Betrag als (n + 1)(A, b).
226
II: 8 Polyedertheorie bei Ganzzahligkeit
Korollar 8.11 Ist PI = 0, dann gibt es z ∈ IM(P ) mit | z i |≤ (n + 1)(A, b) ∀i = 1, . . . , n
Korollar 8.12 Wenn max{cT x | x ∈ P (A, b), x ∈ Zn } = max{cT x | x ∈ PI } existiert, dann gibt es einen Optimalpunkt von (ILP ) mit | xi |≤ (n + 1)(A, b) f¨ur alle i = 1, . . . , n. Der Optimalwert ist dann betragsm¨aßig kleiner als c · (n + 1)(A, b). Ist nun T so groß gew¨ahlt, dass | T |≥ (n + 1)(A, b), dann kann die kombinierte Auswertung des relaxierten Problems (ohne T -Beschr¨ankung) und die darauffolgende Auswertung des T beschr¨ankten (ILP ) schon das ganze (ILP ) l¨osen. Sehr viel einfacher ist nat¨urlich die Situation, wenn die xi auf P schon sowieso beschr¨ankt sind (etwa wenn P ein Polytop ist).
Algorithmus 8.13 (Zusatzalgorithmus) Man l¨ose dazu zun¨achst einmal (LP (A, b)), also das relaxierte Problem und beobachte, ob dies •
einen Optimalpunkt hat,
•
unbeschr¨ankte Zielfunktion hat,
•
leeren Zul¨assigkeitsbereich hat,
1.
Falls P (A, b) leer ist ⇒ ILP (A,b) leer → STOP.
2.
Andernfalls l¨ose (ILP (T ))
3.
Ist (ILP (T )) unzul¨assig, dann auch (ILP )→ STOP.
4.
Hat (LP (A, b)) unbeschr¨ankte Zielfunktion und ist (ILP (T )) zul¨assig ⇒ (ILP ) hat unbeschr¨ankte Zielfunktion → STOP.
5.
Hat (LP (A, b)) einen Optimalpunkt und ist (ILP (T )) zul¨assig, dann ist der Optimalpunkt von (ILP (T )) bereits optimal f¨ur (ILP ).
8.2 Aufgaben zur Theorie der Ganzzahligen Optimierung Aufgabe 8.2.1
In einem (LP ) max cT x unter Ax ≤ b mit c, x ∈ R3 , A ∈ R5×3 und b ∈ R5 treten bei den Vektoren c, b und der Matrix A nur Eintr¨age mit Werten aus {−2, −1, 0, 1, 2} auf. Beweisen Sie:
8.2 Aufgaben zur Theorie der Ganzzahligen Optimierung
227
a)
Die Komponenten der Basisl¨osungen sind betragsm¨aßig nach oben durch 48 beschr¨ankt, 1 , falls nicht die Null angenommen wird. und nach unten gilt die Beschr¨ankung durch 48
b)
Die m¨oglichen Zielfunktionswerte an den Ecken bzw. Basisl¨osungen sind betragsm¨aßig nach oben durch 288 beschr¨ankt. Nach unten wird entweder 0 angenommen oder der Be1 beschr¨ankt. trag ist durch 48
Aufgabe 8.2.2 Vorgegeben sei das folgende Ungleichungssystem: − 3 x1 − 31 x1 − 500 x1 − 28 x1 64 x1 64 x1
+ 7 x2 + 19 x2 + 105 x2 − 80 x2 − 38 x2 + 10 x2
≤ ≤ ≤ ≤ ≤ ≤
24 48 331 259 181 205
Dieses Ungleichungssystem beschreibt ein Polytop P , das auch als konvexe H¨ulle dargestellt werden kann, n¨amlich als P = conv(v1 , v2 , v3 , v4 , v5 , v6 ) mit: 1 3 1 1 3 1 22 −5 −1 4 3 4 4 , v2 = , v3 = , v4 = , v5 = , v6 = 18 . v1 = 4 12 3 43 2 15 −2 54 −3 21 2 a)
Fertigen Sie eine Zeichnung des Polytops P an.
b)
Bestimmen Sie zu PI = conv(IM(A, b)) eine endliche Erzeugermenge.
c)
Geben Sie ein Ungleichungssystem an, das PI charakterisiert.
d)
1 2 1 2 1 2 Beweisen Sie, dass die Zielfunktionen max x + x , max 2x + x , max x + 2x alle im 2 Punkte auf PI optimiert werden. 4
Betrachten Sie nun den ver¨anderten Zul¨assigkeitsbereich P˜ mit P˜ = conv(v1 , v2 , v3 , v4 , v5 , v6 ) + cone
1 . −1
e)
Es ist bekannt, dass – wenn P˜ als P˜ = B + C mit einem Polytop B und einem Kegel C dargestellt werden kann – das Polyeder P˜I als P˜I = (B + B)I + CI geschrieben werden kann. Bestimmen Sie zu (B + B)I eine endliche Erzeugermenge und geben Sie einen Erzeuger f¨ur CI an.
f)
Erl¨autern Sie, wie sich die in d) angegebenen Zielfunktionen auf dem erweiterten Zul¨assigkeitsbereich P˜I verhalten.
228
II: 8 Polyedertheorie bei Ganzzahligkeit
Aufgabe 8.2.3 Konstruieren Sie ein zweidimensionales Polyeder P durch Angabe eines Ungleichungssystems Ax ≤ b, also P = P (A, b) und durch Zeichnen einer Skizze, bei dem Sie klarmachen k¨onnen, dass gilt: PI = (B + B)I + CI und nicht etwa PI = BI + CI . Dabei sind folgende Vorgaben einzuhalten: P lasse sich darstellen in der Form P =B+C
(B Polytop, C konvexer Kegel)
und die Integermenge von B sei 3 0 1 2 0 1 0 1 , , , , , , , IM(B) = −1 0 0 0 1 1 2 2 Zu diesem Zweck reicht es, einen geeigneten Kegel C zu finden, so dass (B + B)I + CI eine (oder mehrere) Ecken besitzt, die nicht zu BI + CI geh¨oren.
8.3 L¨osungen zur Theorie der Ganzzahligen Optimierung L¨osung zu 8.2.1 a)
Jede Basisl¨osung ist L¨osungsvektor eines Gleichungssystems A x = b mit A ∈ R3×3 , b ∈ R3 , A regul¨ar. Alle Eintr¨age hiervon sind aus {−2, −1, 0, 1, 2}. Die Cramersche Regel besagt dann, dass
xi =
det Ai det (A )
,
wobei Ai aus A entsteht durch Streichen der i-ten Spalte und Einf¨ugen von b an dieser Stelle. Die Unterschranke f¨ur |det A | ist 1, denn diese Determinante muss ganzzahlig und verschieden von 0 sein (A regul¨ar). (0 k¨onnte aber bei A1 , A2 , A3 angenommen werden). Eine Oberschranke f¨ur | det A| bzw. | det Ai | ergibt sich aus der Determinantenregel f¨ur 3 × 3-Matrizen: |det A| = |a11 a22 a33 + a21 a32 a13 + a31 a12 a23 − a13 a22 a31 − a23 a11 a32 − a33 a21 a12 | ≤ |a11 a22 a33 | + |a21 a32 a13 | + |a31 a12 a23 | + |a13 a22 a31 | + |a23 a11 a32 | + |a33 a21 a12 | ≤ 6 · 23 = 6 · 8 = 48.
b)
1 Dadurch ergibt sich eine Oberschranke f¨ur |xi | von 48 1 und eine Unterschranke von 48 , es sei denn der Z¨ahler ist 0. 3 3 |cT x| ist absch¨atzbar durch i=1 |ci | · |xi | ≤ 2 · i=1 |xi | ≤ 6 · 48 = 288. Nach unten
8.3 L¨osungen zur Theorie der Ganzzahligen Optimierung
229
kann evtl. 0 angenommen werden oder aber es ergibt sich cT x =
3
ci xi =
i=1
und damit
3 i=1
T
c x =
ci
3 det Ai 1 = ci det Ai det A det A i=1
3
1
·
ci det Ai .
det A i=1
Das zweite Produkt ist entweder 0 oder betragsm¨aßig mindestens 1, das erste ist ≥
L¨osung zu 8.2.2 a)
Zeichnung des Polytops P und des Polytops PI :
4
•
• P
2•
PI •
−2
2 −2 • −4
b)
4
•
Das ganzzahlige Polytop entspricht: 0 2 3 1 0 −1 , , , , , PI = conv 2 4 1 −3 −3 −2 1 2 Bemerkung: Die Punkte und liegen auf dem Rand von PI . 3 −1
c)
Ungleichungen f¨ur PI :
1 48 .
230
II: 8 Polyedertheorie bei Ganzzahligkeit
−x1 + x2
≤
2
enth¨alt
3x1 + x2
≤
10
enth¨alt
2x1 − x2
≤
5
enth¨alt
−x2
≤
3
enth¨alt
−x1 − x2
≤
3
enth¨alt
−4x1 + x2
≤
2
enth¨alt
0 1 2 , , 2 3 4 2 3 , 4 1 3 2 1 , , 1 −1 −3 1 0 , −3 −3 0 −1 , −3 −2 −1 0 , −2 2
2 sind die Ungleichungen −x1 + x2 ≤ 2 und 3x1 + x2 ≤ 10 straff. 4 1 2 1 −1 3 Da sowohl als auch und in cone , liegen, ist der Polarke1 1 2 1 1 2 gelsatz bei in Bezug auf PI erf¨ullt. 4
d)
Im Punkt
e)
Zeichnung des Polytops:
5 4
•
B
3
+
B
•
2• 1 −2 −1 −1 −2 •−3 −4
(B + B)I • 1
2
3
4
•
−5
C = cone
1 −1
B = conv
1 −1
0 1
= λ λ ∈ [0, 1] 0 −1
8.3 L¨osungen zur Theorie der Ganzzahligen Optimierung
231
1 −1
CI = cone
B + B = conv
2 21
3 4 3 43
− 51
1 1 3 1 1 −1 4 −4 14 48 32
4 21 2 15 −2 54 −3 54 −4 21 − 21 2 0 −1 −1 1 2 4 3 (B + B)I = conv 4 2 −2 −3 −4 −4 0 4
3 12
f)
1 1 Durch cone gibt es die freie Richtung . Es entsteht bei P eine Kante an −1 −1 1 22 3 1 , die u¨ ber mit Richtung f¨uhrt. v1 = 1 4 −1 4 2
Die Zielfunktion x1 + x2 steht senkrecht zu dieser Kante. Sie stellt also eine H¨ohenlinie dar. Weil (3, 4)T angenommen wird, ist dies ein zul¨assiger Punkt, der optimal ist f¨ur PI . Es ergibt sich ein Zielfunktionswert von 7. 2 Bei Zielfunktion 2x1 + x2 ergibt sich Unbeschr¨anktheit, weil (1, −1) > 0. Auf dem 1 Rezessionskegel C wird die Zielfunktion unbeschr¨ankt groß. Da (B + B)I ganzzahlige zul¨assige Punkte hat, werden auch ganzzahlige Punkte angenommen, die beliebig große Zielfunktionswerte haben. 1 < 0, also verschlechtert sich die ZielfunktiF¨ur die Zielfunktion x1 + 2x2 ist (1, −1) 2 2 on auf dieser Kante. Es ist zu untersuchen, ob der Zielfunktionswert von 10 = (1, 2) 4 u¨ berboten werden kann. Die Kante beginnt bei v1 , dort w¨are das Zielfunktionsniveau 11 21 . Weil auf der Kante nun auch der Punkt (3, 4)T liegt und dort ein Zielfunktionswert von 11 angenommen wird, werden alle Kantenpunkte rechts davon kleiner sein. Also ist der Optimalwert 11.
L¨osung zu 8.2.3 P = conv
1 1 1 3 0 0 2 , + cone , , , 0 1 −1 3 12 0 2 21
232
II: 8 Polyedertheorie bei Ganzzahligkeit
Veranschaulichung: y
5
B
4
•
•
3
•
•
•
2 •
•
•
•
1 •
•
•
•
•
•
• 1
• 2
• 3
• 4
•
•
−1
BI
−1
B+B (B + B)I 1 1 CI = cone , 1 0 • 5
x
P
1 0 0 3 B = conv , , 21 , −1 32 0 2 21 0 0 1 3 BI = conv , , , 0 2 2 −1
1 Jetzt ist aber eine Ecke von PI = (B + B)I + CI mit 4
λ+μ B= | λ ∈ [0, 1], μ ∈ [0, 1] λ (B + B)I = conv
0 0 1 2 3 5 4 3 , , , , , , , 0 2 4 4 3 0 −1 −1
Ungleichungssystem: −x1 ≤ 0 −x2 ≤ 1 −x1 − 3x2 ≤ 0 −4x1 + 2x2 ≤ 5 −x1 + x2 ≤ 3
Kapitel 9
Algorithmen der Ganzzahligen Optimierung 9.1 Dakins Branch-and-Bound-Algorithmus In der Regel ist der L¨osungsbereich eines linearen Optimierungsproblems eingeschr¨ankt. Legt man den Wert einer Variablen xi irgendwie fest, dann wird der Bereich im Allgemeinen noch kleiner und u¨ berschaubarer. Dieses Prinzip wollen wir uns jetzt nutzbar machen und durch L¨osen von vielen vereinfachten Unterproblemen an die L¨osung des Gesamtproblems herankommen. Gegeben und zu l¨osen sei ein Maximierungsproblem. Unterstellen wir nun, dass wir u¨ ber Heuristiken verf¨ugen, die eine obere Schranke (duale Heuristik) und eine untere Schranke (primale Heuristik) bereitstellen, dann bietet sich folgendes Vorgehen an: •
Lege den Wert einer oder mehrerer Variablen fest und berechne mit der primalen Heuristik eine untere Schranke f¨ur den Optimalwert.
•
Probiere andere Werte f¨ur diese Variablen aus und berechne mithilfe der dualen Heuristik obere Schranken bei der jeweiligen Setzung.
•
Ist eine solche obere Schranke schlechter als die bisher beste bekannte untere Schranke, dann ist die bei der oberen Schranke zugrundeliegende Festlegung der Variable(n) redundant und suboptimal und somit nicht weiter erw¨agenswert.
•
Ansonsten suche man mithilfe der primalen Heuristik und von weiteren Festlegungen (Teilungen des Untersuchungsbereiches) eine noch bessere als die bekannte untere Schranke. Erzielt man eine solche, dann tritt sie an die Stelle der bisher besten unteren Schranke.
•
Fahre so fort (evtl. durch immer mehr Festlegungen), bis obere und untere Schranke gleich“ werden, also eine L¨osung vorliegt. ”
Dieses Verfahrensprinzip nennt man Branch-und-Bound-Verfahren.
234
II: 9 Algorithmen der Ganzzahligen Optimierung
Algorithmus 9.1 (Allgemeines Branch-und-Bound-Verfahren) Gegeben sei das Problem max c(s) unter s ∈ S. Verf¨ugbar sei eine Heuristik HO zur exak(i)
ten L¨osung des (relaxierten) Maximierungsproblems auf Obermengen M , wobei M (i) eine (i) Unterteilungsmenge ist und M die zugeh¨orige Unterteilungsmenge ohne Zusatzbedingungen (Relaxierung) ist. (Falls verf¨ugbar, verwenden wir auch eine Unterschrankenheuristik HU f¨ur generelle Einzelmengen). Input: Implizite Angabe von S und Darstellung von c. Output: Maximalwert und Optimalpunkt von c(s) auf S. Initialisierung: Berechne mit HU eine untere Schranke u f¨ur das Optimum auf S. Notiere s mit c(s) = u. Setze K = {S} an als System m¨oglicher Kandidatenmengen. Typischer Schritt: 1.
Falls K = ∅ −→ Abbruch. Der vorliegende beste Punkt ist optimal in S. Falls K = ∅, w¨ahle eine Menge M ∈ K (Branching).
2.
W¨ahle nun eine m¨oglichst kleine Obermenge M ⊃ M , so dass HO auf M anwendbar wird. Man findet so eine L¨osung f¨ur M , also f¨ur das relaxierte Problem. Diese ist Oberschranke f¨ur das urspr¨ungliche Problem auf M : max c(s) ≤ max c(s) = c(s∗ ). s∈M
s∈M
3.
Ist c(s∗ ) ≤ u, entferne M (als bearbeitet) aus K und gehe zu (1). (In diesem Fall liefert M keine besseren Werte als der bisher bekannte zul¨assige Punkt s). (Bounding) Ist die Oberschranke c(s∗ ) > u, dann gehe zu (4).
4.
Ist s∗ zul¨assig, das heißt s∗ ∈ S und gilt c(s∗ ) > u, dann haben wir eine bessere (neue) Unterschranke gefunden. Setze u := c(s∗ ), s := s∗ , entferne M aus K und gehe zu (1).
5.
Ist s∗ nicht zul¨assig, aber c(s∗ ) > u, dann bestimme mit HU einen zul¨assigen Punkt s˜ und Unterschranke auf M . Falls diese die Unterschranke u verbessert, dann setze u := c(˜ s), und s := s˜.
6.
/ S zerlegen wir M in geeignete kleinere Mengen M1 , . . . , Mk , Wegen c(s∗ ) > u und s∗ ∈ entfernen M aus K und f¨ugen dort M1 , . . . , Mk ein (Separation bzw. Branching). Gehe zu (1).
Wir betrachten nun ein Branch-und-Bound-Verfahren, mit dem man allgemeine ganzzahlige LPs l¨osen kann. Hierbei gewinnt man die Oberschranke f¨ur ein Teilproblem, indem man die relaxierte Version dieses Teilproblems (also ohne Ganzzahligkeitsforderung) optimal l¨ost.
9.1 Dakins Branch-and-Bound-Algorithmus
235
Algorithmus 9.2 (Verfahren von Dakin) Input: (rationale) Daten zu folgendem (gemischt-)ganzzahligen Programm max cT x unter Ax ≤ b,
xi ∈ Z ∀ i ∈ NI ⊂ {1, . . . , n}.
Output: L¨osungspunkt oder Information, dass keiner existiert. Bezeichnungen: M0 := {x | Ax ≤ b, xi ∈ Z ∀i ∈ NI }. Mi −→ Mi beschreibt die Relaxierung durch den Verzicht auf die Ganzzahligkeitsbedingungen. Initialisierung: Setze die Unterschranke u auf −∞. Setze das Kandidatensystem K auf {M0 }. Setze k := 0. Lege einen Speicherplatz x f¨ur die gegenw¨artige L¨osung an. Typischer Schritt: (1)
Falls K = ∅: Stoppe, abh¨angig von u, mit folgender Information. u = −∞: Es existiert keine L¨osung. u > −∞ : u ist Optimalwert.
(2)
Wenn K = ∅, dann w¨ahle Mj aus K (Branching).
(3)
L¨ose das Maximierungsproblem auf Mj (Bounding).
(4a) Ist Mj = ∅ oder ist cT x auf Mj unbeschr¨ankt, dann gibt es keinen endlichen Optimalwert ⇒ STOPPE (die Mj -Bearbeitung) und gehe zu (1). (4b) Ist Mj = ∅ und cT x auf Mj beschr¨ankt, dann setze x∗ := Optimalpunkt f¨ur das LP (Mj ) aus (3), und setze c∗ = cT x∗ . (5)
Ist cT x∗ ≤ u: Entferne Mj aus K und gehe zu (1).
(6)
Ist cT x∗ ≥ u und xi∗ ∈ Z ∀i ∈ NI , dann setze u := cT x∗ (x∗ ist zul¨assig) und x := x∗ . Entferne Mj aus K und gehe zur¨uck zu (1).
(7)
/ Z f¨ur mindestens ein i ∈ NI , Ist cT x∗ ≥ u und xi∗ ∈ dann entferne Mj aus K, und setze Mk+1 := Mj ∩ x | xi ≤ xi∗ sowie Mk+2 := Mj ∩ x | xi ≥ xi∗ . Setze k := k + 2 und gehe zu (1).
Endlichkeit des Dakin-Verfahrens Wir verwenden Dakin’s Branch-und-Bound-Methode zur L¨osung des (ILP ) max cT x unter Ax ≤ b x ∈ Zn . Um einem Abbruch auf jeden Fall zu erzwingen, f¨ugen wir die folgenden Ungleichungen ein (wird erforderlichenfalls nach L¨osung von M 0 gemacht, wenn also Unbeschr¨anktheit aufgetaucht ist): −T ≤ xi ≤ T
∀i, mit T = (n + 1)(A, b)
236
II: 9 Algorithmen der Ganzzahligen Optimierung
Statt des (ILP ) bearbeiten wir zun¨achst max cT x unter Ax ≤ b, x ∈ Zn −T ≤ xi ≤ T ∀i = 1, . . . , n.
(ILP (T ))
Lemma 9.3 Jedes (ILP ) mit beschr¨anktem Zul¨assigkeitsbereich, also insbesondere (ILP (T )), wird von Dakins Methode nach endlich vielen Schritten gel¨ost. Die Iterationszahl ist dabei nicht gr¨oßer als 2 · 22nT .
9.2 Aufgaben zu Dakins Branch-and-Bound-Algorithmus Aufgabe 9.2.1 L¨osen Sie folgendes ganzzahlige Optimierungsproblem mit Dakins Branch-Bound-Methode (per Hand): max
x1 + 2x2 x1 − 3x2
≤
0
2x1 + x2
≤
7,25
x1 + 3x2
≤
10,5
x1 , x2
≥
0
x1 , x2
∈
Z.
Aufgabe 9.2.2 Gegeben sei das folgende lineare, ganzzahlige Optimierungsproblem max
7 x1 12 x1 3 x1 1 x1 x1
x1 ∈ Z,
+ + + +
8 x2 14 x2 1 x2 8 x2 x2 x2 ∈ Z
≤ 87 ≤ 18 ≤ 38 ≥ 0 ≥ 0
Die Ecken des Zul¨assigkeitsbereichs X des relaxierten Problems (lineares Optimierungsproblem ohne Ganzzahligkeitsbedingung = (LP )) sind gegeben durch: 1 0 0 2 52 6 , , , , 4 12 0 0 4 43 1 21
9.2 Aufgaben zu Dakins Branch-and-Bound-Algorithmus
237
a)
Zeichnen Sie den Zul¨assigkeitsbereich des (LP ). Wo liegt die Optimalecke des (LP )?
b)
L¨osen Sie das (ILP ) mit dem Branch- und Bound-Verfahren von Dakin. Zur L¨osung der auftretenden linearen Optimierungsprobleme in den Mengen M i (relaxiertes Subproblem) brauchen Sie nur die Ecken des jeweiligen Zul¨assigkeitsbereichs aufzulisten und den Optimalpunkt und Optimalwert (falls existent) anzugeben. Verwenden Sie 0 als Startwert f¨ur die Unterschranke und erh¨ohen Sie die Unterschranke, falls eines der relaxierten Subprobleme einen ganzzahligen Optimalpunkt hat. Geben Sie zudem in jedem Iterationsschritt die entsprechende Konsequenz daraus an, also die Unterschranken-Erh¨ohung oder das Branching oder die Nichtweiterverfolgung. Die Aufspaltung (Branching) von Mengen soll prim¨ar nach x1 , danach erst nach x2 erfolgen. Zeichnen Sie die jeweiligen Optimalpunkte in die Zeichnung ein.
Hinweis: Folgende Punkte mit zumindest einer ganzzahligen Komponente liegen auf dem Rand von X: 7 3 0 0 0 0 0 0 1 2 2 12 , , , , , , , , , , 9 4 3 14 0 1 2 3 4 4 43 4 58 4 21 11 2 3 4 5 6 5 4 3 2 1 4 12 53 34 , , , , , , , , , 13 , 3 2 11 2 1 1 0 0 0 0 0 0 14 14 Diese Punkte k¨onnen von Interesse sein im Laufe des Verfahrens und kommen eventuell bei den entstehenden Teilproblemen als Optimalpunkte infrage. Falls Sie einen entsprechenden Punkt aus der Liste als Optimalpunkt eines Teilproblems erkennen, k¨onnen Sie ihn ausw¨ahlen und ohne weiteren Nachweis als Optimalpunkt verwenden.
Aufgabe 9.2.3 L¨osen Sie mit dem Dakin-Algorithmus in Branch-und-Bound-Manier das Problem: max
11x1 2x1 7x1 x1 x1
+ 8x2 + + 3x2 + − 3x2 + + 4x2 + + x2 − x1 , x2 , x3 x1 , x2 , x3
20x3 4x3 8x3 4x3 2x3
≤ 10 ≤ 8 ≤ 11 ≤ 0 ≥ 0 ∈ Z
Wenden Sie dazu Tiefensuche im Dakin-Baum an. Splittungen nach x1 haben immer Vorrang vor denen nach x2 beziehungsweise x3 und x2 hat Vorrang vor x3 . Außerdem soll bei einer Splittung zuerst das Teilproblem mit xi ≤ xi (Oberschranke) und danach das Problem mit xi ≥ xi (Unterschranke) behandelt werden. Ein Tableau f¨ur die Optimall¨osung des relaxierten Problems liegt Ihnen vor. Errechnen Sie davon ausgehend die erforderlichen Tableaus und geben Sie an einer Baumstruktur den Verlauf Ihrer Branch-und-Bound-Bearbeitung an.
238
II: 9 Algorithmen der Ganzzahligen Optimierung
a1
a2
a3
a4
1
0
0
a3
0
0
1
a2
0
1
0
21 4 17 −4 − 34
0
0
0
1 4
a1
e1
e2
e3
−e1
−e2
−e3
−e1
−e2
−e3
c
− 11 6
− 56
1
3 2 1 6
1 2 1 6
31 24 − 98 5 − 24
1 2
3 2
9 8
−40
2 1
Ein Hinweis zur Vereinfachung: Wenn in einem Ast ein Variablenwert xi bereits ganz festliegt (also xi = const), dann muss so lange gerechnet werden, bis das zugeh¨orige ei oder −ei in der Basis ist. Danach darf diese Restriktion nicht mehr ausgetauscht werden (Gleichung). Also kann auf die Weiterf¨uhrung dieser Tableauzeile verzichtet werden.
9.3 L¨osungen zu Dakins Branch-and-Bound-Algorithmus L¨osung zu 9.2.1 Die Unterschranke sei −∞. 1.
M0 = {x | x ∈ P }. 2,25 Optimall¨osung: mit Zielfunktionswert 7,75. (nicht ganzzahlig) 2,75 ⇒ M1 = {x ∈ P | x1 ≤ 2}, M2 = {x ∈ P | x1 ≥ 3}
2.
W¨ahle M1 = {x∈ P |x1 ≤ 2}. 2 Optimall¨osung: mit Zielfunktionswert 7,67. (nicht ganzzahlig) 2,83 ⇒ M3 = {x ∈ P | x1 ≤ 2, x2 ≤ 2}, M4 = {x ∈ P | x1 ≤ 2, x2 ≥ 3}
3.
W¨ahle M2 = {x∈ P |x1 ≥ 3}. 3 Optimall¨osung: mit Zielfunktionswert 5,5. (nicht ganzzahlig) 1,25 ⇒ M5 = {x ∈ P | x1 ≥ 3, x2 ≤ 1}, M6 = {x ∈ P | x1 ≥ 3, x2 ≥ 2}
4.
W¨ahle M3 = {x∈ P | x1 ≤ 2, x2 ≤ 2}. 2 Optimall¨osung: mit Zielfunktionswert 6. (ganzzahlig) 2 ⇒ u=6
5.
W¨ahle M4 = {x∈ P| x1 ≤ 2, x2 ≥ 3}. 1,5 Optimall¨osung: mit Zielfunktionswert 7,5. (nicht ganzzahlig) 3 ⇒ M7 = {x ∈ P | x1 ≤ 1, x2 ≥ 3}, M8 = {x ∈ P | x1 ≤ 2, x2 ≥ 3, x1 ≥ 2}
9.3 L¨osungen zu Dakins Branch-and-Bound-Algorithmus
239
6.
W¨ahle M5 = {x∈ P | x1 ≥ 3, x2 ≤ 1}. 3 Optimall¨osung: mit Zielfunktionswert 5 < u. (ganzzahlig) 1
7.
W¨ahle M6 = {x ∈ P | x1 ≥ 3, x2 ≥ 2}. ⇒ M6 = ∅
8.
W¨ahle M7 = {x∈ P |x1 ≤ 1, x2 ≥ 3}. 1 Optimall¨osung: mit Zielfunktionswert 7,33. (nicht ganzzahlig) 3,16 ⇒ M9 = {x ∈ P | x1 ≤ 1, x2 ≥ 3, x2 ≤ 3}, M10 = {x ∈ P | x1 ≤ 1, x2 ≥ 4}
9.
W¨ahle M8 = {x ∈ P | x1 ≤ 2, x2 ≥ 3, x1 ≥ 2}. ⇒ M8 = ∅
10.
W¨ahle M9 = {x∈ P | x1 ≤ 1, x2 ≥ 3, x2 ≤ 3}. 1 Optimall¨osung: mit Zielfunktionswert 7 > u. (ganzzahlig) 3 ⇒ u=7
W¨ahle M10 = {x ∈ P | x1 ≥ 3, x2 ≥ 4}. ⇒ M10 = ∅ 1 Optimall¨osung: 3 Zielfunktionswert: 7 11.
L¨osung zu 9.2.2 a)
Zeichnung des Zul¨assigkeitsbereichs: x2 5 •
· 3 · 2 · 1 · 4
•
· · · · ·1
•
· · · · ·2
· · · • Optimalpunkt · · · ·3 ·4 ·5 •6 x
1 52 Optimalpunkt mit Zielfunktionswert 50 21 . 1 12 b)
Unterschranke u = 0.
1
240
II: 9 Algorithmen der Ganzzahligen Optimierung
1)
W¨ahle M0 = {x | Ax ≤ b, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 1 1 52 2 (optimal) Wert: 50 Wert: 50 1 21 4 12 2 0 0 Wert: 38 Wert: 0 4 43 0
6 Wert: 42 0
Es erfolgt ein Branching nach x1 : M1 = {x | Ax ≤ b, x1 ≤ 5, x ≥ 0, x ∈ Z2 }, M2 = {x | Ax ≤ b, x1 ≥ 6, x ≥ 0, x ∈ Z2 } 2)
W¨ahle M1 = {x | Ax ≤ b, x1 ≤ 5, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 3 2 5 Wert: 50 Wert: 50 (optimal) 1 13 1 14 42 7 0 5 Wert: 0 Wert: 35 0 0
0 4 43
Wert: 38
Es erfolgt ein Branching nach x2 : M3 = {x | Ax ≤ b, x1 ≤ 5, x2 ≤ 1, x ≥ 0, x ∈ Z2 }, M4 = {x | Ax ≤ b, x1 ≤ 5, x2 ≥ 2, x ≥ 0, x ∈ Z2 } 3)
W¨ahle M2 = {x | Ax ≤ b, x1 ≥ 6, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 6 Wert: 42 0 Der Optimalpunkt ist ganzzahlig und somit ergibt sich eine neue Unterschranke u = 42.
4)
W¨ahle M3 = {x | Ax ≤ b, x1 ≤ 5, x2 ≤ 1, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 0 0 Wert: 0 Wert: 8 0 1 5 5 Wert: 35 Wert: 43 (optimal) 0 1 Der Optimalpunkt ist ganzzahlig und somit ergibt sich eine neue Unterschranke u = 43.
9.3 L¨osungen zu Dakins Branch-and-Bound-Algorithmus
5)
241
W¨ahle M4 = {x | Ax ≤ b, x1 ≤ 5, x2 ≥ 2, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 11 5 2 6 4 12 Wert: 50 (optimal) Wert: 42 Wert: 50 2 4 21 0 12 0 0 Wert: 38 Wert: 16 4 43 2 Es erfolgt ein Branching nach x1 : M5 = {x | Ax ≤ b, x1 ≤ 5, x2 ≥ 2, x1 ≤ 4, x ≥ 0, x ∈ Z2 }, M6 = {x | Ax ≤ b, x1 ≤ 5, x2 ≥ 2, x1 ≥ 5, x ≥ 0, x ∈ Z2 }
6)
W¨ahle M5 = {x | Ax ≤ b, x2 ≥ 2, x1 ≤ 4, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 2 2 0 4 (optimal) Wert: 50 Wert: 50 Wert: 38 3 4 21 4 2 11 7 14 4 4 0 Wert: 44 Wert: 16 2 2 Es erfolgt ein Branching nach x2 : M7 = {x | Ax ≤ b, x2 ≥ 2, x1 ≤ 4, x2 ≤ 2, x ≥ 0, x ∈ Z2 }, M8 = {x | Ax ≤ b, x2 ≥ 2, x1 ≤ 4, x2 ≥ 3, x ≥ 0, x ∈ Z2 }
7)
W¨ahle M6 = {x | Ax ≤ b, x1 ≤ 5, x2 ≥ 2, x1 ≥ 5, x ≥ 0, x ∈ Z2 }. ⇒ M6 = ∅
8)
W¨ahle M7 = {x | Ax ≤ b, x2 ≥ 2, x1 ≤ 4, x2 ≤ 2, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 0 4 Wert: 16 Wert: 44 (optimal) 2 2 Der Optimalpunkt ist ganzzahlig und somit ergibt sich eine neue Unterschranke u = 44.
9)
W¨ahle M8 = {x | Ax ≤ b, x1 ≤ 4, x2 ≥ 3, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 3 1 2 34 Wert: 50 (optimal) Wert: 50 3 4 21 4 0 0 Wert: 38 Wert: 24 3 4 43
242
II: 9 Algorithmen der Ganzzahligen Optimierung
Es erfolgt ein Branching nach x1 : M9 = {x | Ax ≤ b, x1 ≤ 4, x2 ≥ 3, x1 ≤ 3, x ≥ 0, x ∈ Z2 }, M10 = {x | Ax ≤ b, x1 ≤ 4, x2 ≥ 3, x1 ≥ 4, x ≥ 0, x ∈ Z2 } 10) W¨ahle M9 = {x | Ax ≤ b, x2 ≥ 3, x1 ≤ 3, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 1 2 3 0 Wert: 50 Wert: 50 (optimal) Wert: 38 1 9 3 14 42 4 43 7 0 3 Wert: 24 Wert: 45 3 3 Es erfolgt ein Branching nach x2 : M11 = {x | Ax ≤ b, x2 ≥ 3, x1 ≤ 3, x2 ≤ 3, x ≥ 0, x ∈ Z2 }, M12 = {x | Ax ≤ b, x2 ≥ 3, x1 ≤ 3, x2 ≥ 4, x ≥ 0, x ∈ Z2 } 11) W¨ahle M10 = {x | Ax ≤ b, x1 ≤ 4, x2 ≥ 3, x1 ≥ 4, x ≥ 0, x ∈ Z2 }. ⇒ M10 = ∅ 12) W¨ahle M11 = {x | Ax ≤ b, x2 ≥ 3, x1 ≤ 3, x2 ≤ 3, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 0 3 Wert: 24 Wert: 45 (optimal) 3 3 Der Optimalpunkt ist ganzzahlig und somit ergibt sich u = 45 als neue Unterschranke . 13) W¨ahle M12 = {x | Ax ≤ b, x1 ≤ 3, x2 ≥ 4, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 7 1 2 2 12 Wert: 50 (optimal) Wert: 50 4 4 12 12 0 0 Wert: 38 Wert: 32 4 34 4 Es erfolgt ein Branching nach x1 : M13 = {x | Ax ≤ b, x1 ≤ 3, x2 ≥ 4, x1 ≤ 2, x ≥ 0, x ∈ Z2 }, M14 = {x | Ax ≤ b, x1 ≤ 3, x2 ≥ 4, x1 ≥ 3, x ≥ 0, x ∈ Z2 } 14) W¨ahle M13 = {x | Ax ≤ b, x2 ≥ 4, x1 ≤ 2, x ≥ 0, x ∈ Z2 }.
9.3 L¨osungen zu Dakins Branch-and-Bound-Algorithmus
243
Ecken des Zul¨assigkeitsbereichs: 2 Wert: 50 (optimal) 4 12 0 Wert: 32 4
0 Wert: 38 4 43 2 Wert: 46 4
Es erfolgt ein Branching nach x2 : M15 = {x | Ax ≤ b, x2 ≥ 4, x1 ≤ 2, x2 ≤ 4, x ≥ 0, x ∈ Z2 }, M16 = {x | Ax ≤ b, x2 ≥ 4, x1 ≤ 2, x2 ≥ 5, x ≥ 0, x ∈ Z2 } 15) W¨ahle M14 = {x | Ax ≤ b, x1 ≤ 3, x2 ≥ 4, x1 ≥ 3, x ≥ 0, x ∈ Z2 }. ⇒ M14 = ∅ 16) W¨ahle M15 = {x | Ax ≤ b, x2 ≥ 4, x1 ≤ 2, x2 ≤ 4, x ≥ 0, x ∈ Z2 }. Ecken des Zul¨assigkeitsbereichs: 0 2 Wert: 32 Wert: 46 (optimal) 4 4 Der Optimalpunkt ist ganzzahlig und somit ergibt sich eine neue Unterschranke u = 46. 17) W¨ahle M16 = {x | Ax ≤ b, x1 ≤ 2, x2 ≥ 5, x ≥ 0, x ∈ Z2 }. ⇒ M16 = ∅ 2 ist der Optimalpunkt mit einem Zielfunktionswert von 46. 4 Zeichnung mit den jeweiligen Optimalpunkten: x2 5 •
· 3 · 2 · 1 · 4
•
· · · · ·1
M6 , M10 , M14 , M16 sind leer.
• M13 • • M12 M15 • M9 M8 • • • M5
· · · • •• • · · · • ·2 ·3 ·4 ·5 •6 M11
M7
M4 M1 M0
M3
M2
x1
244
II: 9 Algorithmen der Ganzzahligen Optimierung
L¨osung zu 9.2.3 a1 a2 a3
a4
a3
0
0
1
a2
0
1
0
21 4 − 17 4 − 43
0
0
0
1 4
a1
1
0
0
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
c
− 11 6
1
1 2 1 6
31 24 − 98 5 − 24
1 2
3 2
9 8
−40
3 2 1 6
1
9 T
− 65
(9.1)
2 1
Optimalit¨at bei Tableau (9.1) am Punkt 2 , 32 , 8 , Zielfunktionswert: 40. Wir f¨uhren nun die Beschr¨ankung x1 ≤ 0 ein und gelangen zu folgendem Tableau: a1 a2 a3
21 4
a1
1
0
0
a3
0
0
1 − 17 4
a2
0
1
0
− 34
0
0
0
1 4
a1 a2 a3 e1 a3 a2
6 11 9 11 1 11
0
0
0
1
1
3 11
0
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
c
− 11 6
− 56
31 24
1
1 2 1 6
− 98
2
− 16
3 2 1 6
5 − 24
1
− 12
1 2
3 2
9 8
−40
a4
a4
6 11
− 32
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
1
−1
0
0
0
63 22 1 22 3 − 11
0
0
37 22
0
a1 a2 a3
a4
a3
6 11 9 11
a2
1 11 3 11
e1
0
0
0
1
63 22 1 22
1
0
3 − 11
0
0
37 22
e1
e2 e3 −e1 −e2 −e3
c
0
5 − 11 2 − 11 1 11
31 44 3 − 44 1 − 11
6 11 31 11 12 11
0
14 11
65 44
− 437 11
65 T , Zielfunktionswert: Optimalit¨at bei Tableau (9.3) am Punkt 0, 14 11 , 44 x2 ist krumm. −→ Splittung mit x2 ≤ 1:
(9.3)
437 11 .
−e1 −e2 −e3
c
0
5 11 2 11
0
5 − 11 2 − 11
0
1 − 11
0
1 11
1 − 11
12 11
3 0 − 11
0
14 11
65 44
− 437 11
1
−1
(9.2)
31 44 3 − 44
6 11 31 11
(9.4)
Zur Pivotauswahl in (9.4): e1 darf die Basis nicht mehr verlassen wegen x1 ≤ 0 und x1 ≥ 0 (Festlegung). Deshalb kommt nur ein Austausch a3 ↔ e2 infrage. Die Zeile zu e1 kann im
9.3 L¨osungen zu Dakins Branch-and-Bound-Algorithmus
245
Folgenden ignoriert werden. a1 a2 a3 e2 a2
9 2 1 2
0
3 2
a4
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
c
− 83
31 2 5 2
− 71 2
1 4 − 41
0
1
11 2 1 2
0
0
0
0
− 81
0
3 2
7 4
0
0
0
1
11 8
1
0
−1
(9.5)
T Optimalit¨at bei Tableau (9.5) am Punkt 0, 1, 11 , Zielfunktionswert: 71 8 2 . Nun f¨uhren wir noch x3 ≤ 1 ein, also gilt jetzt insgesamt: x1 ≤ 0, x2 ≤ 1, x3 ≤ 1. a1 a2 a3 e2 a2
9 2 1 2
0
3 2
a4
e1 e2
1 4 − 14
0
1
11 2 1 2
0
3 2
7 4
e3 −e1 −e2 −e3
−e1 −e2 −e3
c
−1
− 83
31 2 5 2
0
0
0
3 8 1 8
0
0
− 81
0
0 − 83
0
1
11 8
− 71 2
−e1 −e2 −e3
c
1
(9.6)
Zur Pivotauswahl in (9.6): Anwendung der lexikographischen Regel! a1
a2 a3
a4
e1 e2 e3 −e1 −e2 −e3
e2
3 −3
4
1
0
1
0
0
−1
0
8
e3
4
8
4 −2
0
0
1
0
0
−1
20
3
3
3
0
0
0
0
1
1
−28
1
(9.7)
Optimalit¨at bei Tableau (9.7) am Punkt (0, 1, 1)T , Zielfunktionswert: 28. Dies ist ein ganzer Punkt und somit ein Kandidat f¨ur den Sieg. Nun kehren wir zum Tableau (9.5) zur¨uck, aber f¨uhren diesmal die Beschr¨ankung x3 ≥ 2 ein: a1 a2 a3 e2 a2
9 2 1 2
0
3 2
a4
e1 e2 e3 −e1 −e2 −e3
1 4 − 41
0
1
11 2 1 2
0
0
3 2
7 4
0
1
− 38
−e1 −e2 −e3
c
− 83
31 2 5 2
− 71 2
0
−1
0
− 18
0
0
− 81
0
− 58
0
1
11 8
(9.8)
Der Fehler − 85 ist nicht reparierbar. Es ist kein Austausch m¨oglich. Die Zielfunktion k¨onnte unbeschr¨ankt nach unten fallen. ⇒ Problem unzul¨assig! Nun kehren wir zum Tableau (9.3) mit Optimalit¨at f¨ur x1 = 0 zur¨uck, aber f¨uhren diesmal die
246
II: 9 Algorithmen der Ganzzahligen Optimierung
Beschr¨ankung x2 ≥ 2 ein: a1 a2 a3 a3 a2
9 11 1 11
0 1
3 11
0
a4
c
0
2 − 11
2 3 0 − 11 − 44
0
0
1 11
0
1 11
1 − 11
31 11 12 11
0
37 22
0
8 − 11
0
14 11
65 44
− 437 11
a4
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
c
2
1 − 12
0
0
0
0
− 14
5
1 11
0 −3
0
1
0
1
−1
12
1
0 − 12
0
0
0
2
3 4
−31
1
−e2
−e1 −e2 −e3
1 22 3 − 11
1
a1 a2 a3 a3
e1 e2 e3 −e1 −e2 −e3
8
(9.9)
(9.10)
Der Fehler − 12 ist nicht reparierbar. Es ist kein Austausch m¨oglich. Die Zielfunktion k¨onnte unbeschr¨ankt nach unten fallen. ⇒ Problem unzul¨assig! An dieser Stelle kehren wir zum Ausgangstableau (9.1) zur¨uck und starten den Versuch, x1 ≥ 1 zu erreichen: a1 a2 a3
a4
e1 e2 e3 −e1 −e2 −e3
−e1 −e2 −e3
c
− 11 6 3 2
− 11 6 3 2
− 56 1 2
31 24 − 98
1
a1
1
0
0
a3
0
0
1
21 4 17 −4
1 6
1 6
1 6
5 − 24
1
− 12
1 2
3 2
9 8
−40
a2
0
1
0
− 43
0
0
0
1 4
a3
a4
a1 a2 a1
1
0
11 9
−e1
0
0
a2
0
1
2 3 − 19
0
0
1 3
e1 e2 e3 −e1 −e2 −e3
c
1 − 92 − 12
31 9
0
0
− 17 6
1
1
5 − 18
0
− 67
0 e1 e2 e3 −e1 −e2 −e3
− 34
0
1 3 1 9
1 − 12
4 3 7 9
1
5 3
3 4
− 118 3
−e1 −e2 −e3
c 62
a4
18
0 22
1
0
0
−4
− 32
−e1
51
0 63
0
1
1 −11
−5
177
a2
5
1
6
0
0
0
−1
− 12
18
0 26
0
0
1
−3
−1
33
21
(9.11)
−e1 −e2 −e3
1 18
a1 a2 a3 a4
2
(9.12)
(9.13)
9.4 Gomorys Schnittebenenverfahren
247
Die Fehler −3 und −1 sind nicht reparierbar. Es ist jeweils kein Austausch m¨oglich. Die Zielfunktion k¨onnte jeweils unbeschr¨ankt nach unten fallen. ⇒ Problem unzul¨assig! Baumstruktur:
Optimum f¨ur LP ist ZF-Wert: 40.
`1 2
, 32 ,
´ 9 T 8
mit
9.1 x1 ≤ 0 Optimum f¨ur x1 `≤ 0 (= 0)´ T , 65 ist 0, 14 11 44 437 mit ZF-Wert: 11 .
9.3
x3 ≤ 1 Optimum f¨ur x1 ≤ 0 (= 0), x2 ≤ 1, 9.7 x3 ≤ 1 ist (0, 1, 1)T mit ZF-Wert: 28.
9.13 x2 ≥ 2
x2 ≤ 1 Optimum f¨ur x1 `≤ 0 (= 0), ´T x2 ≤ 1 ist 0, 1, 11 8 mit ZF-Wert: 71 . 2
x1 ≥ 1
9.5
unzul¨assig
9.10 x3 ≥ 2
unzul¨assig
9.8 unzul¨assig
9.4 Gomorys Schnittebenenverfahren Ausgangssituation: Wir haben f¨ur ein ganzzahliges Problem die L¨osung x∗ des relaxierten (LP )-Problemes gefunden (z. B. mithilfe des Simplexverfahrens). Dieser Punkt x∗ sei aber noch nicht ganzzahlig, denn sonst w¨are (ILP ) ja bereits gel¨ost. Wir sind nun daran interessiert, eine zus¨atzliche Ungleichung in das (LP ) aufzunehmen, welche x∗ verbietet (abschneidet), aber alle zul¨assigen ganzzahligen Punkte zul¨assig bleiben l¨asst. O. B. d. A. seien alle Daten ganzzahlig. Problemstellung max cT x
unter Ax ≤ b, x ∈ Zn
mit A ∈ Zm,n , b ∈ Zm , c ∈ Zn
248
II: 9 Algorithmen der Ganzzahligen Optimierung
Definition 9.4 F¨ur obiges (ILP ) sei ein Optimalpunkt (eine Ecke) x∗ bekannt, der nicht ganzzahlig ist. Eine zus¨atzliche Ungleichung dT x ≤ ρ induziert eine sogenannte Schnittebene {x | dT x = ρ} zu PI (A, b) und x∗ , wenn gilt 1.
dT x∗ > ρ und
2.
dT x ≤ ρ
∀x ∈ PI (A, b) bzw. ∀x ∈ IM(A, b).
Lemma 9.5 / Zn (das heißt nicht ganzzahlig ist) gibt es Schnittebenen Falls x∗ eine Ecke von P (A, b) und x∗ ∈ T {x | d x = ρ} zu PI (A, b) und x∗ , so dass dT x ≤ ρ
∀x ∈ PI
und
dT x∗ > ρ.
Bemerkung Ist d ∈ Zn und d = λ1 a1 + . . . + λm am mit λ ≥ 0, dann liefert dT x ≤ ρ := λ1 b1 + . . . + λm bm eine g¨ultige Ungleichung f¨ur PI . Ist dann aber dT x∗ > ρ, dann liegt mit dieser Restriktion bereits eine Schnittebene vor. Denn jeder ganzzahlige Punkt aus IM(A, b) erf¨ullt dT x ≤ λ1 b1 + . . . + λm bm . Die linke Seite ist aber ganzzahlig. Deshalb gilt sogar dT x ≤ λ1 b1 + . . . + λm bm . Algorithmus 9.6 (Eine Methode zur L¨osung eines ganzzahligen Programms) 1.
L¨ose das zu (ILP ) geh¨orige relaxierte lineare Problem (LP (A, b)), bei dem die Ganzzahligkeitsbedingung ignoriert wurde. Hat das (LP ) keine endliche Optimall¨osung, dann ist (ILP ) unbeschr¨ankt oder IM ist leer. In beiden F¨allen brechen wir ab.
2.
Andernfalls sei x∗ der Optimalpunkt von (LP ). Ist x∗ ganzzahlig, dann brechen wir mit der Ausgabe von x∗ ab, denn x∗ ist dann bereits optimal f¨ur (ILP ). Ist x∗ aber nicht ganzzahlig, dann bestimmen wir eine neue Ungleichung (Schnittebene) mit dT x ≤ ρ ∀x ∈ PI und dT x∗ > ρ.
3.
Mit den Methoden der Postoptimierung wird nun die neue Ungleichung ins Tableau eingef¨ugt. Wir geben dem neuen System den (neu benutzten) Namen (ILP rel ) und f¨uhren einen a¨ ußeren Algorithmus bis zur Wiederherstellung der Zul¨assigkeit – und damit Erreichen der Optimalit¨at – durch. Nun beginnen wir wieder bei (1) unter Verwendung des neuen Optimalpunktes.
9.4 Gomorys Schnittebenenverfahren
249
Eine M¨oglichkeit, aus dem restriktionsorientierten Tableau zu einer Schnittebene zu kommen, zeigt folgender Ansatz.
Lemma 9.7 Seien A, b, c ganzzahlig. Zu l¨osen sei das (ILP ): max cT x unter Ax ≤ b, x ∈ Zn . Das relaxierte (LP )-Problem max cT x unter Ax ≤ b sei bereits gel¨ost und x∗ liege als Optimalpunkt, sowie A als Optimalbasis vor. Das zugeh¨orige restriktionsorientierte Tableau liege ebenfalls vor a1
ak
aj am am+1 α1 α − α oder α αm ξ − ξ oder n α γ − γ β j β m β m+1
a1 α−Zeile k−Spalte
a an
(a)
β1
βk
γk
c
ξ
x1
xn
√
−Q
i=1
Ist Q ∈ / Z, dann kann man verwenden: n
(ξ i − ξ i )ai
T
x≤
i=1
(c)
−en
Ist nun β j ∈ / Z, dann liefert folgende Ungleichung eine Schnittebene: n n i
T i i i i . (αj − αj )ai x ≤ (αj − αj )b i=1
(b)
−e1
n
i
(ξ i − ξ i )b
.
i=1
Ist xk ∈ / Z, dann verwende: n i=1
(γki
−
T γki )ai
x≤
n
(γki
−
i γki )b
.
i=1
Bemerkung 1 Somit liefert jeder Fehleintrag (Ganzzahligkeit verletzt) in der letzten (untersten) Tableauzeile den Ansatzpunkt f¨ur eine Schnittebene.
250
II: 9 Algorithmen der Ganzzahligen Optimierung
Bemerkung 2 Die neue Ungleichung l¨asst sich leicht ins Tableau eintragen. Die neue Spalte ist je nach Fall λ − λ, der neue Schlupf ist (wenn man die Spalte m + 1 verwendet):
β m+1 = (λ − λ)T b − (λ − λ)T b = λb T − λT b ⎧ j T T j T j T j ⎪ ⎨aj x∗ − aj x∗ = (b − aj x∗ ) − (b − aj x∗ ) = β − β = ξ T b − ξ T b = cT x∗ − cT x∗ = Q − Q = (−Q) − −Q ⎪ ⎩ T γk b − γkT b = −eTk x∗ + eTk x∗ = −xk∗ + xk∗ = xk − xk Vorbemerkung Wir nutzen folgendes Ergebnis aus. Entweder ist IM(A, b) leer, oder aber es existiert ein ganzzahliger Punkt in P (A, b) (das heißt in IM(A, b)) mit |z i | ≤ (n + 1)(A, b) =: T, wobei (A, b) die betragsm¨aßig maximale Subdeterminante von (A, b) ist.
Lemma 9.8 Gibt es in IM(A, b) kein z mit cT z ≥ −c1 · T , dann ist IM(A, b) = ∅
Wir werden jetzt so lange Schnittebenen generieren, bis •
ein ganzzahliger Optimalpunkt erreicht ist oder
•
Unzul¨assigkeit der durch die Schnittebenen verkleinerten relaxierten Menge feststeht oder
•
der Optimalwert auf der verkleinerten relaxierten Menge ≤ −c1 · T wird.
Um Schritt 2. auszuf¨uhren, wenden wir Algorithmus 9.9 an.
Algorithmus 9.9 Endliches Schnittebenenverfahren f¨ur ganzzahlige Probleme des Typs max cT x
(ILP ) n
unter Ax ≤ b, x ∈ Z . Da wir in Schritt 2 des Zusatzalgorithmus sind, k¨onnen wir −T ≤ xi ≤ T ∀ i = 1, . . . , n unterstellen. Wir modifizieren die Tableaureihenfolge: c kommt zuerst ψ := −Q wird also in der Aufgabenstellung minimiert, bei Anwendung eines a¨ ußeren Algorithmus maximiert.
9.4 Gomorys Schnittebenenverfahren
251
Initialisierung: Wir haben bereits gel¨ost: max cT x unter Ax ≤ b und kommen an diese Stelle nur, wenn P (A, b) = ∅. Damit hat (LP (T )) Optimalpunkte. Wir l¨osen (LP (T )). Typischer Schritt: 1.
Ist die Optimall¨osung x∗ von (LP (T )) ganzzahlig, dann ist sie auch f¨ur (ILP (T )) optimal. Ordne nun das (LP (T )) - Tableau so um, dass a1 , . . . , an die Basisvektoren werden.
2.
Verwende in der letzten Tableauzeile den ersten (linkesten) nicht ganzzahligen Eintrag als Grundlage zur Schnittebenengenerierung. (Das heißt, dass zuerst ψ infrage kommt, danach kommen β 1 , . . . , β m , x1 + T, . . . , xn + T, T − x1 , . . . , T − xn ) (nur der erste Teil ist relevant ∼ = xi ). F¨uge diese Schnittebenen (am besten nach dem Tableau als Restriktion Nr. m + 2n + 1) ein.
3.
Verwende den a¨ ußeren Algorithmus zur Wiederherstellung der primalen Zul¨assigkeit (dies ist eine Anwendung der variablenorientierten Methode). Bei Entartung benutze die lexikographische Regel, das heißt, dass der lexikographisch kleinste αji
j ξ j αk , (k αji αji
= 1, . . . )-Vektor
ausgew¨ahlt wird (siehe auch unter 9.10). mit m¨oglichen Pivotelementen Tritt hierbei mit β j < 0 der Effekt αji ≤ 0 ∀i = 1, . . . , n auf, dann hat (ILP ) keine L¨osung (STOP). Gehe zur¨uck zu Schritt 1.
Wir erkl¨aren die lexikographische Simplexvariante.
Definition 9.10 1. Ein Vektor a = (a1 , . . . , an ) heißt lexikographisch positiv, wenn es ein i ∈ {1, . . . , n} gibt, so dass ak = 0 ∀k < i und ai > 0. 2.
Ein Vektor b heißt lexikographisch gr¨oßer als ein Vektor a, wenn der Vektor b − a lexikographisch positiv ist. Analog heißt ein Vektor b lexikographisch kleiner als ein Vektor a, wenn der Vektor a − b lexikographisch positiv ist.
3.
Zur Anwendung der lexikographischen Regel berechnet man f¨ur jedes denkbare und j
αj
zul¨assige Pivotelement αji die Zeile der Quotienten αξ j , αkj (k = 1, . . . ) und w¨ahlt die i i lexikographisch kleinste davon aus. Diese legt das Pivotelement fest.
Bemerkung Ein (LP (A, b)) sei bereits mit Optimalpunkt x∗ gel¨ost. Man kann dann alle (Haupt-)Zeilen des x∗ Tableaus lexikographisch positiv machen, indem man die c-Spalte voranstellt und dann die
252
II: 9 Algorithmen der Ganzzahligen Optimierung
ersten n Spalten mit den Basisspalten besetzt. Es ergibt sich:
a1 = a1 a2 = a2 .. . an = an
c ξ1 ξ2 .. .
a1 1 0
1
an 0 0
ξn ψ
0 0
···
1 0
an+1
β n+1
am
···
βm
In jeder Zeile kommt demnach noch eine 1 vor der ersten negativen Zahl.
Satz 9.11 Die lexikographische Regel sorgt f¨ur lexikographischen (echten) Anstieg der untersten Zeile, wenn am Anfang alle Zeilen lexikographisch positiv waren. Weil damit keine solche Zeile noch einmal auftreten kann, kann auch kein Tableau wiederkehren. Deshalb vermeidet diese Variante Zyklen (auch bei Entartung).
Schließlich kann auf diese Weise bewiesen werden:
Satz 9.12 Der Schnittebenenalgorithmus 9.9 endet nach endlich vielen Schritten.
9.5 Aufgaben zu Gomorys Schnittebenenverfahren Aufgabe 9.5.1 Man l¨ose das (ILP ) min −x1 − x2 2x1
≤ 3
2x2
≤ 3
x1 , x2
≥ 0
x
∈
Z2
mithilfe des Gomory-Algorithmus und skizziere die auftretenden Schnitte. Das Optimaltableau
9.5 Aufgaben zu Gomorys Schnittebenenverfahren
253
f¨ur das Problem ohne Ganzzahligkeitsbedingung ist nachfolgend angegeben: a1
a2
a3
a4
−e1
−e2
c
a1
1
0
− 21
0
− 12
0
a2
0
1
0
− 21
0
− 12
1 2 1 2
0
0
3 2
3 2
3 2
3 2
−3
Aufgabe 9.5.2 Betrachten Sie das folgende lineare, ganzzahlige Optimierungsproblem: 7x1 12x1 3x1 1x1 x1
max
+ + + +
8x2 14x2 1x2 8x2 x2 x2
x1 ,
≤ 87 ≤ 18 ≤ 38 ≥ 0 ≥ 0 ∈ Z
Dieses Problem soll mit dem Schnittebenenverfahren von Gomory f¨ur kanonische Probleme in folgender Weise behandelt werden: 2 Ausgehend 1 von dem Optimaltableau f¨ur das relaxierte Problem (mit x ∈ R ) mit dem Optimal52 sollen Sie alle m¨oglichen Schnittebenen a ˆ6 , a ˆ7 , . . . aus den β’s und aus Q = cT x punkt 1 12 generieren, die sich aus diesem Tableau ergeben. Beachten Sie, dass die Schnittebenen, die sich aus den xi ’s ergeben, mit den Schnittebenen aus den Vorzeichenrestriktionen u¨ bereinstimmen und deshalb nicht extra generiert werden m¨ussen. a1
a2
a3
a4
a5
−e1
−e2
c
a1
1
0 1
2 5
1 30 7 − 15
1 − 10
0
1 30 7 − 15
1 − 10
a2
23 30 − 41 15
2 5
17 30 1 15
0
0
41 2
11 2
3 2
11 2
3 2
− 101 2
F¨ugen Sie getrennt voneinander jede dieser Schnittebenen ins LP-Optimaltableau ein und f¨uhren Sie dann jeweils einen a¨ ußeren Simplexalgorithmus durch, bis Sie zum Optimalpunkt des eingeschr¨ankten LP (mit a ˆi ) kommen. Zeichnen Sie die errechneten Optimalpunkte in eine Zeichnung ein, geben Sie zudem die Ungleichungsform der ermittelten Schnitte exakt (in Originalform) an.
254
II: 9 Algorithmen der Ganzzahligen Optimierung
Aufgabe 9.5.3 Zu l¨osen sei das (ILP ) max
x1 2x1 −x1 x1
+ 2x2 − x2 + x2 + x2 x x
≤ ≤ ≤ ≥ ∈
4 2 7 0 Z2
Die zugeh¨orige (LP )-Relaxierung ist bereits gel¨ost. Das Endtableau des restriktionsorientierten Verfahren liegt vor: a1 a2 a3 −e1 −e2 c a2
− 23
1
0
− 12
1
1 2 − 12
− 12
1 2 3 2
a3
1 2
0
7 2
0
0
5 2
9 2
− 23 2
Versuchen Sie, mit dem Gomory-Verfahren zum Optimalpunkt vom (ILP ) zu kommen.
9.6 L¨osungen zu Gomorys Schnittebenenverfahren L¨osung zu 9.5.1 Angegebenes Tableau: a1
a2
a3
a4
−e1
−e2
c
0
− 21
0
a1
1
0
− 12
a2
0
1
0
− 21
0
− 12
1 2 1 2
0
0
3 2
3 2
3 2
3 2
−3
Optimalpunkt: ( 32 , 32 ) Wert der Zielfunktion: −3. Schnittebene generieren aus a3 -Spalte: 1 T a x ≤ ⇒ 2 1 ⇒ x1 ≤ 1
1 ·3 =1 2
Gomory Iteration 1 Originaldarstellung: (1, 0, 1) Tableaueintr¨age: ( 12 , 0, − 21 )
9.6 L¨osungen zu Gomorys Schnittebenenverfahren
255
Tableau mit eingef¨ugter Schnittebene: a5
−e1
−e2
c
1 2
− 12
0
1 2
0
0
− 12
1 2
3 2
− 21
3 2
3 2
−3
a4
a5
−e1
1
−1
0
1 1 2
− 52
a1
a2
a3
a4
a1
1
0
− 21
0
a2
0
1
0
− 21
0
0
3 2
Pivotelement : Zeile = 1 Spalte = 5 . −e2
a1
a2
a3
2
0
−1
0
0
− 12
0
0
− 12
1
3 2
0
1
3 2
a5 a2
0
1
1
0
c
gefundener Optimalpunkt :(1, 32 ) Wert der Zielfunktion : − 52 . Schnittebene generieren aus ZF-Spalte: 1 T a x ≤ 2 2 x2 ≤ 1
⇒ ⇒
1 ·3 = 1 2
Gomory Iteration 1 Originaldarstellung: (0, 1, 1) Tableaueintr¨age: (0, 21 , − 12 ) Tableau mit eingef¨ugter Schnittebene:
a5 a2
a1
a2
a3
a4
a5
2
0
−1
0
1
a6
−e1
0
−e2
c
−1
0
1
0
1 2
0
− 12
1 2
3 2
− 52
0
1
0
− 12
1
0
1
3 2
0
− 21
1
Pivotelement : Zeile = 2 Spalte = 6 . a1
a2
a3
a4
a5
a6
−e1
−e2
c
a5
2
0
−1
0
1
0
−1
0
1
a6
0
2
0
−1
0
1
0
−1
1
1
1
1
1
0
0
1
1
−2
gefundener Optimalpunkt : (1, 1) Wert der Zielfunktion : −2.
256
II: 9 Algorithmen der Ganzzahligen Optimierung
Zeichnung: x2
1.5 x1 ≤ 1
1.0
x2 ≤ 1
0.5 0 0
0.5
1.0
x1
1.5
L¨osung zu 9.5.2 Optimaltableau f¨ur das Problem: a1
a2
a3
a4
a5
−e1
−e2
c
a1
1
0 1
2 5
1 30 7 − 15
1 − 10
0
1 30 7 − 15
1 − 10
a2
23 30 − 41 15
2 5
17 30 1 15
0
0
41 2
11 2
3 2
11 2
3 2
− 101 2
3 gefundener Optimalpunkt: ( 11 2 , 2 ) Wert der Zielfunktion:
1.
Schnittebene aus a3 : ⇒ ⇒
23 T 4 a1 x + aT2 x ≤ 30 15 10x1 + 11x2 ≤ 71
101 2 .
23 4 · 87 + · 18 = 71 30 15
4 1 Originaldarstellung: (10, 11, 71) Tableaueintr¨age: ( 23 30 , 15 , − 2 )
a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1
0 1
2 5
23 30 4 15
1 30 7 − 15
1 − 10
0
1 30 7 − 15
1 − 10
a2
23 30 41 − 15
2 5
17 30 1 15
0
0
41 2
11 2
3 2
− 21
11 2
3 2
− 101 2
9.6 L¨osungen zu Gomorys Schnittebenenverfahren
257
Pivotelement: Zeile = 2 Spalte = 6 a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1
− 23 8
0
15 4
3 2
1
11 8 − 74
− 54
0
11 8 − 74
− 54
a6
69 8 − 41 4
3 2
3 8 1 4
0
15 8
123 8
37 8
9 4
0
37 8
9 4
− 403 8
9 3 gefundener Optimalpunkt: ( 37 8 , 4 ) Wert der Zielfunktion:50 8 .
2.
Schnittebene aus a4 : ⇒ ⇒
1 T 8 a x + aT2 x ≤ 30 1 15 2x1 + 1x2 ≤ 12
1 8 · 87 + · 18 = 12 30 15
1 8 , 15 , − 12 ) Originaldarstellung: (2, 1, 12) Tableaueintr¨age: ( 30
a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1
0 1
2 5
1 30 8 15
1 30 7 − 15
1 − 10
0
1 30 7 − 15
1 − 10
a2
23 30 − 41 15
2 5
17 30 1 15
0
0
41 2
11 2
3 2
− 12
11 2
3 2
− 101 2
Pivotelement: Zeile = 2 Spalte = 6 a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1 0
15 16 − 41 8
1 16 − 78
− 18 3 4
0
a6
1 − 16 15 8
1
1 16 − 78
− 18 3 4
9 16 1 8
0
15 16
287 16
81 16
15 8
0
81 16
15 8
− 807 16
15 gefundener Optimalpunkt: ( 81 16 , 8 ) Wert der Zielfunktion:
3.
Schnittebene aus a5 : 9 T 2 a x + aT2 x ≤ ⇒ 10 1 5 ⇒ 12x1 + 13x2 ≤ 85
807 16 .
9 2 · 87 + · 18 = 85 10 5
258
II: 9 Algorithmen der Ganzzahligen Optimierung 9 2 Originaldarstellung: (12, 13, 85) Tableaueintr¨age: ( 10 , 5 , − 21 )
a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1
0 1
2 5
9 10 2 5
1 30 7 − 15
1 − 10
0
1 30 7 − 15
1 − 10
a2
23 30 − 41 15
2 5
17 30 1 15
0
0
41 2
11 2
3 2
− 12
11 2
3 2
− 101 2
Pivotelement: Zeile = 2 Spalte = 6 a1
a2
a3
a4
a5
a6
−e1
−e2
c
a1
1
− 49
0
5 2
1
1
13 12 − 76
−1
0
13 12 − 67
−1
a6
83 12 − 41 6
1
5 12 1 6
0
5 4
205 12
59 12
2
0
59 12
2
− 605 12
5 gefundener Optimalpunkt: ( 59 12 , 2) Wert der Zielfunktion: 50 12 .
4.
Schnittebene aus c: 1 17 T a1 x + aT2 x ≤ ⇒ 30 15 ⇒ 7x1 + 8x2 ≤ 50
17 1 · 87 + · 18 = 50 30 15
1 1 Originaldarstellung: (7, 8, 50) Tableaueintr¨age: ( 17 30 , 15 , − 2 )
a1
a2
a3
a4
a5
a1
1
0
23 30
1 30
1 − 10
a2
0
1
41 − 15
7 − 15
2 5
0
0
41 2
11 2
3 2
−e1
−e2
c
1 30
1 − 10
17 30
1 15
7 − 15
2 5
1 15
− 21
11 2
3 2
− 101 2
a6 17 30
Pivotelement: Zeile = 1 Spalte = 6
a6 a2
a1
a2
a3
a4
a5
a6
−e1
−e2
c
30 17 2 − 17
0
1 17 8 − 17
3 − 17
1
1
7 17
0
1 17 8 − 17
3 − 17
1
23 17 − 48 17
7 17
0
15 17
0
360 17
94 17
24 17
0
94 17
24 17
−50
24 gefundener Optimalpunkt: ( 94 17 , 17 ) Wert der Zielfunktion: 50.
Zeichnung mit den jeweiligen Optimalpunkten:
9.6 L¨osungen zu Gomorys Schnittebenenverfahren
259
x2 5 •
· 3 · 2 · 1 ·
•
· · · · ·1
4
•
· · · · ·2
· · · • •• •• · · · ·3 ·4 ·5 •6 SEa5 -opt
SEa3 -opt SEa4 -opt SEc-opt
x1
L¨osung zu 9.5.3 Optimaltableau f¨ur das Problem: a1
a2
a3
a4
a5
−e1
−e2
c
a2
− 32
1
0
− 12
1 2
0
1
− 12
1 2 − 12
− 21
a3
1 2 − 12
− 21
1 2 3 2
7 2
0
0
5 2
9 2
5 2
9 2
− 23 2
gefundener Optimalpunkt : ( 52 , 92 ) Wert der Zielfunktion : 23 2 . Schnittebene generieren aus ZF-Spalte: 1 1 1 T 1 a2 x + aT3 x ≤ ·2+ ·7 =4 ⇒ 2 2 2 2 ⇒ x2 ≤ 4 Gomory Iteration 1 Originaldarstellung: (0, 1, 4) Tableaueintr¨uge: ( 12 , 12 , − 21 ) Tableau mit eingef¨ugter Schnittebene: a1
a2
a3
a4
a5
a2
− 32
1
0
1 2
− 12
a3
1 2
0
1
− 12
− 12
7 2
0
0
5 2
9 2
−e1
−e2
c
1 2
− 21
1 2
1 2
− 21
− 21
3 2
− 12
5 2
9 2
− 23 2
a6 1 2
260
II: 9 Algorithmen der Ganzzahligen Optimierung
Auswahl Pivotzeile : 1 Pivotspalte : 6. a1
a2
a3
a4
a5
a6
−e1
−e2
c
a6
−3
2
0
1
−1
1
1
−1
1
a3
2
−1
1
−1
0
0
−1
0
1
2
1
0
3
4
0
3
4
−11
gefundener Optimalpunkt : (3, 4) Wert der Zielfunktion : 11.
Kapitel 10
Problemstellung und Zweck der nichtlinearen Optimierung 10.1 Modellierung von nichtlinearen Optimierungsproblemen Im Folgenden werden die grundlegenden Standardformen der hier behandelten Optimierungsprobleme und die dabei benutzte Terminologie erkl¨art. Anschließend werden in Aufgaben reale Problemstellungen vorgestellt. Aufgabe ist es dann, aus diesen Fragestellungen den mathematischen Kern zu extrahieren und diesen in der Sprache der Zielfunktionen und Nebenbedingungsfunktionen wiederzugeben. Das Allgemeine Nichtlineare Optimierungsproblem (das f¨ur uns in diesem Kapitel maßgeblich ist), wird wie folgt definiert.
Definition 10.1 (Allgemeines nichtlineares Optimierungsproblem) min f (x1 , . . . , xn ) unter gi (x1 , . . . , xn ) ≤ hj (x1 , . . . , xn ) = x ∈ Γ ⊆ Rn
0 0
∀ i ∈ {1, . . . , m} ∀ j ∈ {1, . . . , }
f : Γ→R gi : Γ → R hj : Γ → R
Dabei sind die F¨alle m = 0 und = 0 als Spezialf¨alle erlaubt.
Bezeichnungen Der Zul¨assigkeitsbereich des nichtlinearen Optimierungsproblems aus Definition 10.1 ist somit: X = {x ∈ Γ ⊆ Rn | gi (x) ≤ 0, hj (x) = 0 f¨ur i = 1, . . . , m und j = 1, . . . , } f ist die Zielfunktion, gi sind die Ungleichungsrestriktionen und hj die Gleichungsrestriktionen.
266
III: 10 Problemstellung und Zweck der nichtlinearen Optimierung
Ein Punkt x ∈ X heißt Minimalpunkt, wenn gilt: f (x) ≤ f (x)
∀ x ∈ X;
f (x) ≥ f (x)
∀ x ∈ X.
er heißt Maximalpunkt, wenn
Je nach Aufgabenstellung sprechen wir dabei von Optimalpunkten.
Definition 10.2 Ein Punkt x ∈ X heißt globaler Minimalpunkt von f auf X, wenn f (x) ≤ f (x) ∀ x ∈ X gilt. Ein zul¨assiger Punkt x ˆ ∈ X heißt lokaler Minimalpunkt, wenn eine Umgebung U (ˆ x, ε) := {y | y − x ˆ < ε}, ε > 0 existiert, auf der gilt: f (ˆ x) ≤ f (x)
∀ x ∈ U (ˆ x, ε) ∩ X.
Folgende spezielle Formen dieser allgemeinen Problemstellung verdienen besondere Betrachtung, weil ihre Spezialstruktur eine effektivere und einfacher verstehbare Behandlung erm¨oglicht.
Definition 10.3 (Lineare Optimierungsprobleme) min f (x) unter g(x) h(x)
= cT x = Ax − b = Bx − d x ∈ Rn
≤ 0 = 0
f : Rn → R, g : Rn → Rm h : Rn → R
In diesem Fall heißt die Funktion f linear, g und h heißen affin linear. Diese Problemstellung wurde bereits in Teil I ausf¨uhrlich behandelt.
Definition 10.4 (Quadratische Optimierungsprobleme) min f (x) unter g(x) h(x)
= xT Qx + cT x = Ax − b ≤ = Bx − d = n x∈R
0 0
Dabei sind Q ∈ R(n,n) symmetrisch, c ∈ Rn , γ ∈ R, A ∈ R(m,n) , b ∈ Rm , B ∈ R(,n) und d ∈ R .
10.2 Aufgaben zur Modellierung von nichtlinearen Optimierungsproblemen
267
Definition 10.5 (Konvexe Optimierungsprobleme) min f (x) unter g(x) h(x) x∈Γ
≤ 0 = 0 ⊆ Rn
Dabei sind f, g konvexe Funktionen, h eine affin lineare Funktion und Γ eine konvexe Menge.
Definition 10.6 Unrestringierte Optimierungsprobleme min f (x) unter x ∈ Γ = Rn .
Bei den im Folgenden aufgef¨uhrten Realproblemen geht es darum, eine Modellierung auf solche Optimierungstypen (vor allem auf das allgemeine nichtlineare Optimierungsproblem) vorzunehmen. Sollte sich erweisen, dass die Problemstellung auf einen der erw¨ahnten Spezialf¨alle hinausl¨auft, dann soll dies angegeben werden.
10.2 Aufgaben zur Modellierung von nichtlinearen Optimierungsproblemen Aufgabe 10.2.1 Es sei der Bedarf d1 , . . . , dn f¨ur ein verderbliches Produkt u¨ ber n Zeitperioden bekannt. Die trennenden Zeitpunkte f¨ur die Perioden seien t0 , t1 , . . . , tn , die Perioden sind j = 1, . . . , n. Der Lagerbestand w¨ahrend der Periode j sei Ij . Der Bedarf f¨ur die Periode j kann aus dem Lagerbestand zum Zeitpunkt tj−1 oder aus der zus¨atzlich in Periode j − 1 produzierten frischen Ware (xj−1 Einheiten) gedeckt werden. Das Lager hat eine Kapazit¨at von K Einheiten und es kostet c Euro, um eine Produkteinheit von einem Zeitpunkt bis zum n¨achsten zu lagern. Allerdings verIj des Lagerbestandes (je enger die Ware gestaut rottet im Lauf der Periode j ein Anteil von 2K ist, desto mehr verdirbt). Die Produktionskosten/Einkaufskosten pro St¨uck f¨ur frische Einlagerungsware zu Periode j belaufen sich auf fj−1 (xj−1 ), h¨angen also von der Periode und der produzierten/eingekauften Menge ab (eine konkave Funktion f entspricht zum Beispiel einem Mengenrabatt). Der Anfangsbestand bei t0 an unverdorbener Ware sei I0 . Zur Diskretisierung werde Folgendes vereinbart: Zuerst wird bei tj die verdorbene Ware entfernt, danach die frische Ware erg¨anzt und dann sofort der Bedarf f¨ur die Periode j + 1 entnommen. Was u¨ brig bleibt, wird dann gelagert (von tj bis tj+1 ) und bildet den Lagerbestand Ij+1 . Formulieren Sie das Problem als nichtlineares Optimierungsproblem, wobei die Kosten zu minimieren sind.
268
III: 10 Problemstellung und Zweck der nichtlinearen Optimierung
Aufgabe 10.2.2 Modellieren Sie die folgende Optimierungs-Problemstellung: Eine Fernw¨armeleitung f¨uhrt von einem Heizwerk, in dem Dampf erhitzt wird, ringf¨ormig durch eine Siedlung an n = 10 H¨ausern vorbei und dann wieder zur¨uck. Der erzeugte Dampf ist auf dieser Leitung 110 Minuten lang unterwegs. Bei jedem der 10 Haushalte str¨omt der Dampf so vorbei, dass er 2 Minuten lang zur W¨armeabgabe zur Verf¨ugung steht (falls gew¨unscht). F¨ur Haushalt 1 ist das der Zeitraum [9, 11], f¨ur Haushalt 2 der Zeitraum [19, 21], f¨ur Haushalt 10 ist das der Zeitraum [99, 101], also f¨ur Haushalt i der Zeitraum [10i − 1, 10i + 1]. Wie viel die Leitung an W¨arme abgibt, h¨angt vom jeweiligen W¨armeaustauschkoeffizienten κ ab. Dieser ist auf ¨ offener Strecke gleich k. In jedem Haushalt kann er aber durch Offnung eines Ventils von k bis auf K heraufgesetzt werden (k ≤ κi ≤ K). Jeder Haushalt kann in dieser Form die Fernw¨armeleitung anzapfen oder die von ihm ben¨otigte Energie selbst erzeugen, wozu haushaltsspezifische Kosten anfallen. Je nach Abnahmequote der Haushalte sinkt die Dampftemperatur. Der Dampf muss folglich bei R¨uckkehr ins Heizwerk wieder aufgeheizt werden. Daf¨ur fallen Kosten an. Zu entscheiden ist jetzt unter den folgenden technischen Daten, wie weit die Haushaltsventile ge¨offnet werden sollen, um f¨ur das ganze System den W¨armebedarf zu decken und dabei mit minimalem Kostenaufwand auszukommen. 1)
Die Vorlauftemperatur des aus dem Heizwerk kommenden Dampfes ist 300◦ C, die Außentemperatur sei 0◦ C. Am Heizwerk steht aus anderen Betriebszweigen so viel Abw¨arme zur Verf¨ugung, dass eine Aufheizung von 200◦C auf 300◦ C kostenlos erfolgen kann. Sinkt allerdings die R¨ucklauftemperatur RT unter 200◦ C, so entstehen Heizkosten von F (RT ), um die 200◦C wieder zu erreichen.
2)
Abh¨angig vom W¨armeleitkoeffizienten κ, der Außentemperatur und der ankommenden Dampftemperatur entwickelt sich die Dampftemperatur w¨ahrend eines Zeitraums [ta , tb ] gem¨aß T (t) = Taußen + (T (ta ) − Taußen )e−κ(t−ta ) .
3)
Der W¨armeverlust des Dampfes w¨ahrend der Vorbeistr¨omzeit kommt den jeweiligen Haushalten als Temperaturzuwachs ZWi zugute.
4)
Haushalt i hat einen Bedarf an Temperaturzuwachs von Bi . Liefert die Fernw¨armeleitung davon bereits ZWi , dann kostet es noch fi (ZWi , Bi − ZWi ), um Haushalt i voll zu beheizen.
Hinweis: Um den Temperaturverlauf des Dampfes und die R¨ucklauftemperatur zu erkennen, unterteile man die 110 Minuten in sinnvolle Intervalle und gebe dann eine Berechnungsvorschrift an.
Aufgabe 10.2.3 F¨ahrenfahrplan: An einem breiten Fluss soll eine F¨ahre t¨aglich 6 mal hin¨uber und 6 mal her¨uber fahren. Die erste Fahrt darf nicht fr¨uher als 8 Uhr h¨uben und 9 Uhr dr¨uben beginnen. Die letzte F¨ahre darf h¨uben nicht vor 18 Uhr und dr¨uben nicht vor 19 Uhr losfahren. Ideal w¨are nun ein Stundentakt
10.2 Aufgaben zur Modellierung von nichtlinearen Optimierungsproblemen
269
h¨uben 8, 10, 12, 14, 16, 18 Uhr und dr¨uben 9, 11, 13, 15, 17, 19 Uhr. Aber dies l¨asst sich nicht realisieren, weil reger Schiffsverkehr herrscht: Flussaufw¨arts kommen zu den Zeitpunkten Tj (j = 1, . . . , ) Schiffe an der F¨ahrenroute mit den Geschwindigkeiten Vj (gemessen in km/h) vorbei. Flussabw¨arts haben wir k Schiffe zu den Zeitpunkten ti (i = 1, . . . , k) mit den Geschwindigkeiten vi (gemessen in km/h). Wir brauchen nun 6 Ablegezeitpunkte h¨uben (τr f¨ur r = 1, . . . , 6) und 6 Ablegezeitpunkte dr¨uben (σr mit r = 1, . . . , 6), so dass an diesen Zeitpunkten die flussaufw¨arts fahrenden Schiffe alle noch 500 Meter entfernt oder mindestens 200 Meter vorbei sind. Bei flussabw¨arts fahrenden Schiffen muss darauf geachtet werden, dass sie noch mindestens 1.000 Meter entfernt sind oder schon mindestens 100 Meter vorbei sind. Zwischen zwei Fahrten (gemeint sind die Ablegezeitpunkte) muss jeweils mindestens eine halbe Stunde vergehen. ¨ Der Fahrplan ist zu bewerten mit dem erwarteten Arger, den die Fahrg¨aste bis zum Ablegen empfinden. Die Fahrg¨aste treffen h¨uben gleichverteilt zwischen 7 und 18 Uhr ein und dr¨uben ¨ treffen sie gleichverteilt zwischen 8 und 19 Uhr ein. Ihr Arger w¨achst nun quadratisch mit der Wartezeit bis zum n¨achsten Ablegen einer F¨ahre (diese kann alle Wartenden aufnehmen). Formulieren Sie die Frage nach den optimalen σr , τr als nichtlineares Optimierungsproblem.
Aufgabe 10.2.4 Auf einem Großhandelsmarkt wollen vier Erdbeerverk¨aufer A, B, C, D Erdbeeren verkaufen. Jeder von ihnen hat 250 Pfund mitgebracht. Ihnen gegen¨uber steht nur ein Eink¨aufer, der f¨ur eine Discountkette Erdbeeren besorgt. Er besitzt nachfolgende Nachfragefunktion N (p) f¨ur Erdbeeren: ⎧ bei p ≤ 1 e/Pfund ⎪ ⎨1.000 Pfund 2 N (p) := 1.000(p − 2) Pfund bei 1 e/Pfund ≤ p ≤ 2 e/Pfund ⎪ ⎩ 0 Pfund bei p ≥ 2 e/Pfund. Es werden also 1.000 Pfund Erdbeeren abgekauft, wenn der Preis maximal 1 e pro Pfund betr¨agt, es wird nichts verkauft bei einem Preis u¨ ber 2 e . Bei einem Preis¨ubergang von 1 e zu 2 e verh¨alt sich die nachgefragte Menge wie 1.000(p − 2)2 . Verk¨aufer B kennt diese Nachfragefunktion genau, die Verk¨aufer A, C und D kennen sie nicht, richten sich aber in ihrer Preisfestsetzung pA , pC , pD nach dem von B gesetzten Preis pB . A bevorzugt den Preis 0,9 · pB , wohingegen C und D den Preis auf 1,1 · pB festlegen. Der Großaufk¨aufer kommt an die St¨ande und kauft am jeweils verf¨ugbaren billigsten Stand, so lange dort der Vorrat reicht. Wie soll nun B den Preis pB festsetzen, damit sein Erl¨os maximal wird?
Aufgabe 10.2.5 Ein Kleinunternehmen hat ein neues Produkt entwickelt und damit eine sehr lukrative Marktl¨ucke besetzt. Je St¨uck fallen (zur Zeit) 500 e Herstellungskosten an. Durch Großeink¨aufe von Rohstoffen bei Ausweitung der Produktionsmenge k¨onnte man die St¨uckkosten aber verbilligen, M ), wobei M0 die derzeit (zu je 500 e) produzierte Menge und M die und zwar um 10 % · ln( M 0 danach produzierte Menge (mit M > M0 ) ist. Wieviel abgesetzt werden kann, ergibt sich aus einer Nachfragekurve N : R+ → R+ . Diese Nachfragekurve ordnet jedem denkbaren Preis p die dann nachgefragte St¨uckzahl m = N (p) zu
270
III: 10 Problemstellung und Zweck der nichtlinearen Optimierung
(N (p) ist monoton fallend). Um mehr abzusetzen, kann man außer Preissenkungen auch Werbeaktionen durchf¨uhren, was dann die Nachfragekurve nach oben verschiebt. Erh¨oht man also den derzeitigen Mindestwerbeetat W0 > 0 auf W > W0 , dann verursacht das zwar W − W0 als Mehrkosten, aber gleichzeitig steigt die Nachfrage bei beliebigen p > 0 von N (p) auf W ˜ (p). =N N (p) 1 + ln W0 Unser Unternehmen muss allerdings vorsichtig sein, weil ein sehr bekannter Großkonzern dieses Produkt auch anbieten k¨onnte. Tut er das, dann f¨uhrt dessen gr¨oßerer Bekanntheitsgrad sehr bald zu einer v¨olligen Verdr¨angung unseres Unternehmens vom Markt. Das Großunternehmen steigt dann ein, wenn •
die durch das Kleinunternehmen angeheizte Nachfrage zu p dessen Produktionskapazit¨at M u¨ bersteigt und somit Restbedarf besteht;
•
eine Rentabilit¨atsschwelle f¨ur den Preis p (die weit h¨oher als beim Kleinunternehmen liegt) u¨ berstiegen wird.
¨ Formulieren Sie ein Optimierungsmodell f¨ur die Uberlegungen bei unserem Kleinunternehmen zur Profitmaximierung bei eventueller Produktions- und Werbeausweitung.
Aufgabe 10.2.6 An einer Ampelkreuzung Ost-West/Nord-S¨ud treffen aus allen vier Richtungen in regelm¨aßigen Abst¨anden Fahrzeuge ein. Damit es nicht zu Unf¨allen kommt, wird der Verkehr in folgender Reihenfolge im Takt von P Sekunden geregelt bzw. freigegeben. Phase I von West nach Ost und S¨ud sowie von Ost nach West und Nord Phase II von West nach Nord sowie von Ost nach S¨ud Phase III von S¨ud nach Nord und Ost sowie von Nord nach S¨ud und West Phase IV von S¨ud nach West sowie von Nord nach Ost Zwischen den Phasen befinden sich die einzelnen Pausenabschnitte Pause I, Pause II, III und IV (Pause I liegt nach Phase I, usw.). Die Nutzer der jeweiligen Phasen kommen in folgenden regelm¨aßigen Zeitabst¨anden (Intervall) an der Ampel an:
Phase I Phase II Phase III Phase IV
Ankunft von West West S¨ud S¨ud
Intervall 8 sec 20 sec 30 sec 20 sec
Ankunft von Ost Ost Nord Nord
Intervall 8 sec 20 sec 30 sec 20 sec
(Die Linksabbieger halten auf einer eigenen Spur, sie behindern also den Geradeausverkehr nicht.)
10.2 Aufgaben zur Modellierung von nichtlinearen Optimierungsproblemen
271
S¨amtliche Takte beginnen im Zeitpunkt 0. Die Taktzeit P der Ampel, also der Zeitraum zwischen dem Start zweier Gr¨unabschnitte einer Phase, soll 120 Sekunden = 2 Minuten betragen. Sie sollen nun festlegen, wann die einzelnen Phasen beginnen und enden. Dabei soll die oben vorgegebene Gr¨un-Reihenfolge I, II, III, IV eingehalten werden (Anfangspunkt und Endpunkt) und jede Pause soll aus Sicherheitsgr¨unden mindestens 10 Sekunden betragen. Zu beachten ist weiter, dass in jeder Gr¨unphase die Ampel aus der jeweiligen Richtung vollst¨andig ger¨aumt werden muss. Das heißt, alle Autos, die aus einer Rotphase hier stehen, m¨ussen anfahren und passieren k¨onnen. Das braucht 2 Sekunden pro Auto. Autos, die auf die gr¨une Ampel ankommen, w¨ahrend die Vorher-Rot-Steher noch anfahren, brauchen jeweils 1 Sekunde (Sie k¨onnen ihre Geschwindigkeit anpassen, m¨ussen nur bremsen nicht anhalten). Autos, die danach bei Gr¨un ankommen, k¨onnen direkt durchfahren (= 0 Sekunden). ¨ Schließlich sollte man noch wissen, dass der Arger u¨ ber einen Aufenthalt bis zum Gr¨unwerden der Ampel f¨ur Phase III und IV gemessen wird durch: Zahl der Sekunden zwischen der Ankunft und dem Gr¨unwerden. Die Fahrer von Phase I und II befinden sich auf der Hauptstraße und haben deshalb einen h¨oheren ¨ ¨ Argeranspruch. Sie entwickeln einen Arger von: (Zeit zwischen Ankunft und Gr¨un) +
1 2 · (Zeit zwischen Ankunft und Gr¨un) 2
Modellieren Sie jetzt diese Aufgabe, den Gesamt¨arger der Autofahrer w¨ahrend einer Taktzeit zu minimieren, indem Sie die Anfangs- und Endzeiten der vier Phasen optimal und nat¨urlich u¨ berschneidungsfrei festsetzen. Das entstehende Modell soll nur kontinuierliche Variablen bestimmen, darf daf¨ur allerdings auch Funktionen enthalten, welche mit Fallunterscheidungen arbeiten.
Aufgabe 10.2.7 Standortoptimierung In einer isolierten Region (am Beispiel einer Insel) gibt es K Superm¨arkte (k = 1, . . . , K). Die ersten k davon (k < K) geh¨oren zu einer Kette, und werden einheitlich gesteuert. In dieser Region befinden sich L St¨adte (Ballungszentren) ( = 1, . . . , L) mit Versorgungsbedarf B . B wird gemessen durch die Gesamtkosten f¨ur den Warenbedarf bei einem normalen Preisniveau p = 1,0. (1) (1) xk y seien die Standorte der Superm¨arkte, y = die Koordinaten der Ballungsxk = (2) (2) xk y zentren, alles im Einheitsquadrat [0, 1] × [0, 1]. Von den anderen Superm¨arkten (k = k + 1, . . . , K) ist deren festes Preisniveau bekannt. Das Preisniveau aller Superm¨arkte bewegt sich zwischen 0,9 und 1,1 (weniger oder mehr ist verboten). Die Kunden in einer der St¨adte empfinden nun einen Supermarkt attraktiver, wenn er ein geringeres Preisniveau hat und belegen ihn deshalb mit einem Preis-Attraktivit¨atsfaktor von 1 aher bei ihrem Standort y liegt (eukli(pk )2 . Außerdem empfinden sie ihn attraktiver, wenn er n¨ dische Distanz). Hierf¨ur vergeben sie (unbewusst) einen N¨ahe-Attraktivit¨atsfaktor. Sei D eine Konstante, die eine normale Entfernung zum n¨achsten Supermarkt beschreibt. Dann
272
III: 10 Problemstellung und Zweck der nichtlinearen Optimierung
ist der N¨ahe-Attraktivit¨atsfaktor von Supermarkt k f¨ur Stadt durch nachfolgenden Ausdruck gegeben: 2D D + xk − y Der Gesamt-Attraktivit¨atsfaktor eines Supermarktes ergibt sich dann aus dem Produkt beider Faktoren. Nun finden Wirtschaftspsychologen heraus, dass jeweils die Bewohner von Stadt ihren Bedarf B folgendermaßen auf die Superm¨arkte aufteilen: Sie bilden die Summe aller Attraktivit¨atsfaktoren der Superm¨arkte und teilen ihre Eink¨aufe (Beschaffungen) so auf, dass jeder Supermarkt seinen Anteil (gem¨aß dieser Summe) erh¨alt. Man kann davon ausgehen, dass die Kosten f¨ur die Warenbeschaffung (inklusive aller proportionalen Betriebskosten) f¨ur einen Supermarkt bei 0,8 liegt, so dass zum Beispiel der Gewinn bei p = 1,0 sich auf 0,2 des Umsatzes bel¨auft (das heißt, dass eine Einheit 0,8 kostet und zu pk verkauft wird). Modellieren Sie nun getrennt folgende Probleme f¨ur die Handelskette mit den k Superm¨arkten: 1.
Wie soll die Kette ihr Preisniveau p1 = · · · = pk festlegen, um maximalen Gewinn zu erzielen?
2.
Wenn man einen zus¨atzlichen Supermarkt errichtet (k = 0), wohin soll dieser gebaut werden und wie soll dann das Preisniveau p0 = p1 = · · · = pk festgelegt werden. (Die Fixkosten f¨ur die Errichtung des zus¨atzlichen Supermarktes sollen unber¨ucksichtigt bleiben.)
10.3 L¨osungen zur Modellierung von nichtlinearen Optimierungsproblemen L¨osung zu 10.2.1 Parameter: d1 , . . . , dn K c I0 x0 = 0
Bedarf f¨ur das Produkt Kapazit¨at des Lagers Lagerkosten je Produkt und Periode im Lager Anfangsbestand des Lagers Anfangsproduktion vor Beginn
Variablen: Ij (j = 1, . . . , n) Ij (j = 1, . . . , n)
Lagerbestand am Ende der jeweiligen Periode: unverdorbene Ware am Ende der Periode j
Nebenbedingungen: Aktualisierung/Fortschritt des Lagerbestandes:
10.3 L¨osungen zur Modellierung von nichtlinearen Optimierungsproblemen
j>0:
273
Ij = Ij−1 + xj−1 − dj Ij Ij = Ij · (1 − 2K ) je dichter die Ware gepackt ist, desto mehr verrottet (bis zur H¨alfte).
Beschr¨ankungen: Ij ≤ K + xj−1 ≥ dj Ij ≥ 0 bzw. Ij−1 xj ≥ 0 Zielfunktion: min
n
∀j = 1, . . . , n ∀j = 1, . . . , n ∀j = 1, . . . , n.
(fj−1 (xj−1 ) · xj−1 + c · Ij )
j=1
(f k¨onnte eine konkave Funktion sein.)
L¨osung zu 10.2.2 Variablen: κi ZW (i)
W¨armeaustauschkoeffizienten mit k ≤ κi ≤ K f¨ur i = 1, . . . , 10 Temperaturzuwachs
Restriktionen: Fest vorgegeben ist, dass jeder Haushalt i mit B(i) zu versorgen ist. Wenn die Fernw¨armeleitung ZW (i) liefert, dann m¨ussen jeweils nur noch B(i) − ZW (i) dezentral erzeugt werden. Kostenpunkt hierf¨ur ist fi (ZW (i), B(i) − ZW (i)). ZW (i) ≥ 0, ZW (i) ≤ Bi ,
weil jedes Anzapfen die Temperatur im Haushalt erh¨oht weil der Bedarf mit Bi gedeckt ist
Beschreibung des Temperaturverlaufs: T (0) = 300 T (9) = (300 − 0)e−9k T (11) = T (9)e−2κ1 T (19) = T (11)e−8k T (21) = T (19)e−2κ2 Allgemein: T (i · 10 − 1) = 300 · e T (i · 10 + 1) = 300 · e
−k−8·i·k−
−k−8·i·k−
i−1 P j=1 i P j=1
2κj
2κj
∀ i = 1, . . . , 10 ∀ i = 1, . . . , 10
274
III: 10 Problemstellung und Zweck der nichtlinearen Optimierung
T (110) = 300 · e
−2·k−8·11·k−
10 P j=1
2κj
Nun ist ZW (i) = T (i·10−1)−T (i·10+1) ∀i und die Aufheizung des R¨ucklaufdampfes kostet F (T (110)), falls die Temperatur unter 200◦C gesunken ist. Folglich hat man Gesamtkosten von 10
1{T (110), so spricht man von einer strikten Trennung. In diesen F¨allen heißen Γ und Λ trennbar, bzw. strikt trennbar.
Daraus ergibt sich die M¨oglichkeit einer Trennung zwischen einer konvexen Menge und einem nicht dazugeh¨origen Punkt.
Satz 11.4 (Trennbarkeit von Menge und Punkt) Sei M = ∅ eine abgeschlossene, konvexe Menge und y ∈ / M . Dann gibt es ein p ∈ Rn und ein T T α ∈ R mit p y > α und p x < α ∀ x ∈ M .
Wenn es sogar zu einer Ber¨uhrung von Menge und trennender Hyperebene kommt, spricht man von einer St¨utzhyperebene.
Definition 11.5 M sei eine nichtleere Teilmenge des Rn und x ∈ ∂M . Eine Hyperebene H := {x | cT x = cT x} heißt St¨utzhyperebene zu M bei x, falls f¨ur alle y ∈ M gilt: cT y ≤ cT x.
Die Existenz solcher St¨utzhyperebenen kann nachgewiesen werden.
Satz 11.6 M sei eine nichtleere, konvexe Teilmenge des Rn und x ∈ ∂M . Dann gibt es eine Hyperebene, die M bei x st¨utzt.
284
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Korollar 11.7 / M . Dann gibt es einen Nichtnullvektor p Sei M eine nichtleere, konvexe Menge im Rn und x ∈ mit pT (x − x) ≤ 0 ∀ x ∈ M .
Argumentiert man wie bei der Trennung von Punkt zu Menge, aber diesmal wechselseitig zwischen zwei Mengen M1 und M2 , dann ergibt sich die Trennbarkeit zweier disjunkter konvexer Mengen.
Satz 11.8 (Trennung zweier Mengen) M1 und M2 seien zwei nichtleere, konvexe Teilmengen des Rn mit M1 ∩ M2 = ∅. Dann existiert eine Hyperebene, die M1 und M2 trennt, das heißt ∃p = 0 mit: inf{pT x | x ∈ M1 } ≥ sup{pT x | x ∈ M2 }.
Bei speziellen Strukturen des Randes der beiden Mengen ergeben sich interessante Folgerungen.
Korollar 11.9 M1 und M2 seien zwei nichtleere, konvexe Teilmengen des Rn . Sei Int(M2 ) nichtleer und M1 ∩ Int(M2 ) = ∅. Dann existiert ein p = 0 mit inf{pT x | x ∈ M1 } ≥ sup{pT x | x ∈ M2 }.
Korollar 11.10 Seien M1 und M2 konvexe Mengen mit nichtleerem Inneren und Int(M1 )∩ Int(M2 ) = ∅. Dann existiert ein p = 0 mit inf{pT x | x ∈ M1 } ≥ sup{pT x | x ∈ M2 }.
Schließlich ist unter gen¨ugend scharfen Voraussetzungen auch ein strikte Trennung m¨oglich.
Satz 11.11 Seien M1 und M2 abgeschlossen und konvex, M1 beschr¨ankt. Ist M1 ∩ M2 = ∅, dann ∃p = 0 und ε > 0 mit inf{pT x | x ∈ M1 } ≥ ε + sup{pT x | x ∈ M2 }.
11.2 Aufgaben zu konvexen Mengen
285
11.2 Aufgaben zu konvexen Mengen Aufgabe 11.2.1 Beweisen Sie mithilfe des Satzes u¨ ber die Trennbarkeit von Menge und Punkt im Rn das FarkasLemma in der folgenden Formulierung: Entweder (I) Ax = b, x ≥ 0 oder (II) AT y ≥ 0, bT y < 0 ist l¨osbar.
Aufgabe 11.2.2
Sei S =
x1 x2
3 ∈ R2 | x1 − 2x2 ≤ 2, x1 + x2 ≤ 5, −3x1 + x2 ≤ −3 und y = . −2
Ermitteln Sie die Minimaldistanz von y zu S, den zu y n¨achsten Punkt von S und eine trennende Hyperebene zwischen y und S.
Aufgabe 11.2.3 Gegeben seien die Mengen x • K= ∈ R2 | x2 + y 2 ≤ 1, x ≤ 0 , y x 2 2 2 ∈ R | x + y ≤ 1, x > 0 , • K1 = y x 2 2 2 ∈ R | x + (y + 1) ≤ 1, x > 0 , • K2 = y x ∈ R2 | x2 + (y + 2)2 ≤ 1, x > 0 und • K3 = y x 2 2 2 ∈ R | x + (y + 3) ≤ 1, x > 0 • K4 = y ¨ Uberlegen Sie sich, ob die Mengenpaare (K, Ki ) (i = 1, . . . , 4) strikt trennbar sind und wie viele (nicht unbedingt strikt) trennende Hyperebenen es f¨ur die jeweiligen Paare gibt.
11.3 L¨osungen zu konvexen Mengen L¨osung zu 11.2.1 Wir kennen folgenden Satz: Wenn M = ∅ eine konvexe und abgeschlossene Menge ist und wenn y ∈ M ist, dann gibt es p ∈ Rn \ {0} und α ∈ R mit pT y > α und pT x < α f¨ur alle x ∈ M . Nun soll aber das Farkas-Lemma bewiesen werden mit seinen Alternativen (I) Ax = b, x ≥ 0
oder (II) AT y ≥ 0, bT y < 0
286
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Nachweis: Zuerst: (I) und (II) sind unvertr¨aglich. Annahme: ∃x mit Ax = b, x ≥ 0 und ∃y mit AT y ≥ 0, bT y < 0 xT AT y ≥ 0 ⇒ 0 > bT y = (Ax)T y = ≥0
≥0
Dies stellt einen Widerspruch dar. Nun ist zu zeigen, dass (II) aus ¬(I) folgt. ¬(I), das heißt x : Ax = b , x ≥ 0 ⇒ b ∈ M = {z | z = Ax f¨ur ein x ≥ 0} Nach obigem Satz gibt es aber dann zu diesem konvexen M ein p ∈ Rn und ein α ∈ R mit pT b > α und pT z < α ∀z ∈ M . Anmerkung: Der Satz ist anwendbar, weil M konvex ist, denn mit z1 und z2 ∈ M ist auch conv(z1 , z2 ) ⊂ M . Wenn n¨amlich z1 = Ax1 und z2 = Ax2 mit x1 , x2 ≥ 0 sind, dann ist auch
1.
λx1 + (1 − λ)x2 ≥ 0 f¨ur λ ∈ [0, 1] sowie λ · z1 + (1 − λ) · z2 = A · (λ · x1 + (1 − λ) · x2 ). 2.
M ist abgeschlossen, weil die Menge ein Polyeder beschreibt.
3.
M = ∅ wegen z = 0 ∈ M (A · 0 = 0).
Wir folgern nun (II): 0∈M
⇒
α > 0 = pT 0
⇒
pT b > 0.
und pT z < α
∀z ∈ M, das heißt pT (Ax) < α
∀x ≥ 0
bzw.
(pT A)x < α ∀x ≥ 0.
Deshalb kann (pT A) keine Positivkomponente besitzen. Sonst w¨are sofort mit x = · ei ( groß genug bei positiver i-ter Komponente von pT A) jede Schranke α u¨ berbietbar. pT A ≤ 0 ⇐⇒ AT p ≤ 0 Wir haben AT p ≤ 0 , bT p > 0 und setzen y = −p ⇒ ∃y mit AT y ≥ 0 , bT y < 0 ⇒ (II) aus dem Farkas-Lemma.
11.3 L¨osungen zu konvexen Mengen
287
L¨osung zu 11.2.2 Eine trennende Hyperebene ist beispielsweise gegeben durch x1 − 2x2 = 4, denn dann ist S enthalten im Halbraum H := {x ∈ R2 : x1 − 2x2 ≤ 4} w¨ahrend y kein Element von H (wegen y1 − 2y2 = 7 > 4) ist. Zur Illustration:
5 4 • (2, 3)T
3 2
• (4, 1)T
1
−1 −1
• 1 4 32 T (5, −5)
3
4
5
• y = (3, −2)T
−2 −3 −4
4 3 4 2 5 liegt nicht in S. . Der Punkt y = S ist das Dreieck mit den Ecken , , −2 − 35 1 3 Verletzt ist aber nur die Ungleichung x1 − 2 · x2 ≤ 2, infolgedessen muss auf der Strecke von y zu jedem beliebigen Punkt von S erst einmal ein Randpunkt von S durchlaufen werden, der x1 − 2 · x2 = 2 erf¨ullt. Also befindet sich unter diesen Randpunkten auch der Minimalpunkt der Abstandsminimierung zu y. Wir brauchen also den Minimalwert von 16 4 5 + λ · 58 mit λ ∈ [0, 1] y − z f¨ur z = − 35 5 Zu minimieren ist folglich (3 −
4 5
−λ·
16 2 5 )
+ (−2 +
3 5
− λ · 85 )2 = ( 11 5 −λ·
16 2 5 )
+ (− 75 − λ · 85 )2 .
288
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Die Ableitung nach λ ergibt 2 · ( 11 5 −λ·
16 5 )
7 8 8 · (− 16 5 ) + 2 · (− 5 − λ · 5 ) · (− 5 ).
Eine Nullstelle hiervon ist zu finden bei −176 + 256 · λ + 56 + 64 · λ = 0 ⇐⇒ 320 · λ = 120 ⇐⇒ λ = 38 .
16 16 8 Dort ist die 2. Ableitung gleich − 32 −5 + −5 5 5 > 0. Deshalb liegt ein Minimalpunkt vor. Der Minimalpunkt ist demnach 4 6 √ √ 2 2 5 und der Abstand betr¨agt 2 1 + 4 = 5 + 53 = 3 0 −5 5
L¨osung zu 11.2.3 Die einzelnen Situationen sind in den folgenden vier Abbildungen illustriert.
K
y 1
−1
K1
1
x
−1 K und K1 : Eine trennende Hyperebene (die y-Achse, aber nicht strikt)
K
y 1
−1
1
x
−1 −2
K2
K und K2 : Eine trennende Hyperebene (die y-Achse, nicht strikt)
11.3 L¨osungen zu konvexen Mengen
289
K
y 1
−1
1
x
−1 −2 −3
K3
K und K3 Bei K und K3 ist jede Gerade, die durch den Punkt (0, −1)T geht und die nicht f¨allt, eine trennende Hyperebene.
K
y 1
−1
1
x
−1 −2 −3 −4
K4
K und K4 Bei K und K4 trennen auf jeden Fall alle diejenigen Geraden, die durch den Punkt (0, z)T mit −2 ≤ z ≤ −1 gehen und nicht (mit x) fallen. Außerdem sind fallende Geraden mit Schnittpunkt aus diesem Intervall ebenfalls trennende Hyperebenen. Je nach Schnittpunkt ergibt sich ein maximales Gef¨alle, das u¨ ber die Ber¨uhrpunkte ausgedr¨uckt werden kann.
290
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Bei z = −1,5 werden dort beide Kreise ber¨uhrt, und zwar in den Punkten − 1 − T 1 1 (linker Halbkreis) und 1 − (z+3) (rechter Halbkreis). 2 , −3 + z+3
1 1 z2 , z
T
Bei z ∈ [−1; −1,5] hat man im a¨ ußersten Fall eine Ber¨uhrung mit dem linken Halbkreis wie oben. Bei z ∈ (−1,5; −2] hat man im a¨ ußersten Fall eine Ber¨uhrung mit dem rechten Halbkreis wie oben. Flachere Geraden sind auf jeden Fall trennend.
11.4 Konvexit¨at und Differenzierbarkeit Der Konvexit¨atsbegriff f¨ur eine Funktion ist wie folgt definiert.
Definition 11.12 Sei Γ eine nichtleere, konvexe Menge im Rn . Eine reellwertige Funktion ϕ heißt konvex auf Γ, wenn ∀ x1 , x2 ∈ Γ und ∀ λ ∈ [0, 1] gilt: ϕ(λx1 + (1 − λ)x2 ) ≤ λϕ(x1 ) + (1 − λ)ϕ(x2 ). Ist bei λ ∈ (0, 1) und x1 = x2 die obige Ungleichung immer strikt, so heißt ϕ strikt konvex. ϕ heißt konkav (bzw. strikt konkav) auf Γ, wenn −ϕ konvex (bzw. strikt konvex) ist. Eine Vektorfunktion heißt konvex, wenn alle Komponentenfunktionen konvex sind.
Wichtig f¨ur die Analyse einer konvexen Funktion auf einer ganzen Geraden ist die Erkenntnis u¨ ber den wachsenden Differenzenquotienten , die sowohl eine Absch¨atzung zwischen zwei Punkten x1 und x2 im Sinne der Interpolation als auch eine Absch¨atzung (in umgekehrter Richtung) f¨ur Punkte außerhalb des Intervalls [x1 , x2 ] im Sinne der Extrapolation erm¨oglicht.
Satz 11.13 Γ = ∅ sei offen und konvex. ϕ ist genau dann konvex auf Γ, wenn f¨ur alle x1 , x2 , x3 ∈ Γ mit x2 = λx1 + (1 − λ)x3 , λ ∈ (0, 1) gilt: ϕ(x2 ) − ϕ(x1 ) ϕ(x3 ) − ϕ(x2 ) ≤ x2 − x1 x3 − x2
Konvexe Funktionen darf man addieren, ohne die Konvexit¨at der Summe zu verlieren. Bemerkung f sei eine mehrdimensionale Vektorfunktion auf dem konvexen Bereich Γ ⊆ Rn . Falls f = (f1 , . . . , fm ) konvex ist, dann ist auch jede konische Kombination der fi eine konvexe m Funktion, das heißt ∀ρ1 , . . . , ρm mit ρi ≥ 0 (i = 1, . . . , m), ist ϕ = i=1 ρi fi konvex.
11.4 Konvexit¨at und Differenzierbarkeit
291
Zu einer Funktion ϕ kann man jeweils die Punktmenge betrachten, bei der diese Funktion unter einem vorgegebenen Niveau α bleibt. Bezeichnung ϕ sei eine konvexe Funktion und α ∈ R. Nα := {x ∈ Γ | ϕ(x) ≤ α} bezeichnet dann die Niveaumenge von ϕ zu α. Entsprechend bezeichnet Nα− die analoge Menge mit ϕ(x) < α. Bemerkung Ist ϕ eine konvexe Funktion, so sind ∀ α ∈ R die Mengen Nα und Nα− konvex. Der Zusammenhang zwischen den beiden Konvexit¨atsbegriffen von Mengen bzw. Funktionen wird deutlich, wenn man sich mit dem Epigraphen einer Funktion befasst:
Definition 11.14 Sei Γ = ∅, Γ ⊆ Rn und ϕ : Γ → R. Der Epigraph ist eine Teilmenge von Rn+1 und folgendermaßen definiert: x Epi(ϕ) := x ∈ Γ, ξ ∈ R mit ϕ(x) ≤ ξ . ξ Entsprechend bezeichnet der Hypograph von ϕ eine Teilmenge von Rn+1 mit: x x ∈ Γ, ξ ∈ R mit ϕ(x) ≥ ξ . Hyp(ϕ) := ξ
Hiermit zeigt sich die Analogie beider Konvexit¨ats-Terminologien.
Satz 11.15 Γ = ∅ sei konvex und ϕ sei reellwertig. ϕ ist genau dann konvex, wenn Epi(ϕ) eine konvexe Menge ist.
Wenn der Epigraph von f als Menge im Rn+1 von unten gest¨utzt werden kann, dann kann man dies als Nachweis f¨ur einen sogenannten Subgradienten zu f bei x ansehen.
Definition 11.16 Γ = ∅ sei konvex und ϕ : Γ → R. Dann heißt ein Vektor L ∈ Rn Subgradient von ϕ bei x, wenn gilt: (11.1) ϕ(x) ≥ ϕ(x) + LT (x − x) ∀ x ∈ Γ. Gilt in (11.1) ≤ anstelle von ≥, so nennen wir hier L Supergradient von ϕ bei x.
292
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Bemerkung
x x ∈ Γ entspricht einer St¨utzhyperebene ϕ(x) + LT (x − x) (SHE) an den Epi- bzw. Hypographen von ϕ in x, je nachdem, ob ϕ konvex oder konkav ist. L entspricht dem zugeh¨origen Normalenvektor in der Beschreibung: −1 Die Punktmenge
y=
⎫ ⎧ ⎬ ⎨ T L y = LT x − ϕ(x) − LT (x − x) = LT x − ϕ(x) SHE = y −1 ⎩ ⎭ konstant
Bei konvexen Funktionen und inneren Punkten des Definitionsbereichs l¨asst sich die Existenz von Subgradienten nachweisen.
Satz 11.17 (Existenzsatz f¨ur Subgradienten bei konvexen Funktionen) sei konvex. Dann existiert f¨ur x∈ Int(Γ) ein ∅ = Γ ⊆ Rn sei konvex und ϕ : Γ → R x ξ = ϕ(x) + LT (x − x) ⊆ Rn+1 den Vektor L ∈ Rn , so dass die Hyperebene H := ξ x st¨utzt. Gemeint ist damit, dass gilt: Epigraphen von ϕ bei ϕ(x) ϕ(x) ≥ ϕ(x) + LT (x − x) ∀ x ∈ Γ. Mit anderen Worten: L ist ein Subgradient von ϕ bei x.
Korollar 11.18 Sei Γ = ∅ konvex und ϕ strikt konvex. Dann gibt es zu x ∈ Int(Γ) einen Vektor L, so dass sogar gilt: ϕ(x) > ϕ(x) + LT (x − x) ∀ x ∈ Γ, x = x
Die Umkehrung hierzu ist allerdings nicht allgemein richtig, da aus der Existenz der Subgradienten die Konvexit¨at nicht zwingend gefolgert werden kann. Aber es l¨asst sich zeigen:
Satz 11.19 Γ = ∅ sei konvex, ϕ beliebig. F¨ur jedes x ∈ Int(Γ) existiere ein Subgradient L mit ϕ(x) ≥ ϕ(x) + LT (x − x) ∀ x ∈ Γ. Dann ist ϕ konvex auf Int(Γ).
11.4 Konvexit¨at und Differenzierbarkeit
293
Besonders wertvolle Eigenschaften lassen sich f¨ur konvexe Funktionen gewinnen, wenn diese noch gleichzeitig differenzierbar sind. Als Vorstufe zur Differenzierbarkeit befassen wir uns mit der Richtungsableitung. Definition 11.20 Seien Γ = ∅, Γ ⊆ Rn und f : Γ → R. Ferner seien x ∈ Γ und d ∈ Rn , so dass x + λd ∈ Γ ∀ 0 < λ < ε (f¨ur ein ε > 0). Die Richtungsableitung von ϕ bei x entlang d (in Richtung d) wird im Falle ihrer Existenz durch folgenden Grenzwert beschrieben: ϕ (x, d) := lim
λ→0+
ϕ(x + λd) − ϕ(x) . λ
Und deren Existenz ist auch nachweisbar. Lemma 11.21 Sei Γ = ∅ und ϕ eine konvexe Funktion. Sei x ∈ Int(Γ) und d = 0 so, dass f¨ur gen¨ugend kleines λ > 0 gilt: x + λd ∈ Γ. Dann existiert folgender Grenzwert: lim
λ→0+
ϕ(x + λd) − ϕ(x) ∈ R. λ
Der Betrachtung von Richtungen bzw. von Geraden kommt in der Konvexit¨atstheorie von Funktionen u¨ berragende Bedeutung zu, weil die Konvexit¨atseigenschaft sich ja gerade auf das Verhalten auf einem Geradenst¨uck bezieht. Folglich ist es interessant, ob und wie sich diese Erkenntnis auf die ganze Gerade und auf den ganzen Raum ausweiten l¨asst. Definition 11.22 Sei Γ = ∅ und ϕ : Γ → R. Man nennt ϕ bei x ∈ Int(Γ) differenzierbar, wenn ein Vektor ∇ϕ(x) ∈ Rn (der Gradient) und eine Funktion α : Rn × Rn → R existieren mit limx→x α(x, x − x) = 0 und ϕ(x) = ϕ(x) + ∇ϕ(x)T (x − x) + x − xα(x, x − x) ∀ x ∈ Γ. ϕ heißt differenzierbar auf Int(Γ), wenn es bei jedem x ∈ Int(Γ) differenzierbar ist. ∇x ϕ(x) soll den Gradienten von ϕ an der Stelle x (ϕ abgeleitet nach x) bezeichnen. Dies ist: ⎛ ∂ϕ(x) ⎞ ⎜ ∇x ϕ(x) = ⎜ ⎝
∂x1
.. .
∂ϕ(x) ∂xn
⎟ ⎟ ⎠
294
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Bei Differenzierbarkeit braucht man sich um die Existenz verschiedener Subgradienten keine Sorgen zu machen. Hier gibt es n¨amlich nur einen, den sogenannten Gradienten.
Lemma 11.23 Γ = ∅ sei konvex, ϕ : Γ → R ebenfalls. Ferner sei ϕ bei x ∈ Int(Γ) differenzierbar. Dann gibt es genau einen Subgradienten bei x, n¨amlich ∇ϕ(x).
Eine u¨ berragende Bedeutung f¨ur die Analyse des Funktionsverlaufs auf der ganzen Geraden hat die bereits erw¨ahnte Eigenschaft des wachsenden Differenzenquotienten“, die bei Vorliegen von ” Differenzierbarkeit folgendermaßen formuliert werden kann.
Satz 11.24 Γ = ∅ sei offen und konvex. ϕ sei auf Γ differenzierbar. ϕ ist genau dann konvex, wenn f¨ur alle x1 , x2 ∈ Γ gilt: [∇ϕ(x2 ) − ∇ϕ(x1 )]T (x2 − x1 ) ≥ 0. Analog gilt: ϕ ist strikt konvex
⇐⇒
es gilt > f¨ur x1 = x2 .
Konvexit¨at nachzuweisen, ist oft schwierig und m¨uhsam. Hilfreich ist oft die Eigenschaft der zweimaligen Differenzierbarkeit und die Analyse der entstehenden Hesse-Matrix.
Definition 11.25 Γ = ∅ und ϕ : Γ → R seien gegeben. ϕ heißt bei x ∈ Int(Γ) zweimal differenzierbar, wenn es einen Vektor ∇ϕ(x) und eine Matrix H(x) (die Hesse-Matrix), sowie eine Funktion α : Rn × Rn → R mit lim α(x, x − x) = 0 x→x
und folgender Eigenschaft gibt: 1 ϕ(x) = ϕ(x) + ∇ϕ(x)T (x − x) + (x − x)T H(x)(x − x) + x − x2 α(x, x − x). 2 Entsprechend heißt ϕ auf Int(Γ) zweimal differenzierbar, wenn es bei jedem x ∈ Int(Γ) zweimal differenzierbar ist.
Die Hesse-Matrix H(x) ist zusammengesetzt aus den zweiten (zweifachen) partiellen Ableitungen und hat damit folgende Form:
11.4 Konvexit¨at und Differenzierbarkeit
⎡ ∂ 2 ϕ(x) (∂x1 )2
⎢ 2 ⎢ ∂ ϕ(x) ⎢ ∂x2 x1 ⎢ ⎢ .. ⎢ . H(x) = ⎢ ⎢ .. ⎢ . ⎢ ⎢ . ⎢ .. ⎣
295 ∂ 2 ϕ(x) ∂x1 x2
···
···
···
.. . .. . .. . .. .
∂ 2 ϕ(x) (∂x2 )2
∂ 2 ϕ(x) ∂xn x1
..
. ..
. ..
2
∂ ϕ(x) ∂xi xj
···
···
···
∂ 2 ϕ(x) ∂x1 xn
.
···
∂ 2 ϕ(x) (∂xn )2
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
Schreibt man die zweimaligen partiellen Ableitungen (nach xi , xj ) in der Form ϕij und die einmaligen (nach xj ) in der Form ϕj , dann hat man: ϕ(x) = ϕ(x) +
n #
1 ## ϕij (x)(xi − xi )(xj − xj ) 2 i=1 j=1 n
ϕj (x)(xj − xj ) +
j=1
n
+ x − x2 α(x, x − x). Dies ist (ohne den letzten Term) die Taylor-Approximation (Entwicklung) zweiter Ordnung.
Satz 11.26 Γ = ∅ sei offen und konvex, ϕ sei zweimal differenzierbar auf Γ. ϕ ist genau dann konvex, wenn die Hesse-Matrix bei jedem x ∈ Γ positiv semidefinit ist.
Korollar 11.27 Ist die Hesse-Matrix unter obigen Voraussetzungen positiv definit, dann ist ϕ strikt konvex. Allerdings folgt aus strikter Konvexit¨at nur positiv semidefinit, nicht positiv definit.
¨ ¨ Die Uberpr¨ ufung von Konvexit¨at reduziert sich nun auf die Uberpr¨ ufung der Hesse-Matrix H (auf positiv semidefinit). Dazu bestimmt man die Eigenwerte von H (beachte: H ist symmetrisch). Sind alle Eigenwerte nicht-negativ, so ist H positiv semidefinit. Die andere Richtung gilt auch, das heißt, ist H positiv semidefinit, dann besitzt H nur nicht-negative Eigenwerte. Konvexit¨at in Reinform liegt in realen Problemsituationen oft nicht vor. Zur Absicherung gewisser Erkenntnisse reichen dann zumeist auch schon abgeschw¨achte Versionen dieser Anforderung, wie im Folgenden beschrieben.
Definition 11.28 Γ = ∅ sei konvex. f heißt quasikonvex, wenn ∀ x1 , x2 ∈ Γ gilt: f (λx1 + (1 − λ)x2 ) ≤ max {f (x1 ), f (x2 )}
∀ λ ∈ [0, 1].
296
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
f heißt quasikonkav, wenn −f quasikonvex ist.
Quasikonvexit¨at liegt also bereits dann vor, wenn das Intervallmaximum jeweils an einem Randpunkt angenommen wird. Die Wirkung dieser Eigenschaften zeigt sich an den Niveaumengen und damit an den Zul¨assigkeitsbereichen der Optimierungsprobleme.
Satz 11.29 Sei Γ = ∅ konvex und f : Γ → R. f ist genau dann quasikonvex, wenn Nα := {x ∈ Γ : f (x) ≤ α} ∀ α ∈ R eine konvexe Menge ist.
Bei Vorliegen von Differenzierbarkeit l¨asst sich Quasikonvexit¨at wie folgt charakterisieren.
Satz 11.30 Γ = ∅ sei offen und konvex, f differenzierbar auf Γ. f ist genau dann quasikonvex, wenn f¨ur x1 , x2 ∈ Γ eine der folgenden a¨ quivalenten Aussagen gilt: (1) (2)
f (x1 ) ≤ f (x2 ) ∇f (x2 )T (x1 − x2 ) > 0
⇒ ⇒
∇f (x2 )T (x1 − x2 ) ≤ 0 f (x1 ) > f (x2 ).
Varianten der Quasikonvexit¨at sind wie folgt definiert.
Definition 11.31 Γ = ∅ sei konvex. f heißt strikt quasikonvex, wenn f¨ur alle x1 , x2 ∈ Γ mit f (x1 ) < f (x2 ) gilt: ∀ x ∈ (x1 , x2 ) ist f (x) < f (x2 ) f heißt strikt quasikonkav, wenn −f strikt quasikonvex ist. f heißt stark quasikonvex, wenn ∀ x1 , x2 ∈ Γ mit x1 = x2 gilt: ∀x ∈ (x1 , x2 )ist f (x) < max {f (x1 ), f (x2 )} f ist stark quasikonkav, wenn −f stark quasikonvex ist.
Bezieht man die Konvexit¨atseigenschaft eher auf die Frage, ob man sich auf die Tangentialvoraussage wenigstens im Sinne des Nichtmehrsinkens“ verlassen kann, dann kommt man zum ” Begriff der Pseudokonvexit¨at.
11.4 Konvexit¨at und Differenzierbarkeit
297
Definition 11.32 Γ sei offen und f differenzierbar auf Γ. f heißt pseudokonvex, wenn ∀ x1 , x2 ∈ Γ mit ∇f (x1 )T (x2 − x1 ) ≥ 0 auch f (x2 ) ≥ f (x1 ) gilt. f heißt strikt pseudokonvex, wenn ∀ x1 = x2 ∈ Γ die Ungleichung ∇f (x1 )T (x2 − x1 ) ≥ 0 impliziert, dass f (x2 ) > f (x1 ) gilt. Entsprechend heißt f (strikt) pseudokonkav, wenn −f (strikt) pseudokonvex ist. Diese Eigenschaft wird sich im Zusammenhang mit Optimierungskriterien noch als sehr n¨utzlich erweisen. Eine weitere Form der Abschw¨achung von Konvexit¨at liegt darin, diese Eigenschaft nur noch lokal, das heißt in Bezug auf einen betrachteten Punkt zu fordern. Die folgende Definition kl¨art die Form dieser Anforderungen. Definition 11.33 Sei Γ = ∅ konvex und f : Γ → R. Bei x ∈ Γ liegen die folgenden Konvexit¨atseigenschaften vor, wenn gilt: : f (λx + (1 − λ)x) ≤ λf (x) + (1 − λ)f (x) ∀ λ ∈ (0, 1), ∀ x ∈ Γ Strikte Konvexit¨at : f (λx + (1 − λ)x) < λf (x) + (1 − λ)f (x) ∀ λ ∈ (0, 1), ∀ x ∈ Γ mit x = x Quasikonvexit¨at : f (λx + (1 − λ)x) ≤ max {f (x), f (x)} ∀ λ ∈ (0, 1), ∀ x ∈ Γ Strikte Quasikonvexit¨at : f (λx + (1 − λ)x) < max {f (x), f (x)} ∀ λ ∈ (0, 1), falls f (x) = f (x) Starke Quasikonvexit¨at : f (λx + (1 − λ)x) < max {f (x), f (x)} ∀ λ ∈ (0, 1), ∀ x ∈ Γ mit x = x Pseudokonvexit¨at : ∇f (x)T (x − x) ≥ 0 ⇒ f (x) ≥ f (x) ∀ x ∈ Γ, f differenzierbar bei x Strikte Pseudokonvexit¨at : ∇f (x)T (x − x) ≥ 0 ⇒ f (x) > f (x) ∀ x ∈ Γ mit x = x, f differenzierbar bei x. Konvexit¨at
Allein auf diese lokale Eigenschaft gest¨utzt, haben viele fr¨uhere Ergebnisse immer noch ihre G¨ultigkeit. Satz 11.34 f sei konvex und differenzierbar bei x. Dann gilt: f (x) ≥ f (x) + ∇f (x)T (x − x) ∀ x ∈ Γ. Ist f strikt konvex, so gilt die strikte Ungleichung f¨ur x = x.
298
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Satz 11.35 f sei konvex und zweimal differenzierbar bei x ∈ Int(Γ). Dann ist die Hesse-Matrix positiv semidefinit.
Satz 11.36 f sei quasikonvex und differenzierbar bei x ∈ Γ. x ∈ Γ erf¨ulle f (x) ≤ f (x). Dann ist ∇f (x)T (x − x) ≤ 0.
11.5 Aufgaben zur Konvexit¨at und Differenzierbarkeit Aufgabe 11.5.1 Gegeben sei eine Funktion f : Rn → R. Betrachten Sie die durch g(λ) := f (x + λd), d ∈ Rn , d = 0, d2 = 1 definierte Funktion g : R → R. Zeigen Sie: •
Ist f eine konvexe Funktion, 0 < δ ∈ R und gilt f (x + λd) ≥ f (x) f¨ur alle λ ∈ (0, δ), dann ist g(λ) eine monoton wachsende Funktion f¨ur alle λ ≥ 0, λ ∈ R.
•
Ist f sogar eine strikt konvexe Funktion, dann ist g eine streng monoton wachsende Funktion in λ.
Aufgabe 11.5.2 Sei Γ ⊆ Rn eine offene, konvexe Menge. Untersuchen Sie die Funktionen a)
f (x) = 12 xT Qx + q T x mit Q ∈ Rn×n symm., pos. definit, q ∈ Rn , Γ = Rn
b)
f (x) =
c)
f (x) = x − a2 mit Γ = Rn
aT x + α mit a, b ∈ Rn , α, β ∈ R, bT x + β = 0 ∀x ∈ Γ bT x + β
auf Konvexit¨at u¨ ber der Menge Γ. Welche der Funktionen sind quasikonvex? Welche der Funktionen sind pseudokonvex? (Geben Sie gegebenfalls ein Gegenbeispiel an!)
11.5 Aufgaben zur Konvexit¨at und Differenzierbarkeit
299
Aufgabe 11.5.3 Weisen Sie die Richtigkeit der folgenden Aussage nach: Wenn f : Rn → R eine strikt konvexe, differenzierbare Funktion ist, und wenn v ein fest vorgegebener Vektor aus Rn ist, dann kann an h¨ochstens einer Stelle x ∈ Rn gelten: ∇f (x) = v.
Aufgabe 11.5.4 f : Rn → R sei differenzierbar bei x ∈ Rn . Es sei d := ∇f (x) = 0 und es sei g ∈ Rn , g = 0, g = d, aber g = d. Zeigen Sie: ∃δ > 0, so dass ∀ 0 < λ < δ gilt: f (x + λd) ≥ f (x + λg).
Aufgabe 11.5.5 Sei Γ = ∅ konvex und Γ ⊂ Rn . Sei f : Rn → R eine auf Rn differenzierbare Funktion und x ∈ Γ. Man sagt, dass f bei x bez¨uglich Γ konvex ist, wenn gilt: f (λ · x + (1 − λ) · x) ≤ λ · f (x) + (1 − λ) · f (x)
∀λ ∈ (0, 1), x ∈ Γ
Zeigen Sie, dass diese Eigenschaft von f genau dann vorliegt, wenn in der Differenzierbarkeitsdarstellung von f T
f (x) = f (x) + ∇f (x) (x − x) + x − x · α(x, x − x) mit α → 0 bei x → x Folgendes gilt: F¨ur jede Richtung d (mit d = 1) und f¨ur jedes λ > 0 mit x + λ · d ∈ Γ ist α(x, λ · d) auf dem Intervall [0, λ] eine mit λ monoton wachsende Funktion.
Aufgabe 11.5.6 Ein Reifenhersteller r¨ustet einen Rennstall der Formel 1 mit Rennreifen aus. F¨ur die Konfiguration dieser Reifen sind Mischungen verschiedener Zutaten und Bearbeitungsmaßnahmen m¨oglich, die sich insgesamt beschreiben lassen im Rn mit einem gewissen konvexen Zul¨assigkeitsbereich ¨ X. Uber X kann man zwei Zielfunktionen definieren: 1.
fS (x) ist die erwartete Rundenzeit bei gutem Wetter (also wenn die Sonne scheint) bei Mischung x ∈ X.
2.
fR (x) ist die erwartete Rundenzeit bei schlechtem Wetter (also wenn es regnet) bei Mischung x ∈ X.
Die Funktionen fS (x) und fR (x) seien strikt konvex u¨ ber X. Die Funktion fS (x) nimmt ihr eindeutiges Minimum u¨ ber X in xS an und fR (x) ihr eindeutiges Minimum in xR . Nach den Regeln der Formel 1 m¨ussen die Reifen bereits am Vortag (24 Stunden) vor dem Rennen festgelegt werden. Von da aus besteht eine Chance von 30 %, dass es regnen wird, und von 70 %, dass die Strecke trocken ist (Sonnenschein). Unter den Leitern des Rennstalls entsteht nun eine Diskussion, wie man vorgehen soll. Es gibt zwei Varianten:
300
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
1.
Entweder man stellt Reifen nach xS und xR her und bestimmt zuf¨allig, welcher Typ genommen wird. Dabei werden die Reifen nach xS mit 70 % und die nach xR mit 30 % gew¨ahlt.
2.
Oder man mischt bereits bei der Produktion und realisiert eine Mischung xM mit xM = 0,3 · xR + 0,7 · xS .
Was empfehlen Sie und warum tun Sie das?
11.6 L¨osungen zur Konvexit¨at und Differenzierbarkeit L¨osung zu 11.5.1 Voraussetzung: f konvexe Funktion und f (x + λd) ≥ f (x) ∀ λ ∈ (0, δ) bzw.
μ · g(λ1 ) + (1 − μ) · g(λ2 )
= μ · f (x + λ1 · d) + (1 − μ) · f (x + λ2 · d) also ⇒
f (x + λ0 · d) > μ · f (x + λ1 · d) + (1 − μ) · f (x + λ2 · d) Widerspruch zur (strikten) Konvexit¨at
11.6 L¨osungen zur Konvexit¨at und Differenzierbarkeit
b)
301
Bei λ1 > 0 w¨ahle λ0 < λ1 mit λ0 ∈ (0, δ) und (λ0 < λ1 ≤ λ2 ). Hat man dann g(λ0 ) ≤ g(λ1 ), dann kann aus den gleichen Gr¨unden wie oben g(λ2 ) nicht mehr tiefer liegen als g(λ1 ), aber bei strikter Konvexit¨at auch nicht gleich hoch. H¨atte man aber g(λ0 ) > g(λ1 ), dann k¨onnte man λ3 noch kleiner w¨ahlen als λ0 . Man behandelt nun (λ3 , λ0 ) so wie λ1 , λ2 in 1. Dann aber folgt g(λ3 ) ≤ g(λ0 ) > g(λ1 ) im Widerspruch zur Konvexit¨at.
L¨osung zu 11.5.2 ¨ Uberpr¨ ufung auf Konvexit¨at, Quasikonvexit¨at und Pseudokonvexit¨at. 1 2
a)
· xT Qx + q T x Q symmetrisch und positiv definit ∇f = Qx + q, ∇2 f (x) = Q positiv definit ⇒ f konvex ⇒ quasikonvex. Da f auch differenzierbar ist, folgt, dass f auch pseudokonvex ist.
b)
x+α f (x) = abT x+β mit (bT x + β = 0 , ∀x) f nicht konvex: z. B. (im Eindimensionalen) x1 mit a = 0, α = 1, β = 0, b = 1 auf [−2, −1] ist der Verlauf strikt konkav, also nicht konvex. Konkret ist etwa 1 1 1 1 1 1 1 3 2 3 1 f (−2) + f (−1) = · + · =− − =− 0 , ∀x bT x + β < 0 , ∀x
oder
Z. z.: ∇f (x)T (x − x) ≥ 0 ⇒ f (x) ≥ f (x) Es gelte also
(bT x + β) · a − (aT x + α) · b (bT x + β)2
T (x − x) ≥ 0
Nachzupr¨ufen ist nun, ob tats¨achlich f (x) ≥ f (x): 1 · [(bT x + β) · aT (x − x) − (aT x + α) · bT (x − x)] ≥ 0 (bT x + β)2 [(b x + β) · (a x + α −aT x − α ) T
T
neu
neu
−(a x + α) · (b x + β −b x − β )] ≥ 0 T
T
T
neu
neu
302
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
[(b x + β) · (a x + α) − (aT x + α) · (bT x + β)] ≥ 0 T
T
T
a x + α aT x + α − T ≥0 bT x + β b x+β f (x) =
c)
aT x + α aT x + α ≥ = f (x) bT x + β bT x + β
Da f pseudokonvex und stetig ist, folgt auch, dass f quasikonvex ist. % n (xi − ai )2 f = x − a2 = i=1
f konvex, denn f (λ · x + (1 − λ) · y) = λ · x + (1 − λ) · y − a = = λ · x − λ · a + (1 − λ) · y − (1 − λ) · a ≤
(Dreiecksungleichung)
≤ λ · x − λ · a + (1 − λ) · y − (1 − λ) · a = = λ · x − a + (1 − λ) · y − a = λ · f (x) + (1 − λ) · f (y) f ist nicht pseudokonvex, weil in x = a nicht differenzierbar. Da f konvex ist, ist die Funktion auch quasikonvex. Jedoch ist f lokal pseudokonvex bei allen x = a. Wenn ∇f (x)T (x − x) ≥ 0, dann bedeutet dies f (x) ≥ f (x), da ⎞T 2 · (x1 − a1 ) ⎟ ⎜ .. ·⎝ ⎠ (x − x) ≥ 0 . ⎛
1 1 ·% 2 n (xi − ai )2
2 · (xn − an )
i=1
(x − a) (x − x) ≥ 0 T
2
⇒ (f (x)) = (x − a) (x − a) = [(x − x) + (x − a)]T [(x − x) + (x − a)] = T
= x − x2 +x − a2 + 2 · (x − x)T (x − a) ≥ x − a2 = (f (x))2 ≥0
≥0
⇒ f (x) ≥ f (x), da f (x) = x − a ≥ 0 ∀x
11.6 L¨osungen zur Konvexit¨at und Differenzierbarkeit
303
L¨osung zu 11.5.3 ¨ Man hat die Aquivalenz ϕ strikt konvex ⇔ ∀ x1 , x2 x1 = x2 ist [∇ϕ(x2 ) − ∇ϕ(x1 )]T (x2 − x1 ) > 0. Hier ist f strikt konvex und differenzierbar. Man setze ∇f (x2 ) = v (x2 sei ein solcher Punkt). ⇒ ∀ x1 = x2 ist (v − ∇f (x1 ))T (x2 − x1 ) > 0 ⇒ [v − ∇f (x1 )] = 0
L¨osung zu 11.5.4 f (x + λd) = f (x) + ∇f (x)T (λd) + λd α(x, λd) = f (x) + λdT d + λ d α(x, λd) f (x + λg) = f (x) + ∇f (x)T (λg) + λg α(x, λg) = f (x) + λdT g + λ g α(x, λg) mit α(x, λx) → 0 f¨ur λ → 0 ⇒ f (x + λd) − f (x + λg) = λ(dT d − dT g) + λ d [α(x, λd) − α(x, λg)]
: λ(> 0)
f (x + λd) − f (x + λg) = (dT d − dT g) + d [α(x, λd) − α(x, λg)] λ (dT d − dT g) > 0, wegen Cauchy-Schwarz und g = d, sowie g = d. Aus [α(x, λd) − α(x, λg)] → 0 bei λ → 0 folgt, dass die rechte Seite einen positiven Grenzwert hat. λ > 0 ⇒ linker Z¨ahler langfristig positiv.
L¨osung zu 11.5.5 ⇐“ Sei α(x, λd) monoton wachsend mit λ auf [0, λ]. ” Z. z.: f ist bei x bzgl. Γ konvex. Betrachte beliebiges x ∈ Γ und normiere d :=
x−x x−x .
Mit λ := x − x gilt dann
x + λd = x und f¨ur alle λ ≤ λ ist wegen Konvexit¨at von Γ auch x + λd ∈ Γ. Nun gilt: f (x + λd) = f (x) + ∇f (x)T λd + λdα(x, λd) ⇒f (x + λd) − f (x) = ∇f (x)T λd + λα(x, λd)
:λ>0
f (x + λd) − f (x) = ∇f (x)T d +α(x, λd) ⇒ λ konstant
f (x + λd) − f (x) ist monoton wachsend mit λ. ⇒ λ
(11.2)
304
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
ˆ ≤ λ mit Angenommen, es gibt 0 < λ ˆ > (1 − λˆ )f (x) + λˆ f (x + λd) f (x + λd) λ λ ⇒
ˆ f (x+λd)−f (x) ˆ λ
>
f (x+λd)−f (x) λ
ˆ < λ) (λ
⇒ Der Bruch (11.2) ist nicht monoton wachsend mit λ. ⇒“ Der Bruch (11.2) sei monoton wachsend bzw. ” λ λ f (x + λd) ≤ (1 − )f (x) + f (x + λd). λ λ Es gelte also f (x + λd) − f (x) f (x + λd) − f (x) ≤ . λ λ Z. z.: α ist monoton wachsend. (x) ist Setze 0 < λ1 < λ2 mit x + λ2 d ∈ Γ (o. B. d. A. λ = λ2 , λ = λ1 ). ⇒ f (x+λd)−f λ monoton wachsend mit λ. Also ist auch α(x, λd) monoton wachsend mit λ.
L¨osung zu 11.5.6 Analyse des 1. Vorschlags: Man entscheidet sich mit 30 % f¨ur xR , mit 70 % f¨ur xS . Unabh¨angig davon wird es mit 30 % regnen und mit 70 % trocken sein. Die erwartete Rundenzeit ergibt sich dann als
+ + + =
0,3 · 0,3 · fR (xR ) falls man Regenreifen w¨ahlt und es regnet 0,3 · 0,7 · fS (xR ) falls man Regenreifen w¨ahlt und die Sonne scheint 0,7 · 0,3 · fR (xS ) falls man Trockenreifen w¨ahlt und es regnet 0,7 · 0,7 · fS (xS ) falls man Trockenreifen w¨ahlt und es trocken bleibt 0,09 · fR (xR ) + 0,21 · fR (xS ) + 0,21 · fS (xR ) + 0,49 · fS (xS )
Analyse des 2. Vorschlags: Man realisiert die Mischung 0,3 · xR + 0,7 · xS . Dann resultiert fM (x) = 0,3 · fR (0,3 · xR + 0,7 · xS ) falls es regnet + 0,7 · fS (0,3 · xR + 0,7 · xS ) falls es trocken ist
(11.3)
Nachdem fR , fS strikt konvexe Funktionen sind, gilt f¨ur (11.3) weiter fM (x) < 0,3 · (0,3 · fR (xR ) + 0,7 · fR (xS )) + 0,7 · (0,3 · fS (xR ) + 0,7 · fS (xS )) = 0,09 · fR (xR ) + 0,21 · fR (xS ) + 0,21 · fS (xR ) + 0,49 · fS (xS ) = Erwarteter Wert bei der ersten Variante Also empfiehlt sich die Reifenmischung des zweiten Vorschlags.
11.7 Optimierungseigenschaften bei Konvexit¨at
305
11.7 Optimierungseigenschaften bei Konvexit¨at In diesem Abschnitt geht es um die Auswirkungen von Konvexit¨atseigenschaften auf die Frage, ob und wo Optimalit¨at vorliegt. Zentral ist immer die Entscheidung, ob ein entdecktes lokales Minimum auch als globales Minimum gesichert ist. Bezeichnungen Mit (M P ) bezeichnen wir die Aufgabenstellung: min f (x) unter gi (x) ≤ 0 f¨ur i = 1, . . . , m und x ∈ Γ (M P0 ) bezeichnet die unrestringierte Aufgabe mit m = 0. Ensprechend ist (LM P ) die Aufgabe: Finde x, welches f (x) auf U (x, ε) ∩ Γ ∩ X f¨ur ein ε > 0 minimiert. Dabei ist X = {x | gi (x) ≤ 0 ∀i = 1, . . . , m}. (LM P0 ) bezeichnet dann wieder die unrestringierte Aufgabe mit m = 0. Satz 11.37 ∅ = Γ ⊆ Rn sei konvex und f : Γ → R. Zu l¨osen sei: min f (x)
unter x ∈ Γ
(M P0 )
Nun sei x ∈ Γ ein lokales Optimum f¨ur dieses Problem. Dann gilt: 1.
Falls f konvex ist, dann ist x auch globaler Optimalpunkt.
2.
Falls f strikt konvex ist, dann ist x eindeutiger globaler Optimalpunkt.
Mithilfe der fr¨uher eingef¨uhrten Subgradienten und Gradienten lassen sich hier Optimalit¨atsbedingungen formulieren. Satz 11.38 Sei f : Rn → R eine konvexe Funktion, Γ = ∅ sei konvex. Dann gilt: x ∈ Γ l¨ost genau dann (M P0 ), wenn f einen Subgradienten L bei x mit LT (x−x) ≥ 0 besitzt.
Korollar 11.39 Sei zus¨atzlich f differenzierbar. x ist genau dann L¨osung von (M P ), wenn gilt: ∇f (x)T (x − x) ≥ 0 ∀ x ∈ Γ Falls Γ offen ist, kann x (M P0 ) nur dann l¨osen, wenn ∇f (x) = 0 ist.
∀x ∈ Γ
306
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Korollar 11.40 Sei Γ offen. Dann gilt: x ist L¨osung von (M P0 ) ⇐⇒ Subgradient = 0 liegt vor.
Die vorher beschriebenen Konvexit¨atsabschw¨achungen f¨uhren zu
Satz 11.41 f sei strikt quasikonvex. Betrachte (M P0 ) auf offenem, konvexen Γ. Wenn x ein lokales Minimum ist, dann ist x auch globales Minimum.
Satz 11.42 Sei f stark quasikonvex. Betrachte (M P0 ) mit einem nichtleeren, konvexen Γ. Wenn dann x lokales Minimum ist, dann auch eindeutiges globales Minimum.
Und lokale Konvexit¨at kann folgendermaßen ausgenutzt werden.
Satz 11.43 f sei konvex und differenzierbar bei x ∈ Γ. Γ = ∅ sei konvex. Dann gilt: x ist Optimall¨osung zu (M P0 ) ⇐⇒ ∇f (x)T (x − x) ≥ 0 ∀ x ∈ Γ. Ist zus¨atzlich x ∈ Int(Γ), so gilt: x ist Optimall¨osung ⇐⇒ ∇f (x) = 0.
Satz 11.44 f sei konvex bei x ∈ Γ, Γ = ∅ sei konvex, x sei eine Optimall¨osung zu (LM P0 ). Dann ist x globale Optimall¨osung.
Satz 11.45 Sei x eine L¨osung von (LM P0 ) und Γ = ∅ konvex. Ist f strikt quasikonvex bei x, so ist x globales Optimum.
11.7 Optimierungseigenschaften bei Konvexit¨at
307
Satz 11.46 Zu l¨osen sei (M P0 ) mit konvexem Γ = ∅. Bei x sei ∇f (x) = 0. Dann gilt: 1.
Ist f pseudokonvex bei x, so ist x globales Optimum.
2.
Ist f strikt pseudokonvex bei x, so ist x sogar eindeutiges globales Optimum.
Dreht man die Optimierungs-Zielrichtung um, dann ergeben sich ebenfalls wertvolle Erkenntnisse, n¨amlich u¨ ber die Randlage der potentiellen Optimalpunkte.
Satz 11.47 f : Rn → R sei konvex, Γ = ∅ sei konvex. Betrachte das Problem: max f (x) unter x ∈ Γ. Dann gilt: Wenn x ∈ Γ ein lokales Optimum darstellt, so ist LT (x−x) ≤ 0 ∀x ∈ Γ f¨ur jeden Subgradienten L von f bei x.
Korollar 11.48 Wenn zus¨atzlich f noch differenzierbar und x lokal optimal ist, so gilt: ∇f (x)T (x − x) ≤ 0 ∀ x ∈ Γ
Dieses Resultat ist im Allgemeinen notwendig, aber nicht hinreichend f¨ur die Optimalit¨at.
Satz 11.49 (Maximum konvexer Funktionen) f sei konvex, Γ ein Polytop. Dann liegt ein globales Maximum in einer Ecke von Γ.
Auch hier lassen sich die Abschw¨achungen noch ausnutzen.
Satz 11.50 ¨ Uber einem Polytop X nimmt eine quasikonvexe Funktion ihr Maximum in einer Ecke an.
Satz 11.51 f sei konvex und differenzierbar bei x ∈ Γ. Γ sei konvex. Sei x Optimall¨osung zu max f (x)
unter x ∈ Γ.
308
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Dann gilt: ∇f (x)T (x − x) ≤ 0
∀x ∈ Γ
11.8 Aufgaben zu Optimierungseigenschaften bei Konvexit¨at Aufgabe 11.8.1
Gegeben sei f (x1 , x2 ) := 3x41 + 2x21 + x22 + 2x2 und das Polytop Γ := {(x1 , x2 )T ∈ R2 | − 2 ≤ x1 ≤ 2, −4 ≤ x2 ≤ 1, −x1 − x2 ≤ 4}. L¨osen Sie das folgende Optimierungsproblem: max f (x) unter x ∈ Γ . Begr¨unden Sie Ihren L¨osungsansatz.
Aufgabe 11.8.2 Beweisen Sie: Gegeben sei ∅ = Γ ⊆ Rn konvex und f : Γ → R. f sei quasikonvex bei x ∈ Γ und differenzierbar. F¨ur ein x ∈ Γ gelte f (x) ≤ f (x) ∀x ∈ Γ. Dann ist ∇f (x)T (x − x) ≤ 0.
Aufgabe 11.8.3 Auf dem Vieleck, das durch die Ecken −1 1 , v1 = , v0 = 1 2 3 2 v4 = , v5 = , −1 −2
0 1 v2 = , v3 = , 0 0 1 −3 v6 = , v7 = −1 −3
und die Kanten vi vj mit i = 0, 1, . . . , 7, j ≡ i + 1 mod 8 begrenzt wird, soll die Funktion f (x, y) = −(−x + 2y)2 − 3y + 5x − 4 minimiert werden. a)
Zeichnen Sie das Vieleck und dessen konvexe H¨ulle.
b)
Weisen Sie nach, dass f konkav ist.
c)
Bestimmen Sie den (die) Minimalpunkt(e).
11.8 Aufgaben zu Optimierungseigenschaften bei Konvexit¨at
309
Aufgabe 11.8.4
x 2 2 Es sei f eine u¨ ber R2 definierte konvexe Funktion. Ω = x + y ≤ 9 sei die Kreisy 0 mit Radius 3. Weiter sei Σ das Achteck (Polygon, kein Polytop) mit den Ecken scheibe um 0 0 2 1 2 0 −2 −1 −2 , , , , , , , . 1 2 0 −2 −1 −2 0 2 Σ hat also die Form eines Sterns mit 0 1 0 −1 • inneren Ecken , , , und 1 0 −1 0 2 2 −2 −2 • a¨ ußeren Ecken , , . , 2 −2 −2 2 Schließlich sei X := Ω \ Int(Σ) ein Zul¨assigkeitsbereich. (Hinweis: Der Stern liegt ganz in Ω und X enth¨alt als abgeschlossene Menge außen den Rand von Ω und innen den Rand von Σ.) ¨ Uber die Funktion f sei Folgendes bekannt: x • F¨ur alle mit x2 + y 2 = 16 (das sind die Kreispunkte mit Radius 4) gilt: y x 7≥f ≥6 y •
x F¨ur alle mit x2 +y 2 = 9 (das sind die Kreispunkte mit Radius 3 bzw. die Randpunkte y von Ω) gilt: x 5≥f ≥ 4,5 y
Fertigen Sie eine Skizze u¨ ber die Lage von Ω, Σ, X und des Kreises mit Radius 4 an und folgern Sie aus den vorliegenden Informationen folgende Tatbest¨ande:
b)
f hat sowohl auf Ω als auch auf X einen Minimalpunkt (ein globales Minimum). x x Geben Sie ein α ∈ R an, f¨ur das gilt: f ≥ α f¨ur alle ∈ X. Weisen Sie diese y y Absch¨atzung nach.
c)
Jedes lokale Minimum in Ω \ Σ ist auch globales Minimum innerhalb von Ω bzw. von X.
d)
Wenn alle vier inneren Ecken von Σ lokale Minima in X sind, dann ist das kleinste dieser vier lokalen Minima ein globales Minimum auf X.
a)
310
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Aufgabe 11.8.5 Betrachten Sie das Minimierungsproblem: min f (x) unter x ∈ Γ Γ sei konvex und f sei eine stark quasikonkave Funktion auf Γ. Zeigen Sie, dass kein innerer Punkt von Γ das Minimierungsproblem l¨osen kann.
Aufgabe 11.8.6 a)
f sei stark quasikonkav auf einem Polytop mit den Ecken x1 , . . . , xk . Dabei gelte f (x1 ) < min{f (x2 ), . . . , f (xk )}. Betrachten Sie das Problem: min f (x) unter x ∈ conv(x1 , . . . , xk ). Zeigen Sie: x1 ist ein eindeutiger globaler Minimalpunkt. Hinweis: Verwenden Sie folgende Definition von starker Quasikonkavit¨at: m f heißt stark quasikonkav (auf Γ = ∅, konvex), wenn f¨ur alle y = i=1 λi yi ∈ Γ mit m i=1 λi = 1, λi ∈ (0, 1) und yi ∈ Γ ∀i gilt: f (y) > min{f (y1 ), . . . , f (ym )}
b)
Beweisen Sie: Auf dem Zul¨assigkeitsbereich (im R2 ), der gegeben ist durch g1 (x) := −x2 +
1 4
− (x1 − 12 )2 ≤ 0, g2 (x) := − 34 − (x1 − 12 )2 + x2 ≤ 0,
g3 (x) := −x1 +
1 4
− (x2 − 12 )2 ≤ 0, g4 (x) := − 34 − (x2 − 12 )2 + x1 ≤ 0,
g5 (x) := −x1 ≤ 0,
g6 (x) := x1 − 1 ≤ 0,
g7 (x) := −x2 ≤ 0,
g8 (x) := x2 − 1 ≤ 0,
wird der eindeutige Minimalwert einer Zielfunktion f in einer Spitze angenommen, wenn f u¨ berall stark quasikonkav ist und wenn eine Spitze des Zul¨assigkeitsbereichs einen echt kleineren Funktionswert bzgl. f als die anderen Spitzen des Zul¨assigkeitsbereichs hat. (Unter Spitzen verstehen wir hier Punkte, in denen zwei Restriktionen straff sind.) Zeichnen Sie zudem den Zul¨assigkeitsbereich.
11.8 Aufgaben zu Optimierungseigenschaften bei Konvexit¨at
311
Aufgabe 11.8.7 Durch
E1 = {x ∈ R2 | (x − x1 ) A (x − x1 ) ≤ 1, A ∈ R(2,2) } T
und durch
E2 = {x ∈ R2 | (x − x2 ) B (x − x2 ) ≤ 1, B ∈ R(2,2) } T
mit positiv definiten, symmetrischen Matrizen A und B werden zwei Ellipsen E1 und E2 mit den Mittelpunkten x1 ∈ R2 und x2 ∈ R2 definiert. E1 , E2 seien disjunkt. 1.
Zeigen Sie, dass T
T
g1 := (x − x1 ) A (x − x1 ) − 1 sowie g2 := (x − x2 ) B (x − x2 ) − 1 konvexe Funktionen sind, und zeigen Sie, dass E1 , E2 konvexe Mengen sind. 2.
Zeigen Sie, dass an jedem Randpunkt xR von E1 eine eindeutige St¨utzhyperebene H1 zu E1 anliegt und dass diese beschrieben wird durch T
T
H1 = {x | ∇g1 (xR ) x = ∇g1 (xR ) xR } 3.
Zeigen Sie, dass es p = 0 ∈ R2 , α ∈ R gibt mit pT y > α ∀y ∈ E1 ,
4.
pT y < α ∀y ∈ E2
Zeigen Sie, dass die k¨urzeste Verbindung von E1 nach E2 (o. B. d. A. laufend von y1 nach y2 ) folgende Eigenschaft hat: ∇g1 (y1 ) = λ · (y2 − y1 ) f¨ur ein λ > 0 ∇g2 (y2 ) = μ · (y1 − y2 ) f¨ur ein μ > 0 (Verbindungsrichtungen entsprechen Gradientenrichtungen)
5.
Stellen Sie ein nichtlineares Gleichungssystem auf, das Ihnen die k¨urzeste Entfernung y1 − y2 mit y1 ∈ E1 , y2 ∈ E2 sowie die Punkte y1 , y2 liefert.
6.
Folgern Sie, dass die k¨urzeste Verbindung zwischen zwei Kreisen u¨ ber eine Gerade f¨uhrt, die die Mittelpunkte der Kreise verbindet.
312
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Aufgabe 11.8.8
Betrachten Sie den folgenden Zul¨assigkeitsbereich X in R2 . x2 8 x1 X= x= x2
g1 (x) ≤ 0, . . . , g5 (x) ≤ 0
7 6
g1 = 0
g2 = 0
5
mit
4
g1 (x) = −ex1 + x2 ≤ 0
3
g2 (x) = −e4−x1 + x2 ≤ 0 2
2
g3 (x) = 2 − (x1 − 1) − (x2 + 0) ≤ 0 g4 (x) = 2 − (x1 − 3)2 − (x2 + 0)2 ≤ 0 g5 (x) = −x2 + 1 ≤ 0
2 1 −1 −1
g3 = 0 1
g4 = 0 2
3
4
g5 = 0 x1 5
−2 a)
Stellen Sie sich vor, Sie h¨atten eine konvexe Funktion f : R2 → R zu minimieren u¨ ber X. Aufgrund von Vor¨uberlegungen beziehungsweise Berechnungen stehe fest, dass bei einem Punkt x bereits ein lokales Minimum vorliegt. Geben Sie dann zu diesem Punkt x eine maximale Teilmenge von X an, in der es dann mit Sicherheit keinen besseren Punkt bez¨uglich f mehr gibt. Spielen Sie dies durch f¨ur: 1 2 2 1 0 2 , xd = √ , xe = , xf = √ xa = 2 , xb = 1 , xc = e e 1 1 2 2
b)
Stellen Sie sich vor, Sie h¨atten eine konvexe Funktion f zu maximieren auf X. Wie gehen Sie vor, um m¨oglichst wenig Rechenaufwand zu haben? Begr¨unden Sie die Korrektheit Ihres Vorgehens.
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at
313
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at L¨osung zu 11.8.1 2 −2 −2 0 2 Γ = conv = conv(A, B, C, D, E) 1 1 −2 −4 −4 B
−2
C
A
1
−1 1 2 −1 conv(A, B, C, D, E) −2 −3 −4 D
E
x ∈ Γ ⇒ x = λ1 · A + λ2 · B + λ3 · C + λ4 · D + λ5 · E mit f konvex, denn ∇f (x1 , x2 ) = (12 · x31 + 4 · x1 , 2 · x2 + 2)T und (36 · x21 + 4) 0 Hf (x1 , x2 ) = ∇2 f (x1 , x2 ) = 0 2 (f konvex auf R2 ⇐⇒ Hf positiv semidefinit ∀ x
#
λi = 1 , λi ≥ 0
positiv definit
(was hier gegeben ist))
Nun gilt ∀ x ∈ Γ: f (x) = f (λ1 · A + λ2 · B + λ3 · C + λ4 · D + λ5 · E) mit
#
λi = 1 , λi ≥ 0
≤ λ1 · f (A) + λ2 · f (B) + λ3 · f (C) + λ4 · f (D) + λ5 · f (E) # ≤ max{f (A), f (B), f (C), f (D), f (E)} · λi =1
Wir m¨ussen also nur die maximale Ecke“ bestimmen. ” f (A) = 48 + 8 + 1 + 2 = 59 = f (B) f (C) = 48 + 8 + 4 − 4 = 56 f (D) = 8 und f (E) = 48 + 8 + 8 = 64 ⇐ maximal L¨osungspunkt ist E mit L¨osungswert 64.
314
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
L¨osung zu 11.8.2 f quasikonvex bei x ⇒ ∀λ ∈ (0, 1) : f (λ · x + (1 − λ) · x) ≤ max{f (x), f (x)} = f (x) (wegen f (x) ≤ f (x)) f differenzierbar ⇒ f (λ · x + (1 − λ) · x) = f (x + λ · (x − x)) = = f (x) + ∇f (x)T (λ · (x − x)) + λ · x − x · α(x, λ · (x − x)) ∀λ ∈ (0, 1], x ∈ Γ mit α(. . . ) → 0 bei λ → 0+ Nun muss auch f (λ · x + (1 − λ) · x) ≤ f (x) sein, denn Γ ist konvex und mit x, x geh¨oren auch die Zwischenpunkte zu Γ. Folglich gilt: 0 ≥ ∇f (x)T λ · (x − x) + λ · x − x · α(x, λ · (x − x)) | : λ 0 ≥ ∇f (x)T (x − x) + x − x · α(x, λ · (x − x)) Der erste Ausdruck rechts ist unabh¨angig von λ, der zweite verschwindet, wenn λ → 0 geht. Also kann ∇f (x)T (x − x) nicht positiv sein.
L¨osung zu 11.8.3
Bei f = −(−x + 2y)2 − 3y + 5x − 4 handelt es sich um eine konkave Funktion, denn −2 4 +2(−x + 2y) + 5 ∇f = und Hf = 4 −8 −2 · 2(−x + 2y) − 3 Die Hesse-Matrix ist eine negativ semi-definite Matrix, da −22 − 8η 2 + 8η = −2(2 − 4η + 4η 2 ) = −2( − 2η)2 ≤ 0 (nur 0 bei = 2η)
• v1
2 v0 •
1 v2
−3
−2
−1 X
−1 −2
v7 •
−3
•
v3 • 1 • v6
2
• v5
3 • v4
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at
315
Nun nimmt bekanntlich eine konkave Funktion ihr Minimum an einer Ecke an (wenn der Zul¨assigkeitsbereich ein Polytop ist). Unser Vieleck ist Teilmenge des Polytops P = conv(v0 , v1 , . . . , v7 ), desPolytops wobei v2 , v3 und v6 inneren Punkte sind. −1 1 3 2 −3 ⇒ Auf P ist einer der Punkte , , , , minimal und deshalb erst 1 2 −1 −2 −3 recht auf unserem Vieleck. Die Erzeugerpunkte sollen ausgewertet werden: 1 −1 f = −32 − 6 + 5 − 4 = −14 f = −32 − 3 − 5 − 4 = −21 2 1 3 2 f = −25 + 3 + 15 − 4 = −11 f = −36 + 6 + 10 − 4 = −24 −1 −2 −3 f = −9 + 9 − 15 − 4 = −19 −3
2 ⇒ Die eindeutige Minimalstelle befindet sich bei , weil jede Konvexkombination aus −2 2 Ecken schlechtere Zielfunktionswerte hat, wenn das Gewicht von < 1 ist. −2
L¨osung zu 11.8.4 a)
f ist als konvexe Funktion u¨ ber R2 stetig auf Int(R2 ), also insbesondere auf ganz Ω und auf X. Beides sind kompakte Mengen (abgeschlossen und konvex). Deshalb nimmt die Funktion f auf beiden Mengen ihr Minimum an. 4 3 2
Ω X
1 Σ
−4 −3 −2 −1 −1 −2 −3 −4
1
2
3
4
316
b)
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
& & & x & x & Aus der Zeichnung ist ersichtlich, dass f¨ur jedes ∈ X der Wert von & & y & zwischen y & & & x & x & ein solcher Punkt von X und & 1 und 3 liegt. Sei nun & y & dessen ”Radius“. Der y x befindet sich auf einer Geraden durch Punkt y 3 0 x x & · & =: z und · , & x & y y 0 & & & y &
4 & & =: Z. & x & & & & y &
Er liegt zwischen 0 und z, aber nicht in (z, Z). Deshalb kann man ihn als Affinkombination von Z und z beschreiben: & & & x & x & = Z + (z − Z) · 4 − & & y & y & & & x & & Der zugeh¨orige Koeffizient −3 + & & y & von Z ist negativ, deshalb haben wir hier eine Extrapolation des Intervalls [Z, z] in Richtung z (bzw. 0). Bei dieser Extrapolation l¨asst sich f in folgender Weise absch¨atzen: & & & x & x & ≥ f (Z) + (f (z) − f (Z)) · 4 − & f & y & y Hierin setzen wir unsere Informationen ein, um eine Unterschranke f¨ur f zu gewinnen & & & x & & f (Z) ≥ 6; −1 ≥ f (z) − f (Z) ≥ −2,5; 1 ≤ 4 − & & y & ≤ 3; x ≥ 6 + (−2,5) · 3 = 6 − 7,5 = −1,5 ⇒f y x x ∈ X gilt f ≥ −1,5 ⇒∀ y y c)
d)
Hat man eine lokales Minimum x in Ω \ Σ, dann gibt es eine Umgebung U (x, ε), so dass auf U (x, ε) ∩ (Ω \ Σ) kein besserer Punkt existiert. Weil x dann auch nicht zum Rand von Σ geh¨ort, kann man dann ein 0 < ε1 ≤ ε so klein w¨ahlen, dass U (x, ε1 ) ∩ Ω vollst¨andig zum Bereich Ω \ Σ geh¨ort ( Ω \ Σ ist offen an der Grenze zu Σ“). Dies beweist aber, dass ” x ein lokales Minimum in Ω selbst ist. Ω ist andererseits konvex und deshalb ist x auch globales Minimum in Ω. Schließlich ist es dann auch global optimal f¨ur X. 1 Ist v eine innere Ecke des Sterns (o. B. d. A. v = ) lokal optimal in X, dann gibt es 0 eine Umgebung U (v, ε) ∩ X, die keinen besseren Punkt enth¨alt. Man betrachtet nun die
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at
317
Menge
1 1 1 + cone , ∩ Ω, M1 := 0 2 −2 1 also den Sektor von X, der ausgeschnitten wird von beiden von abgehenden Kanten0 richtungen. M1 ist eine konvexe Untermenge von X mit U (v, ε) ∩ X = U (v, ε) ∩ M1 .
Also ist v auch lokales Optimum in M1 . Weil aber M1 konvex ist, handelt es sich hier sogar um ein globales Optimum auf M1 . Analog kann man f¨ur −2 2 0 → M2 , + cone −1 −1 −1 −1 −1 −1 + cone , → M3 0 2 −2 −2 2 0 → M4 , + cone 1 1 1 argumentieren. Die Mengen M1 , M2 , M3 , M4 decken dann ganz X ab (je zwei u¨ berlappen sich sogar). Auf jeden Fall ist dann klar, dass jede innere Ecke globaler Minimalpunkt auf ihrer betreffenden Menge ist. Wegen X ⊂ M1 ∪ M2 ∪ M3 ∪ M4 ist aber dann die beste innere Ecke globaler Minimalpunkt.
L¨osung zu 11.8.5 f ist stark quasikonkav. Behauptung: Kein innerer Punkt ist Minimalpunkt. 1)
Wenn es gar keinen Optimalpunkt gibt, dann ist nichts zu zeigen.
2)
Wenn es keine inneren Punkte gibt, dann ist ebenfalls nichts zu zeigen.
3)
Es gebe also Minimalpunkte und innere Punkte. Z. z.: Keiner der inneren Punkte ist minimal. Annahme: Sei x ein innerer Punkt und minimal. x ∈ Int(Γ) ist eine echte Konvexkombination aus zwei Punkten y, z ∈ Γ, also x ∈ (y, z). Weil f stark quasikonkav ist, ergibt sich f (x) > min{f (y), f (z)}. Also ist x kein Minimalpunkt. Widerspruch zur Annahme.
318
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
L¨osung zu 11.8.6 a)
Z. z.: x1 ist eindeutiger globaler Minimalpunkt Annahme: ∃x mit f (x) ≤ f (x1 ), x ∈ conv(x1 , ..., xk ) x ∈ conv(x1 , ..., xk ) ⇒ x =
k k # # λi xi , λi ∈ [0, 1], λi = 1 i=1
Fall 1: λ1 = 1 ⇒ x = x1 Fall 2: ∃i > 1 mit λi = 1 ⇒ x = xi ⇒ f (x) = f (xi ) > f (x1 ) ≥ f (x) Vor.
i=1
(Widerspruch)
Ann.
Fall 3: ∀i : λi < 1 f (x) > min{f (xi ), wobei xi mit λi = 0 in
k #
λi xi steht}
i=1
≥ min{f (x1 ), ..., f (xk )} = f (x1 ) ⇒ f (x) > f (x1 ) Widerspruch zur Annahme ⇒ x in conv(x1 , ..., xk ), x = x1 mit f (x) ≤ f (x1 ) b)
Zeichnung:
g5 (x) ≤ 0
1 ⇔ x2 ≥ − x1 − 4 3 ⇔ x2 ≤ + x1 − 4 1 ⇔ x1 ≥ − x2 − 4 3 ⇔ x1 ≤ + x2 − 4 ⇔ x1 ≥ 0
g6 (x) ≤ 0
⇔
g7 (x) ≤ 0
⇔ x2 ≥ 0
g8 (x) ≤ 0
⇔
g1 (x) ≤ 0 g2 (x) ≤ 0 g3 (x) ≤ 0 g4 (x) ≤ 0
x1 ≤ 1
1 2 1 2 1 2 1 2
2 2 2 2
1.2 0.9 0.6
X
0.3 −0.3 −0.3
0.3 0.6 0.9 1.2
x2 ≤ 1
(a)
nach Zeichnung liegt der Zul¨assigkeitsbereich X im Polytop 0 1 0 1 P = conv , , , . 0 0 1 1
(b)
nach Voraussetzung nimmt die stark quasikonkave Funktion f ihren eindeutigen Minimalwert in einer Spitze des Zul¨assigkeitsbereiches (also in einer Ecke des Polytops P ) an, o. B. d. A. f (v1 ) < min{f (v2 ), f (v3 ), f (v4 )}
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at
319
(c)
betrachte das Problem: min f (x) unter x ∈ P Die Voraussetzungen von Teil a) sind erf¨ullt. ⇒ v1 ist eindeutiger globaler Minimalpunkt f¨ur min f (x) unter x ∈ P
(d)
wegen X ⊆ P und v1 ∈ X ist v1 auch eindeutiger globaler Optimalpunkt f¨ur min f (x) unter x ∈ X.
L¨osung zu 11.8.7 1.
E1 = {x | g1 (x) ≤ 0} ist Niveaumenge zur Funktion g1 zum Niveau 0. Analog ist E2 Niveaumenge zu g2 zum Niveau 0. g1 und g2 sind konvexe Funktionen und zweimal differenzierbar. ∇g1 H1
2.
= 2A(x − x1 ) ∇g2 = 2A H2
= =
2B(x − x2 ) 2B
(positiv definit ⇒ konvex)
⇒ N0 (g1 ) und N0 (g2 ) sind konvexe Mengen. Dazu existieren St¨utzhyperebenen. xR wegen der Differenzierbarkeit von Zum Epigraph von g1 gibt es im Punkt g1 (xR ) = 0 g1 eine SHE mit x T ξ = g (x ) + ∇g (x ) (x − x ) , 1 R 1 R R ξ wobei ∇g1 (xR ) als Subgradient eindeutig bestimmt ist. Daher gibt es nur eine SHE zu xR .
3.
Nach dem Trennungssatz f¨ur konvexe Mengen existiert eine Hyperebene, die E1 und E2 trennt, das heißt ∃p mit inf{pT x | x ∈ E1 } ≥ sup{pT x | x ∈ E2 }. Dies geht sogar strikt, weil E1 , E2 abgeschlossen, konvex und beschr¨ankt sind.
4.
y2 ist n¨achster Punkt aus E2 zu E1 und y1 ist n¨achster Punkt aus E1 zu E2 . Dann ist y2 − y1 orthogonal zur SHE f¨ur E2 bei y2 und y1 − y2 orthogonal zur SHE f¨ur E1 bei y1 . Beide SHE verlaufen also senkrecht zu y1 − y2 und die Normalenvektoren auf SHE sind Gradienten (eindeutig bis auf Vielfaches). ⇒
5.
∇g1 (y1 ) = λ(y2 − y1 ) λ > 0 ∇g2 (y2 ) = μ(y1 − y2 ) μ > 0
Man kommt zur k¨urzesten Verbindung u¨ ber die L¨osung des nichtlinearen Gleichungssystems (y1 − x1 )T A(y1 − x1 ) = 1 y1 ∈ E1 , y2 ∈ E2 gesucht (y2 − x2 )T B(y2 − x2 ) = 1 λ · 2 · A · (y1 − x1 ) = y2 − y1 f¨ur ein λ > 0 μ · 2 · B · (y2 − x2 ) = y2 − y1 f¨ur ein μ < 0
320
6.
III: 11 Konvexit¨at in nichtlinearen Optimierungsproblemen
Man setze f¨ur diesen Zweck A = E, B = E. Dann lautet das Gleichungssystem aus 5. (y1 − x1 )T (y1 − x1 ) = 1 (Kreispunkt) (Kreispunkt) (y2 − x2 )T (y2 − x2 ) = 1 Mit λ > 0 λ(y1 − x1 ) = y2 − y1 (x1 , y1 , y2 liegen auf einer Gerade) Mit μ < 0 μ(y2 − x2 ) = y2 − y1 (x2 , y2 , y1 liegen auf einer Gerade) ⇒ (y1 , y2 ) liegen auf der Geraden zwischen x1 und x2
L¨osung zu 11.8.8 a)
Bei einem konvexen f ist jede Richtung abgesichert, in die man eine echt positive Bewegung machen kann. 2 −e und die Tangente xa : Steigung zu g1 betr¨agt e2 . Damit ergibt sich ein Gradient 1 −1 1 . Analog berechnet sich zu g2 die Tangente . −e2 −e2 Der Sicherheitsbereich lautet somit −1 1 2 + cone , ∩ X. −e2 −e2 e2 xb : Hier ergibt der Gradient
1 −e . Der abgesicherte Bereich lautet daher 1
$ ' T 1 1 T x −e 1 −e1 x ≤ = 0 ∩ X. 1 x2 1 e1 xc : Es ist keine Bewegung m¨oglich außer senkrecht zu den beiden Gradienten x1 −1 −2(x1 − 1) 2 −e . = und = 2 −2 1 −2x 1 Senkrecht dazu ist
1 0 . Also ist man in bez¨uglich 1 1 0 1 + R+ · ∩X 0 1 1
sicher optimal. xd : Da hier nur g3 straff ist, betrachten wir den Gradient
0√ −2(x1 − 1) . = −2x2 −2 2
11.9 L¨osungen zu Optimierungseigenschaften bei Konvexit¨at
321
Gesichert ist daher die Menge $ ' T 1 0√ x x ≤ −4 ∩ X. x2 −2 2 xe : Hier sinddie Restriktionen g3 , g4 und g5 straff. Damit erhalten wir die Gradienten 0 −2 2 , und . Der abgesicherte Bereich lautet daher: −1 −2 −2 2 1 −1 + cone , ∩X 1 1 1 xf : Da es sich hier um einen inneren Punkt handelt, sind Bewegungen nach allen Seiten m¨oglich. Somit ist der Zul¨assigkeitsbereich X ganz abgesichert. b)
Ein Maximum zu einer konvexen Funktion findet man auf den Extremalpunkten der konvexen H¨ulle. Hier ist die konvexe H¨ulle von X das Dreieck 0 4 2 ⊃ X. conv , , 2 1 1 e Das Maximumkann dort liegen. alle drei Extremalpunkte liegen auch in X. nur Aber 0 4 2 optimal f¨ur X. Es sind somit nur Somit ist max f ,f ,f 1 1 e2 diese drei Werte zu berechnen.
Kapitel 12
Optimalit¨atskriterien In diesem Kapitel besch¨aftigen wir uns mit der Frage, woran man rechnerisch Optimalpunkte erkennen kann, genauer gesagt die lokalen Optimalpunkte finden kann. Dabei werden wir, weil dies so einfach nicht beantwortet werden kann, unterscheiden m¨ussen zwischen •
notwendigen Optimalit¨atskriterien (das sind Eigenschaften, die ein Punkt auf jeden Fall aufweisen muss, wenn er Anspruch auf (lokale) Optimalit¨at erhebt)
•
hinreichenden Optimalit¨atskriterien (das sind Eigenschaften, aus denen die Optimalit¨at zwingend resultiert).
Die erste Art von Kriterien ist f¨ur den Aufwand der L¨osung sehr wichtig. Sie kann n¨amlich f¨ur ein Ausschlussverfahren benutzt werden. Punkte, die diese Kriterien nicht erf¨ullen, m¨ussen nicht mehr weiter untersucht werden. Bei der zweiten Art k¨onnen wir die Behandlung und Untersuchung im Fall der Erf¨ulltheit der Kriterien auch abbrechen, denn hier steht damit die lokale Optimalit¨at bereits fest. Im ersten Abschnitt dieses Kapitels besch¨aftigen wir uns zun¨achst mit Problemen u¨ ber ganz Rn , also ohne Nebenbedingungen. Hier laufen die Kriterien darauf hinaus, dass der Gradient verschwindet und/oder dass die Hesse-Matrix positiv definit wird. Zum Studium von Problemen mit Nebenbedingungen werden die Fritz-John-Bedingungen und die Karush-Kuhn-TuckerBedingungen formuliert und beleuchtet. Fritz-John-Bedingungen erweisen sich als notwendig f¨ur lokale Optimalit¨at, sie sind aber oft zu wenig selektiv, weil hiermit die Kriterien ohne R¨ucksicht auf die Zielfunktion erf¨ullt werden k¨onnen. Sch¨arfer sind die Karush-Kuhn-TuckerBedingungen. Allerdings sind sie nicht von sich heraus notwendig, sondern nur dann, wenn noch gewisse Constraint-Qualifications (CQs) erf¨ullt sind. Unter gewissen Konvexit¨atsanforderungen erweisen sich die KKT-Bedingungen auch als hinreichend. Im zweiten Abschnitt werden dann solche Constraint-Qualifications und ihre Erf¨ulltheit untersucht. Die gegenseitige logische Abh¨angigkeit der Constraint-Qualifications bildet auch einen weiteren Schwerpunkt dieses Abschnitts.
324
III: 12 Optimalit¨atskriterien
12.1 Karush-Kuhn-Tucker-Theorie Wir geben zun¨achst ein notwendiges Kriterium f¨ur lokale Optima an.
Satz 12.1 f sei differenzierbar bei x. Wenn es einen Vektor d ∈ Rn mit ∇f (x)T d < 0 gibt, so gilt: ∃δ > 0
mit f (x + λd) < f (x)
∀ λ ∈ (0, δ).
Dann nennen wir d eine Abstiegsrichtung von f bei x. Folglich kann x nur dann lokales Minimum sein, wenn kein solcher Vektor d existiert, das heißt wenn ∇f (x) = 0.
Dies war eine Bedingung erster Ordnung, nun kommen wir zu einer Bedingung zweiter Ordnung.
Satz 12.2 f sei zweimal differenzierbar bei x. Wenn x ein lokaler Minimalpunkt sein soll, dann muss gelten: (a)
∇f (x) = 0.
(b)
H(x) ist positiv semidefinit.
Jetzt suchen wir nach hinreichenden Bedingungen.
Satz 12.3 Sei f zweimal differenzierbar. Ist ∇f (x) = 0 und H(x) positiv definit, dann stellt x einen lokalen Minimalpunkt dar.
Ist f pseudokonvex, so reicht bereits ∇f (x) = 0 aus, um die globale Optimalit¨at von x zu beweisen.
Satz 12.4 Sei f pseudokonvex bei x. x ist genau dann globaler Minimalpunkt f¨ur (M P0 ), wenn ∇f (x) = 0 gilt.
Interessanter gestaltet sich die Analyse von Optimierungsproblemen, wenn der Zul¨assigkeitsbereich durch Nebenbedingungen/Restriktionen eingeschr¨ankt ist und deshalb auch Randpunkte als Optimalit¨atskandidaten zur Verf¨ugung stehen. Von nun an betrachten wir die Minimierungsprobleme (M P ) und (LM P ):
12.1 Karush-Kuhn-Tucker-Theorie
325
Um rechnerisch u¨ ber (lokale) Minimalit¨at von x entscheiden zu k¨onnen, untersucht man anhand des Zielfunktionsverlaufs bei x und der Art der dort straffen Restriktionsfunktionen die Nachbarschaft von x. Dabei betrachtet man zur Vereinfachung verschiedene Kegel, die f¨ur die Optimalit¨atsfrage entscheidend sind.
Definition 12.5 Sei f differenzierbar bei x ∈ Γ. Dann definieren wir F := {d | ∇f (x)T d < 0} und nennen F den Kegel der verkleinernden Richtungen.
Definition 12.6 Sei x ∈ X ⊆ Rn , X = ∅. Dann heißt D = {d | d = 0 und ∃ δ(d) > 0 mit x + λd ∈ X ∀ λ ∈ (0, δ)} der Kegel der zul¨assigen Richtungen f¨ur X bei x.
Definition 12.7 Sei Γ = ∅ offen, x zul¨assig f¨ur (M P ) und I die Indexmenge der bei x straffen Restriktionen, das heißt I = {i | gi (x) = 0, i = 1, . . . , m}. Sind alle gi (f¨ur i ∈ I) differenzierbar bei x, dann sei ⎛ T⎞ ∇gi1 ⎜ .. ⎟ GI = {d | ∇gI d < 0} mit ∇gI = ⎝ . ⎠ wenn I = {i1 , . . . , ik } ∇giTk der Kegel der Gradientenabstiegsrichtungen.
Mit diesen geometrischen Gr¨oßen ergibt sich die Erkenntnis, dass im Kegel der verkleinernden Richtungen F bei lokaler Minimalit¨at weder Richtungen von D noch von GI vorkommen d¨urfen.
Satz 12.8 Sei f differenzierbar bei x ∈ Γ. Ist x lokaler Minimalpunkt, dann gilt F ∩ D = ∅.
326
III: 12 Optimalit¨atskriterien
Satz 12.9 Sei Γ = ∅ offen. Betrachte (M P ). x sei daf¨ur zul¨assig, f und gI differenzierbar bei x und g{1,...,m}\I zumindest stetig bei x. Ist dann x lokal optimal, so gilt: F ∩ GI = ∅.
Beobachtung: Das Vorliegen des notwendigen Optimalit¨atskriteriums hat im Allgemeinen keine hinreichende Wirkung. Aus diesen Erkenntnissen l¨asst sich ein Optimalit¨atskriterium in Form der sogenannten FritzJohn-Bedingungen formulieren.
Definition 12.10 Γ = ∅ sei offen. Zu l¨osen sei (M P ) mit f, g1 , . . . , gm . x sei zul¨assig und f, gI seien differen/ I) seien bei x stetig. zierbar bei x , die gi (i ∈ (a)
Man sagt, dass x die Fritz-John-Bedingungen erf¨ullt, wenn u0 , ui ∀ i ∈ I existieren mit: u0 ∇f (x) + ui ∇gi (x) = 0 i∈I
u0 , ui
≥
(u0 , uI ) = (b)
0
∀i ∈ I
(0, 0, . . . , 0).
Sind zus¨atzlich auch die gi mit i ∈ / I bei x differenzierbar, dann erf¨ullt x die Fritz-JohnBedingungen, wenn u0 , ui ∀ i = 1, . . . , m existieren mit: u0 ∇f (x) +
m
ui ∇gi (x) = 0
i=1
ui gi (x) = 0
∀ i = 1, . . . , m
≥ 0
∀ i = 1, . . . , m
u 0 , ui
(u0 , u) = (0, 0, . . . , 0).
Und es l¨asst sich einfach zeigen, dass lokale Optimalpunkte diese Bedingung erf¨ullen m¨ussen.
Satz 12.11 (Notwendigkeit der Fritz-John-Bedingungen) Γ = ∅ sei offen. Zu l¨osen sei (M P ) mit f, g1 , . . . , gm . x sei zul¨assig und f, gI seien differenzier/ I) seien bei x stetig. Wenn nun x (LM P ) l¨ost, dann erf¨ullt x die Fritzbar bei x. Die gi (i ∈ John-Bedingungen gem¨aß Definition (12.10) (a) bzw. (b).
Eine Schw¨ache der Fritz-John-Bedingung resultiert aus der Gleichbehandlung von Zielfunktion und Restriktionsfunktionen mit der Konsequenz, dass u0 = 0 sein k¨onnte und damit einem
12.1 Karush-Kuhn-Tucker-Theorie
327
Punkt x die Erf¨ullung der Bedingung attestiert werden kann, ohne dass die Zielfunktion u¨ berhaupt ber¨ucksichtigt wird. Diese Schw¨ache tritt nicht auf bei den folgenden Karush-Kuhn-Tucker-Bedingungen.
Definition 12.12 (Karush-Kuhn-Tucker-Bedingungen) Γ = ∅ sei offen. Zu l¨osen sei (M P ) mit f, g1 , . . . , gm . x sei zul¨assig und f, gI seien differen/ I) seien bei x stetig. zierbar bei x. Die gi (i ∈ (a)
Man sagt, dass x die Karush-Kuhn-Tucker-Bedingung bzw. die KKT-Bedingungen erf¨ullt, wenn ui ∀ i ∈ I existieren mit: ui ∇gi (x) = 0 ∇f (x) + i∈I
ui (b)
≥
0 ∀ i ∈ I.
Sind zus¨atzlich auch die gi mit i ∈ / I bei x differenzierbar, dann erf¨ullt x die KarushKuhn-Tucker-Bedingung, wenn ui ∀ i = 1, . . . , m existieren mit: ∇f (x) +
m
ui ∇gi (x)
= 0
ui gi (x)
= 0
∀ i = 1, . . . , m
ui
≥ 0
∀ i = 1, . . . , m.
i=1
¨ Leider handelt man sich durch den Ubergang zu diesen KKT-Bedingungen einige Nachteile ein. Und zwar werden diese Kriterien nur dann notwendig, wenn gewisse Zusatzbedingungen (Constraint-Qualifications) erf¨ullt sind. Der folgende Satz zeigt beispielhaft die Wirkung von solchen Constraint-Qualifications.
Satz 12.13 Γ = ∅ sei offen. Betrachte (M P ) mit zul¨assigem x. g sei differenzierbar bei x. Unter gewissen Constraint-Qualifications (CQs) kann ausgeschlossen werden, dass u0 in der Fritz-John-Bedingung 0 wird. Dann folgt: Wenn x (LM P ) l¨ost, dann erf¨ullt es notwendigerweise die Karush-Kuhn-Tucker-Bedingungen. / I) Eine CQ, die dies leistet, ist die LU-CQ: die ∇gi (x) mit i ∈ I sind linear unabh¨angig, gi (i ∈ seien bei x stetig, Γ offen.
Sind auch Gleichungsrestriktionen mit im Spiel, dann ver¨andert sich diese Aussage wie folgt:
328
III: 12 Optimalit¨atskriterien
Satz 12.14 (Notwendigkeit der KKT-Bedingungen bei Gleichungsrestriktionen) Γ = ∅ sei offen, x zul¨assig. f und g seien differenzierbar bei x und hj (j = 1, . . . , ) seien stetig differenzierbar. Unter der LU-CQ: {∇gi (x), ∇hj (x) | i ∈ I, j ∈ {1, . . . , }} sind linear unabh¨angig; gilt:
Wenn x (LM P ) l¨ost, so gibt es ui , vj ∈ R mit ∇f (x) +
m
i=1
ui ∇gi (x) +
j=1
vj ∇hj (x) ui gi (x) hj (x) ui
= = = ≥
0 0 0 0
∀ i = 1, . . . , m . ∀ j = 1, . . . , ∀ i = 1, . . . , m
Die umgekehrte Fragestellung – n¨amlich wie definitiv die Optimalit¨at nachgewiesen werden kann – wird in den folgenden beiden S¨atzen behandelt.
Satz 12.15 (Die KKT-Bedingungen sind hinreichend) Γ = ∅ sei offen und x zul¨assig. f sei pseudokonvex bei x, gi sei quasikonvex ∀ i ∈ I(x) und differenzierbar bei x. Ist dann x ein KKT-Punkt, so ist x globale (M P )-L¨osung.
Die allgemeine Problemstellung min unter
f (x) gi (x) hj (x)
≤ 0 = 0
i = 1, . . . , m j = 1, . . . ,
l¨asst sich analog behandeln. Man kann daf¨ur zeigen:
Satz 12.16 (KKT hinreichend bei Gleichungsnebenbedingungen) Γ = ∅ sei offen und x sei zul¨assig. Ferner sei die KKT-Bedingung bei x erf¨ullt, das heißt ∃ui , vj mit ∇f (x) + m i=1 ui ∇gi (x) + j=1 vj ∇hj (x) = 0 ∀ i = 1, . . . , m ui gi (x) = 0 ∀ j = 1, . . . , hj (x) = 0 ∀ i = 1, . . . , m. ui ≥ 0 Sei weiterhin J+ := {j | vj > 0}, J− := {j | vj < 0}. Sind dann bei x f pseudokonvex, gI quasikonvex, hJ+ quasikonvex und hJ− quasikonkav, so l¨ost x das Problem (M P ).
12.2 Aufgaben zu Karush-Kuhn-Tucker
329
12.2 Aufgaben zu Karush-Kuhn-Tucker Aufgabe 12.2.1 Berechnen Sie die Minimalpunkte und Minimalwerte der Funktion ⎛ ⎞ ⎛ ⎞ 3 0 −1 −1 1 T f (x) = x Qx − q T x mit Q = ⎝ 0 1 0 ⎠ und q = ⎝ 4 ⎠ . 2 −1 0 2 0
Aufgabe 12.2.2 Betrachten Sie das Minimierungsproblem min f (x) unter Ax ≤ b. Sei x eine zul¨assige L¨osung mit A1 x = b1 und A2 x < b2 , wobei AT = (AT1 , AT2 ) und bT = (bT1 , bT2 ). Weiterhin sei f differenzierbar und die Matrix A1 habe vollen Zeilenrang. Die Projektionsmatrix P , die jeden Vektor auf den Kern von A1 projeziert, ist gegeben durch P = I − AT1 (A1 AT1 )−1 A1 . a)
Sei d = −P ∇f (x) und es gelte d = 0. Zeigen Sie, dass d eine Abstiegsrichtung ist.
b)
Sei d wie in a) definiert, aber es gelte d = 0. Sei u = −(A1 AT1 )−1 A1 ∇f (x) ≥ 0. Zeigen Sie, dass x und u im Zusammenspiel die Karush-Kuhn-Tucker-Bedingungen erf¨ullen.
Aufgabe 12.2.3 Gegeben seien m verschiedene St¨utzstellen yi und m Messwerte zi , i = 1, 2, . . . , m. Gesucht ist ein Polynom p vom Grade r ≤ m − 1, f¨ur das die Quadratsumme der Abst¨ande p(yi ) − zi minimal wird. Formulieren Sie die Aufgabe als Optimierungsproblem. Geben Sie u¨ ber die Optimalit¨atsbedingungen 1. Ordnung ein lineares Gleichungssystem an, aus dem die Koeffizienten des optimalen p bestimmt werden k¨onnen. Handelt es sich hierbei um eine zugleich notwendige und hinreichende Bedingung?
Aufgabe 12.2.4 Gegeben sei das Optimierungsproblem min unter
f (x) := n
n
fi (xi )
i=1
xi − 1 = 0 und x ≥ 0
i=1
mit differenzierbaren Funktionen fi : R → R. Sei x = (x1 , ..., xn ) ein lokaler Optimalpunkt.
330
III: 12 Optimalit¨atskriterien
Zeigen Sie, dass ein α ∈ R existiert mit ∇f (x) ≥ α · 1 und (∇f (x) − α · 1)T x = 0
Aufgabe 12.2.5
Sei X := {x ∈ Rn |Bx ≤ d} = ∅. Betrachten Sie das Minimierungsproblem min xT AT Ax + cT x
unter Bx ≤ d
(M P )
Zeigen Sie: Die Zielfunktion von (M P ) ist genau dann unbeschr¨ankt nach unten auf dem Zul¨assigkeitsbereich, wenn kein KKT-Punkt existiert.
Aufgabe 12.2.6 Gegeben sei das Minimierungsproblem min unter
mit a) b)
1 1 1 + + x1 x2 x3 x1 + x2 + x3 ≤ 1 1 x1 , x2 , x3 ≥ 10 Γ = {x | x > 0}
Geben Sie die KKT-Bedingungen an und bestimmen Sie alle KKT-Punkte.
Zeigen Sie, dass 13 , 13 , 13 ein globaler Minimalpunkt ist.
Aufgabe 12.2.7 Gegeben sei das Optimierungsproblem: max unter
(x1 − 1)2 + x22 −1 ≤ x2 ≤ 2 (x1 + 3)2 + x22 ≤ 25
−(x1 + 2)3 ≤ x2 ≤ (x1 + 2)3
5 4 3 A 2 E 1 −8−7−6−5−4−3−2−1 −1 D −2 −3 −4 −5
B
1 2 C
Die Differenzierbarkeit der Zielfunktion und der Nebenbedingungsfunktionen kann vorausgesetzt werden und muss nicht nachgewiesen werden.
12.3 L¨osungen zu Karush-Kuhn-Tucker
a)
331
Pr¨ufen Sie, ob die Restriktionsschnittpunkte A=
√
√ 1 −1 −2 21 − 3 24 − 3 23 − 2 ,C= ,D= ,E= ,B= −1 0 2 −1 2
KKT-Punkte sind und ermitteln Sie die Zielfunktionswerte. b)
Zeigen Sie, dass Punkt E der globale Maximalpunkt ist, indem Sie den Zul¨assigkeitsbereich aufgrund der Zeichnung (ohne weiteren Nachweis) in ein geeignetes Polytop einbetten und diesen Punkt als globalen Maximalpunkt auf dem so erweiterten Zul¨assigkeitsbereich nachweisen.
12.3 L¨osungen zu Karush-Kuhn-Tucker L¨osung zu 12.2.1 Wir bekommen einen Minimalpunkt, wenn wir ein x mit ∇f (x) = 0 finden, denn f ist eine quadratische Funktion f = 12 · xT Qx − q T x mit positiv definitem Q. Q ist positiv definit, denn 3x21 + x22 + 2x23 − 1x1 x3 − 1x3 x1 = (x21 − 2x1 x3 + x23 ) + 2x21 + x22 + x23 =
=(x1 − x3 )2 + 2x21 + x22 + x23 > 0
∀ x ∈ R3 \ {0}
⇒ Um ∇f (x) = 0 zu erhalten, brauchen wir ein x mit Qx = q. Dies ergibt die Minimalstelle ⎞⎛ ⎞ ⎛ ⎞ −1 3 0 −1 x1 ⎝ 0 1 0 ⎠ ⎝x2 ⎠ = ⎝ 4 ⎠ ⇒ x2 = 4 0 x3 −1 0 2
1
1 x1 1 3 −1 x1 −1 −3 1 −3 ⇒ = ⇒ = x3 −1 2 x3 0 0 −1 2 0
1 1 1 1 1 − = − ⇒ x1 = − 1+ ⇒ x3 = − ⇒ x1 − 5 3 5 3 3 ⎛
− 31 5
1 5
3
x1 x3
=−
1 −3 = − 13
2 5
⎛
⎞ − 52 Also ist ⎝ 4 ⎠ die Minimalstelle mit Minimalwert: − 15 1 2 =
1 2
⎞ ⎛ 2 ⎞ ⎛ ⎞T ⎛ 2 ⎞ −1 −5 3 0 −1 −5 2 1 ⎝ · − , 4, − 0 1 0 ⎠⎝ 4 ⎠−⎝ 4 ⎠ ⎝ 4 ⎠ = 5 5 0 −1 0 2 − 15 − 15 ⎛ ⎞ ⎛ ⎞T ⎛ 2 ⎞
−1 −1 − 2 1 ⎝ ⎠ ⎝ ⎠ ⎝ 5⎠ 1 2 2 41 · − , 4, − + 16 − + 16 = − 4 = · 4 − 4 5 5 2 5 5 5 1 0 0 −5
⎛
332
III: 12 Optimalit¨atskriterien
L¨osung zu 12.2.2 a)
Wir m¨ussen zeigen, dass ∇f (x)T d < 0 gilt. ∇f (x)T d = −∇f (x)T P ∇f (x)
weil P eine Projektion ist
=
−∇f (x)T P T P ∇f (x) =
= −P ∇f (x)2 = −d2 < 0 ⇒ Abstiegsrichtung b)
u = −(A1 AT1 )−1 A1 ∇f (x) ≥ 0, d = 0 Z. z.: (x, u) erf¨ullt KKT. Es gilt n¨amlich ∇f (x) +
n
μi · ∇gi (x) = 0 und μi · gi (x) = 0 , μi ≥ 0 ∀i ⇔
i=1 T
∇f (x) + AT1 μ1 + AT2 μ2 = 0 und (A1 x − b1 )T μ1 = 0, (A2 x − b2 ) · μ2 = 0, μ ≥ 0 ( 10 KKT: 1 + u1 = 0 x21 1 − 2 + u1 = 0 x2 1 − 2 + u1 = 0 x3
−
⇒x21 = x22 = x23 = 1 ⇒xi = √ u1
1 1 > 0) (wegen xi > u1 10
3 ⇒x1 + x2 + x3 = √ = 1 u1 √ 1 ⇒ u1 = 3 ⇒ u1 = 9 und x1 = x2 = x3 = 3
336
III: 12 Optimalit¨atskriterien
⎛1⎞ 3
Damit ist ⎝ 13 ⎠ ein KKT-Punkt. 1 3
b)
g1 ist locker, (o. B. d. A.) g2 ist straff, g3 , g4 sind locker. ⇒ u1 = u3 = u4 = 0 1 9 ⇒ x2 + x3 < 10 , x2 , x3 > also x1 + x2 + x3 < 1, x1 = 10 KKT: ⎞ ⎛ ⎛ ⎞ ⎛ ⎞ −100 −1 0 ⎜ − 12 ⎟ ⎝ x2 ⎠ + u2 ⎝ 0 ⎠ = ⎝0⎠ 0 0 − x12
1 10
3
geht nicht, weil x2 , x3 > 0 bzw. u2 = −100. (g3 , g4 gehen analog) 4.)
(Widerspruch)
genau zwei Restriktionen sind straff a)
(O. B. d. A.) g1 , g2 sind straff, g3 , g4 sind locker. ⇒ u3 = u4 = 0 also x1 =
1 10
KKT: ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −100 −u2 0 u1 1 ⎜− 2 ⎟ ⎝ ⎠ ⎝ 0 ⎠ = ⎝0⎠ ⎝ x2 ⎠ + u 1 − − x12 u1 0 0 3
1 1 1 = 2 , x2 = x3 = √ x22 x3 u1 1 1 + 2√ ⇒ 1 = x1 + x2 + x3 = 10 u1 1 9 400 ⇒ u1 = ⇒√ = u1 20 81 9 400 und u2 = −100 + u1 = −100 + 0}. ⎛1⎞ 3
g ist linear ⇒ g ist quasikonvex. Deshalb ist x = ⎝ 13 ⎠ optimal. 1 3
L¨osung zu 12.2.7 max f (x) = (x1 − 1)2 + x22
∇f (x)T = (2x1 − 2, 2x2 )
g1 (x) = −x2 − 1 ≤ 0
∇g1 (x)T = (0, −1)
g3 (x) = x2 − 2 ≤ 0
∇g2 (x)T = (0, 1)
g3 (x) = (x1 + 3)2 + x22 − 25 ≤ 0
∇g3 (x)T = (2x1 + 6, 2x2 )
g4 (x) = −(x1 + 2)3 − x2 ≤ 0
∇g4 (x)T = (−3(x1 + 2)2 , −1)
g5 (x) = x2 − (x1 + 2)3 ≤ 0
∇g5 (x)T = (−3(x1 + 2)2 , 1)
338
III: 12 Optimalit¨atskriterien
A: straff sind g2 , g5 , B: straff sind g2 , g3 , C: straff sind g1 , g3 , D: straff sind g1 , g4 , E: straff sind g4 , g5 , a)
1.)
locker sind g1 , g3 , g4 locker sind g1 , g4 , g5 locker sind g2 , g4 , g5 locker sind g2 , g3 , g5 locker sind g1 , g2 , g3
⎫ ⎪ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎪ ⎭
⇒ alle zul¨assig
A KKT-Punkt? −∇f (A) + u2 · ∇g2 (A) + u5 · ∇g5 (A) = 0, u2 , u5 ≥ 0
1 1 0 0 −3 · 2 3 − 6 2 · 23 − 6 + u5 + u2 = ⇒− 1 0 4 1 1
⇒ u5 =
6 − 2 · 23 − 6
> 0, 1 3 · 23 1 1 1 12 · 2 3 − 6 + 2 · 2 3 − 6 10 · 2 3 − 6 = >0 u2 = 4 − u5 = 1 1 3 · 23 3 · 23 ⇒ A KKT-Punkt 2.)
B KKT-Punkt? −∇f (B) + u2 · ∇g2 (B) + u3 · ∇g3 (B) = 0, u2 , u3 ≥ 0
√ √ 0 0 2 · 21 2 · 21 − 8 + u3 + u2 = ⇒− 1 0 4 4 √ √ 2 · 21 − 8 2 · 21 − 8 √ √ ⇒ u3 = > 0, u2 = 4 − 4 · >0 2 · 21 2 · 21 ⇒ B KKT-Punkt
3.)
C KKT-Punkt? −∇f (C) + u1 · ∇g1 (C) + u3 · ∇g3 (C) = 0, u1 , u3 ≥ 0
√ √ 0 0 2 · 24 − 8 2 · 24 − 8 + u1 = + u3 ⇒− 0 −1 −2 −2 √ √ 2 · 24 − 8 2 · 24 − 8 √ √ ⇒ u3 = > 0, u1 = 2 − 2 · u3 = 2 − 2 · >0 2 · 24 2 · 24 ⇒ C KKT-Punkt
4.)
D KKT-Punkt? −∇f (D) + u1 · ∇g1 (D) + u4 · ∇g4 (D) = 0, u1 , u4 ≥ 0 0 0 −3 −4 + u4 = ⇒− + u1 0 −1 −1 −2 4 2 ⇒ u4 = > 0, u1 = 2 − u4 = > 0 3 3
12.4 Theorie der Constraint-Qualifications
339
⇒ D KKT-Punkt 5.)
E KKT-Punkt? −∇f (E) + u4 · ∇g4 (E) + u5 · ∇g5 (E) = 0, u4 , u5 ≥ 0 0 0 0 −6 + u5 = + u4 ⇒− 0 −1 1 0 ⇒6+0=0
(Widerspruch)
⇒ E kein KKT-Punkt b)
Einbettung in ein Polytop mit den Ecken: A, B, C, F = Zul¨assigkeitsbereich ⊆ conv(A, D, E, F, G) 5 4 3 A 2 E 1 −8−7−6−5−4−3−2−1 −1 D −2 −3 −4 −5
B
2 2 ,G = 2 −1
F
1 2 C G
f konvex ⇒ f quasikonvex Bekannt: f nimmt Maximum an einer Ecke an. 1
f (A) = (2 3 − 3)2 + 4 ≤ 8
f (F ) = 1 + 4 = 5
f (G) = 1 + 1 = 2
f (D) = 4 + 1 = 5
f (E) = 9 ⇒ E globales Maximum auf Polytop ⇒ E globales Maximum auf dem (kleineren) Zul¨assigkeitsbereich
12.4 Theorie der Constraint-Qualifications Dieser Abschnitt er¨ortert die vielf¨altige M¨oglichkeit, Constraint-Qualifications zu formulieren, um die KKT-Bedingungen notwendig f¨ur lokale Optimalit¨at zu machen. Wir beschr¨anken uns auf Ungleichungs-Nebenbedingungen. Zu diesem Zweck ist die Betrachtung weiterer Kegel n¨utzlich.
340
III: 12 Optimalit¨atskriterien
Definition 12.17 Γ = ∅ sei eine Teilmenge von Rn und x ∈ Γ. Der Tangentialkegel T zu Γ bei x ist der Kegel, der aufgespannt wird von allen Richtungen d = 0 mit: d = lim λk (xk − x) k→∞
wobei xk → x und λk =
1 , xk = x, xk ∈ Γ xk − x
∀ k.
Mit diesem Kegel T kann man a¨ hnlich operieren wie mit D oder GI . Satz 12.18 Γ = ∅, x ∈ Γ. f sei differenzierbar bei x. Wenn x (LM P ) l¨ost, dann gilt F ∩ T = ∅. Und aus dieser Erkenntnis ergibt sich die Abadie-CQ Definition 12.19 Sei Γ = ∅, x zul¨assig, f und gI seien bei x differenzierbar. Dann lautet die Abadie-CQ: T = G≤ I := {d | ∇gI (x)d ≤ 0}.
Satz 12.20 Sei Γ = ∅, x zul¨assig, f und gI seien bei x differenzierbar. Falls die Abadie-CQ gilt, haben wir: Falls x (LM P ) l¨ost, dann gibt es uI ≥ 0 mit ∇f (x)T + uTI ∇gI (x) = 0. Diese CQ greift insbesondere bei Problemen mit linearen Nebenbedingungen. Bemerkung Sei X = {x | Ax ≤ b}, x ∈ X mit AI x = bI und AI x < bI . Dann gelten bei LM P -L¨osungen x auch die Abadie-CQ und damit auch die KKT-Bedingungen, falls f differenzierbar ist. Ein weiterer Kegel, der a¨ hnlich benutzt werden kann, ist der Kegel der annehmbaren Richtungen. Definition 12.21 Der Kegel A der annehmbaren Richtungen ist definiert als A = d ∃δ > 0 und γ : R → Rn mit γ ist stetig und γ(λ) ∈ Γ ∀ λ ∈ (0, δ) γ(λ) − γ(0) γ(0) = x, lim =d . λ→0+ λ
12.5 Aufgaben zu Constraint-Qualifications
341
Es muss also eine auf x zulaufende Kurve in Γ mit Kr¨ummungs-Endverhalten d geben. Das folgende Lemma beschreibt Inklusionen der beteiligten Kegel.
Lemma 12.22 Sei Γ = ∅, x zul¨assig und gI differenzierbar bei x. Dann gilt: D ⊆ A ⊆ T ⊆ G≤ I Falls Γ offen und gI stetig bei x ist, so gilt GI ⊆ D, woraus folgt: GI ⊆ D ⊆ A ⊆ T ⊆ G≤ I ≤ Beachte, dass sehr wohl der Fall auftreten kann, wo GI = ∅ und G≤ I = ∅ und damit GI = GI gilt. Unter welchen Zusatzbedingungen (CQs) w¨are jetzt also z. B. KKT notwendig? Die folgende Liste gibt eine Kurzfassung der erw¨ahnten CQ-Beziehungen.
Definition 12.23 (Constraint-Qualifications) Slater-CQ: Γ offen, gI pseudokonvex bei x, gI stetig bei x. Es gibt ein x ∈ Γ mit gI (x) < 0. Lineare Unabh¨angigkeits-CQ: Γ offen, gI stetig bei x, {∇gi (x) | i ∈ I} linear unabh¨angige Menge. Cottle-CQ: Γ offen, gI stetig, GI = G≤ I . Zangwill-CQ: D = G≤ I . Kuhn-Tucker-CQ: A = G≤ I . Abadie-CQ: T = G≤ I .
12.5 Aufgaben zu Constraint-Qualifications Aufgabe 12.5.1
Sei A eine m × n Matrix, G0 = {d | Ad < 0} und G = {d | Ad ≤ 0}. Zeigen Sie: a)
G0 ist ein offener, konvexer Kegel.
b)
G ist ein abgeschlossener, konvexer Kegel.
c)
Geben Sie ein Beispiel f¨ur G0 = G und ein Beispiel f¨ur G0 = G an.
d)
Zeigen Sie: G0 = ∅ ⇒ G0 = G .
342
III: 12 Optimalit¨atskriterien
Aufgabe 12.5.2 Betrachten Sie ein Minimierungsproblem min f (x) unter g1 (x) ≤ 0, x ∈ Γ ⊂ R2
−1 1 0 0 mit g1 (x) = x21 + x22 − 1 und Γ = conv , , , . 0 0 1 −1 1 sowie a) Bestimmen Sie den Tangentialkegel T zu X bei x = 0 ≤
GI = {d | ∇g1 (x)T d ≤ 0} ≤
und u¨ berpr¨ufen Sie, ob T = GI gilt. (X bezeichnet den Zul¨assigkeitsbereich, das heißt X = { x ∈ Γ | g1 (x) ≤ 0}.) b)
Ersetzen Sie nun die Menge Γ durch vier Ungleichungsnebenbedingungen. Sie erhalten damit ein Minimierungsproblem der Form min f (x) unter gi (x) ≤ 0
i = 1, . . . , 5 und x ∈ Rn .
Bestimmen Sie wiederum den Tangentialkegel T zu X bei x =
1 sowie den Kegel 0
≤
GI = { d | ∇gi (x)T d ≤ 0 ∀i ∈ I(x)}. ≤
Gilt nun T = GI ? (X ist auch hier der Zul¨assigkeitsbereich, das heißt X = { x ∈ Rn | gi (x) ≤ 0, i = 1, . . . , 5}.)
Aufgabe 12.5.3 Betrachten Sie ein Minimierungsproblem mit Ungleichungsrestriktionen: min f (x)
unter g(x) ≤ 0, x ∈ Γ
(M P )
mit f : Rn → R differenzierbar, g : Rn → Rm . Zeigen Sie, dass folgende Bedingung eine CQ darstellt: Γ = ∅ sei offen und konvex, g sei konvex und differenzierbar auf Γ und der Zul¨assigkeitsbereich X := {x ∈ Γ | g(x) ≤ 0} enthalte mindestens zwei verschiedene Punkte x1 und x2 , wobei g bei einem dieser Punkte strikt konvex sei.
12.5 Aufgaben zu Constraint-Qualifications
343
Aufgabe 12.5.4 Der Zul¨assigkeitsbereich eines Optimierungsproblems sei durch g1 (x1 , x2 ) := x31 − 4x2 ≤ 0 1 1 g2 (x1 , x2 ) := (x1 − 1)2 + x2 − 1 ≤ 0 2 4 g3 (x1 , x2 ) := 2x1 + x2 − 6 ≤ 0, x ∈ Γ := R2 gegeben. Untersuchen Sie die G¨ultigkeit der Slater-CQ, LU-CQ und Cottle-CQ am Punkt
2 . 2
Welche weiteren Constraint-Qualifications gelten auch noch?
Aufgabe 12.5.5 Gegeben sei ein Minimierungsproblem mit Ungleichungsrestriktionen min f (x)
unter g(x) ≤ 0, x ∈ Γ
(M P )
mit f : Rn → R, g : Rn → Rm . x bezeichne einen (lokalen) Minimalpunkt. Zeigen Sie, dass folgende Bedingung eine CQ darstellt: Γ = ∅ sei offen und konvex, f, g seien differenzierbar bei x ∈ Γ und das System ∇gW (x)z > 0, ∇gV (x)z ≥ 0 habe eine L¨osung z = 0, wobei I = W ∪ V und I := {i | gi (x) = 0} V := {i | gi (x) = 0, gi konkav bei x} W := {i | gi (x) = 0, gi nicht konkav bei x}. Hinweis: Beachten Sie den Alternativsatz von Motzkin: A, C, D seien gegebene (dimensionsvertr¨agliche) Matrizen. A sei auf jeden Fall vorhanden, (gegebenenfalls 0). Dann gilt: Entweder I Ax > 0, Cx ≥ 0, Dx = 0 hat eine L¨osung x ⎛ ⎞ T y1 T T A y1 + C y3 + D y4 = 0 oder II das System hat eine L¨osung y = ⎝y3 ⎠ y1 ≥= 0, y3 ≥ 0 y4
344
III: 12 Optimalit¨atskriterien
Aufgabe 12.5.6 Zeigen Sie, dass es sich bei der folgenden Bedingung um eine Constraint-Qualification handelt. Das heißt, wenn diese Bedingung erf¨ullt ist, muss x, wenn es lokaler Optimalpunkt zu min(x) unter g(x) ≤ 0
(M P )
ist, unbedingt ein KKT-Punkt sein/die KKT-Bedingungen erf¨ullen). Komponentenweise Slater-CQ: Γ sei offen, x ∈ Γ, g ist konvex und differenzierbar, gj ist stetig f¨ur alle j = 1, . . . , m. Und zu i ∈ X mit gi ( xi ) < 0, g( xi ) ≤ 0. jedem i ∈ I (das heißt mit gi (x) = 0) gibt es ein x
Aufgabe 12.5.7
Bestimmen Sie den Maximalpunkt der Funktion f : Rn → R mit f (x1 , . . . , xn ) =
n
xii
i=1
auf der Menge
X = {x | 0 ≤ x, 1T x ≤ 1} ⊂ Rn .
12.6 L¨osungen zu Constraint-Qualifications L¨osung zu 12.5.1
G0 = {d | Ad < 0} und G = {d | Ad ≤ 0} a)
{d | Ad < 0} =
m i=1
{d | aTi d < 0}, jeder dieser m Halbr¨aume (HR) ist offen.
⇒ G0 ist offen, da die Menge der Schnitt von endlich vielen offenen Mengen ist. G0 ist ein Kegel , denn mit aTi d < 0 ∀i gilt auch aTi (λ · d) < 0 ∀λ > 0 ⇒ λ · d ∈ G0 . G0 ist konvex, denn mit d1 ∈ G0 , d2 ∈ G0 gilt auch λ · d1 + (1 − λ) · d2 ∈ G0 , wenn λ ∈ (0, 1). A(λ · d1 + (1 − λ) · d2 ) = λ · (Ad1 ) +(1 − λ) · (Ad2 ) < 0 d2 } Ein Punkt dieser Menge ergibt sich mit d1 = −1 und d2 = 1. ⇒ G< I = ∅ ! 1 2 T 12 ≤ T T T ≤ 0, d ≤0 ≤ 0, d ⇒ GI =GI = {d|∇gI (x) d ≤ 0} = d d 1 −4 1 4 ⇒ Cottle (und somit auch Zangwill, Kuhn-Tucker-CQ und Abadie-CQ).
L¨osung zu 12.5.5 Beim Optimalpunkt muss gelten F ∩ D = ∅, das heißt, dass es keine keine zul¨assige Richtung d mit x + εd ∈ X f¨ur gen¨ugend kleine ε und gleichzeitig ∇f (x)T d < 0 gibt. Bei uns bedeutet das: d mit ∇f (x)T d < 0, ∇gW (x)T d < 0, ∇gV (x)T d ≤ 0 Letzteres reicht wegen der Konkavit¨at schon aus, denn gV (x) = 0 und gV (x + εd) ≤ gV (x) + ε∇gV (x)d = 0 + ε∇gV (x)d
12.6 L¨osungen zu Constraint-Qualifications
349
(Mit ∇f (x)T (d) < 0 h¨atte man d als Verbesserungsrichtung und ∇gW (x)T d < 0 w¨urde die Zul¨assigkeit auf einem kleinen Intervall erzwingen). Also z = (−d) mit ∇f (x)T z > 0, ∇gW (x)T z > 0, ∇gV (z) ≥ 0. Aber nach Voraussetzung sind (ohne die erste) die beiden letzten Ungleichungen allein doch erf¨ullbar. Eine MotzkinAlternative dazu ist: T ∃r0 , rW ≥= 0, rV ≥ 0 mit r0T ∇f (x) + rW ∇gW (x) + rVT ∇gV (x) = 0
a)
Wenn r0 = 0 ist, dann sind wir fertig, denn KKT ist dann gesichert.
b)
T ∇gW (x) + rVT ∇gV (x) = 0 Wenn r0 = 0 ⇒ rW ≥= 0 mit rW
Es existiert nach Voraussetzung aber ein z mit T ∇gW (x) + rVT ∇gV (x)]z = 0. ∇gW (x)z > 0, ∇gV (x)z ≥ 0 ⇒ [rW T ∇gW (x)z > 0. Aber wegen rW ≥= 0 und ∇gW (x)z > 0 gilt rW
(Widerspruch)
L¨osung zu 12.5.6 Aus der vorliegenden Bedingung resultiert die echte Slater-CQ (Γ offen, gI pseudokonvex bei x, g stetig bei x, ∃x ∈ Γ mit gI (x) < 0). Die Konvexit¨atsvoraussetzungen sind alle direkt erf¨ullt. Es bleibt zu zeigen, dass ein x mit ˆ = k1 ki=1 x ˜i . gI (x) < 0 existiert. O. B. d. A. sei I = {1, ..., k}, k ≤ m. Betrachte den Punkt x F¨ur ein j ∈ I ist dann " k # k xi ) ≤ 0 f¨ur i = j gj (˜ 1 1 x) = gj x ˜i ≤ gj (˜ xi ) < 0, weil . gj (ˆ k i=1 k i=1 xi ) < 0 f¨ur i = j gj (˜ k x) ≤ k1 i=1 g ( xi ) ≤ 0, weil gj ( xi ) ≤ 0. Damit erf¨ullt x ˆ die gesuchte F¨ur ein ∈ / I gilt g (ˆ Forderung. Also ist die Slater-CQ erf¨ullt. Wenn aber die Slater-CQ erf¨ullt ist, dann wissen wir, dass bei lokalen Minima die KKT-Bedingungen erf¨ullt sein m¨ussen.
L¨osung zu 12.5.7 X ist kompakt und f ist stetig ⇒ Maximum wird angenommen ⇒ Maximalstelle auch lokal optimal. Hier gilt die LU-CQ (aber auch Abadie) usw., so dass jede (LM P )-L¨osung auch KKTPunkt sein muss. Suchen wir also die KKT-Punkte: ⎞ ⎛ ⎞ ⎛ 1 · f · x11 1 · x22 · x33 · . . . · xnn ⎜2 · f · 1 ⎟ ⎜ ⎜ x1 · 2x2 · x33 · . . . · xnn ⎟ x2 ⎟ ⎟ ⎟ ⎜ ⎜ .. ⎟ ⎜ x1 · x22 · 3x23 · . . . · xnn ⎟ wenn xi =0 ∀i ⎜ = ∇f = ⎜ . ⎟ ⎟ ⎜ ⎟ ⎟ ⎜ ⎜ .. . ⎟ ⎜ ⎠ ⎝ .. . ⎠ ⎝ 2 3 n−1 1 x1 · x2 · x3 · . . . · n · xn n · f · xn
350
III: 12 Optimalit¨atskriterien
⎛ 2 3 ⎞ x2 · x3 · . . . · xnn ⎜ ⎟ 0 ⎜ ⎟ Ist x1 = 0 dann gilt ∇f = ⎜ ⎟. .. ⎝ ⎠ . 0 ⎛ ⎞ 0 ⎜ ⎟ Ist xi = 0, i ≥ 2 dann gilt ∇f = ⎝ ... ⎠. 0 Im zweiten Fall hat man zwar ∇f = 0 und damit einen KKT-Punkt, jedoch ist hier f (x) = 0 < max f und deshalb sind diese KKT-Punkte uninteressant. Ebenso sind Punkte mit x1 = 0 uninteressant. xi ≤ 1 straff werden. An Infrage kommen nur Punkte x > 0. Dort kann allenfalls 1T x = einem inneren Punkt x > 0, 1T x < 1 kann ∇f nicht verschwinden, deshalb k¨onnen innere Punkte keine KKT-Punkte sein. F¨ur einen Punkt mit 1T x = 1, x > 0 ist ∇f > 0 und ∇gn+1 = 1. Einen KKT-Punkt bekommen wir, wenn gilt (beachte Maximierung!): −∇f + u∇gn+1 = 0, deshalb ist eine Stelle zu suchen, wo ∇f nur gleiche Komponenten hat. Dazu muss gelten: 1 x2 1 bzw. x2 = 2x1 =2·f · ⇒ x1 = x1 x2 2 1 1 f· = 3·f · ⇒ x3 = 3x1 x1 x3 .. . 1 1 = n·f · ⇒ xn = n · x1 f· x1 xn ⎛ ⎞ ⎛ ⎞ α 1 ⎜ 2α ⎟ ⎜2⎟ ⎜ ⎟ ⎜ ⎟ Deshalb brauchen wir einen Punkt ⎜ . ⎟ = α · ⎜ . ⎟. ⎝ .. ⎠ ⎝ .. ⎠ f·
nα Wenn 1T x = 1 sein soll, dann muss α =
n 1 n P i=1
$ Optimalpunkt mit dem Optimalwert
2 n(n+1)
i
=
2 n(n+1)
% n(n+1) 2
⎛ ⎞ 1 ⎜2⎟ ⎜ ⎟ 2 gew¨ahlt sein. ⇒ x = ⎜ . ⎟ n(n+1) = ⎝ .. ⎠ n
·
n & i=1
ii .
Kapitel 13
Dualit¨at in der nichtlinearen Optimierung In diesem letzten Abschnitt werden die Querbeziehungen zu Partnerproblemen (duale Probleme) beleuchtet. Dabei geht es im ersten Kapitel um Lagrange-Dualit¨at. Hier werden die Nebenbedingungsfunktionen einbezogen in eine Gewichtung mit der Zielfunktion. Und anschließend wird u¨ ber die alternativen Gewichtungen nachgedacht. So entstehen Max-Min- oder Sup-Inf-Probleme. In diesem Abschnitt geht es um die Aufstellung und die L¨osbarkeit solcher Probleme. Der zweite Abschnitt behandelt die Querbeziehungen zwischen den primalen Problemen und den eben definierten Dualproblemen. Insbesondere stellt sich heraus, dass die erreichbaren Werte des Primalproblems jeweils unterhalb derjenigen des Dualproblems liegen. Hier entsteht dann die Frage, ob die Bestwerte vielleicht zusammenfallen, so dass keine Dualit¨atsl¨ucke entsteht. Und im dritten Abschnitt beobachtet man Sattelpunkte, die dadurch entstehen, dass man bzgl. der Gewichtungen maximiert, jedoch bzgl. der Primalpunkte minimiert. Ein Sattelpunkt zeichnet sich dann dadurch aus, dass er in der einen Koordinate maximal, in der anderen Koordinate minimal wird. Der Querbezug zu den Karush-Kuhn-Tucker-Punkten wird offensichtlich.
13.1 Lagrange-Dualit¨at Einem nichtlinearen Optimierungsproblem kann man auf einfache Weise ein anderes Problem zuordnen, n¨amlich das Lagrange-duale Problem. Definition 13.1 Zum folgenden primalen Programm (M P ) min unter
f (x) gi (x) ≤ hj (x) = x∈Γ
0 0
∀ i = 1, . . . , m ∀ j = 1, . . . ,
(M P )
352
III: 13 Dualit¨at in der nichtlinearen Optimierung
definieren wir das Lagrange-duale Problem (DP ) wie folgt: max Θ(u, v) = unter u ≥ v ∈
inf x∈Γ {f (x) + 0, u ∈ Rm R
m
i=1
ui gi (x) +
j=1 vj hj (x)}
(DP )
Diese Aufgabenstellung bietet oft die M¨oglichkeit, effektiver an eine L¨osung heranzukommen als beim Primal-Problem. Dies ist wertvoll insbesondere dann, wenn die Optimalwerte beider Probleme u¨ bereinstimmen. Ist dies nicht der Fall, also ist f¨ur optimales x und optimales (u, v) ¨ (f (x) < Θ(u, v) der Optimalwert f (x > Θ(u, v), dann spricht man von einer Dualit¨atslucke. ist ausgeschlossen, siehe dazu den n¨achsten Abschnitt.)
13.2 Aufgaben zur Lagrange-Dualit¨at Aufgabe 13.2.1 a)
Gegeben sei ein lineares Optimierungsproblem in Standardform, das heißt min bT y unter AT y = c, y ≥ 0. Stellen Sie das Lagrange-duale Problem auf und zeigen Sie, dass das Lagrange-duale Problem dem aus der linearen Optimierung bekannten dualen Problem entspricht.
b)
Stellen Sie nun das Lagrange-duale Problem zu dem Problem in kanonischer Form max cT x unter Ax ≤ b auf. Zeigen Sie, dass auch hier das Lagrange-duale Problem dem aus der linearen Optimierung bekannten dualen Problem entspricht.
Aufgabe 13.2.2 Betrachten Sie die folgende Optimierungsaufgabe (M P ) min
x1 + x2
unter
g1 (x) = x1 − x32 ≤ 0 g2 (x) = 12 x32 − x1 ≤ 0 g3 (x) = x21 + x22 − 4 ≤ 0 (x1 , x2 ) ∈ R2 .
1 −2
−1 −1 −2
a)
L¨osen Sie (M P ).
b)
Stellen Sie zu (M P ) das Lagrange-duale Problem (DP ) auf.
1
13.3 L¨osungen zur Lagrange-Dualit¨at
353
c)
L¨osen Sie (DP ).
d)
Entsteht eine Dualit¨atsl¨ucke?
Aufgabe 13.2.3 Es seien k und m nat¨urliche Zahlen mit k ≤ m. Ferner seien c, 1 , ..., m vom Nullvektor verschiedene Vektoren aus Rn . Gegeben sei ein Minimierungsproblem u¨ ber Rn der Form f (x) = (cT x)2k gi (x) := (Ti x)2i−1 ≤ 0 f¨ur i = 1, 2, . . . , m.
min unter
Zeigen Sie, dass das dazu duale Problem von der Form max Θ(u) unter u ∈ Rk , u ≥ 0
mit Θ(u) = infn x∈R
(cT x)2k +
k
ui gi (x)
i=1
ist.
Aufgabe 13.2.4 Betrachte das (M P ): min f (x) unter g1 (x) ≤ 0 Zu diesem Problemsei bekannt: Die Menge M :=
2
f (x) = z0 g1 (x) = z1
n
z ∈ R | ∃x ∈ R mit
ist konvex.
(M ist also die Menge der annehmbaren Funktionswert-Vektoren). Zeigen Sie: Bei diesem Problem und bei der Dualisierung des entsprechenden Problems tritt keine Dualit¨atsl¨ucke auf.
13.3 L¨osungen zur Lagrange-Dualit¨at L¨osung zu 13.2.1 a)
min bT y unter AT y = c, y ≥ 0
(M P )
max θ(u, v) unter u ≥ 0
(DP )
Lagrange-duales Problem: T
T
T
T
θ(u, v) = inf {b y + u (−y) + v (A y − c)} y
= inf {(bT − uT + v T AT )y} − v T c y
354
III: 13 Dualit¨at in der nichtlinearen Optimierung
inf {(bT − uT + v T AT )y} wird immer −∞, wenn b − u + Av = 0. y
Interessant sind also diejenigen (u, v) mit b − u + Av = 0, dann gilt aber θ(u, v) = −v T c. Also: max − v T c
max cT x x=−v
unter b − u + Av = 0
⇐⇒
unter Ax ≤ b
Schlupfvariable u weglassen
u≥0 b)
max cT x unter AT x ≤ b ⇔ min −cT x unter Ax ≤ b Lagrange-duales Problem: max θ(u, v) unter u ≥ 0
(DP )
θ(u, v) = inf {−cT x + uT (Ax − b)} x
= inf {(−c + AT u)T x} − uT b inf {(−c + AT u)T x} = x
x
−∞
f¨ur − c + AT u = 0
0
f¨ur − c + AT u = 0
Also analog: max θ(u) = −uT b unter − c + AT u = 0 u≥0
min bT y ⇐⇒ y=u
unter AT y = c y≥0
L¨osung zu 13.2.2 a)
0 0 Im Punkt ist f = 0 und ist zul¨assig, denn g1 (0) = 0 = g2 (0) und g3 (0) = −4. 0 0 Damit es u¨ berhaupt zul¨assige Punkte geben kann, muss im Kreis mit Radius 2 gelten: g1 (x) ≤ 0 und g2 (x) ≤ 0 f¨ur x mit x ≤ 2, das heißt 1 1 x1 − x32 ≤ 0 ∧ x32 − x1 ≤ 0 ∧ x ≤ 2 ⇔ x32 ≤ x1 ≤ x32 ∧ 2 2
x21 + x22 ≤ 2
Das geht nur, wenn x2 ≥ 0 (nur dort ist 12 x32 nicht negativ) und folglich auch nur bei ≥ 0. x1 Auf dem Bereich x1 ≥ 0 ∧ x2 ≥ 0 kann aber f gar nicht unter 0 sinken. Deshalb 0 0 ist mit f = 0 optimal f¨ur (M P ). 0 0
13.3 L¨osungen zur Lagrange-Dualit¨at
b)
355
Das Dualproblem zu (M P ) lautet max Θ(u) unter u ≥ 0
(u ∈ R3 )
(DP )
mit Θ(u) := inf2 {f (x) + u1 g1 (x) + u2 g2 (x) + u3 g3 (x)} und hier konkret x∈R
Θ(u1 , u2 , u3 ) = inf2 {(x1 + x2 ) + u1 (x1 − x32 ) + u2 x∈R
c)
1 3 x − x1 2 2
+ u3 (x21 + x22 − 4)}
F¨ur festes u = (u1 , u2 , u3 ) ≥ 0 soll zun¨achst abgekl¨art werden, ob u¨ berhaupt ein Minimalwert zu Θ(u) entsteht oder ob Θ(u) = −∞ ist. Deshalb sortieren wir die Schreibweise von Θ(u) um zu: 1 2 2 3 −4u3 + x1 (1 + u1 − u2 ) + x2 + x1 u3 + x2 u3 + x2 −u1 + u2 2 Sobald (−u1 + 12 u2 ) = 0 gilt, kann man x2 (mit dem entsprechenden Vorzeichen) betragsm¨aßig so riesig machen, dass der Term (x32 )(−u1 + 12 u2 ) beliebig klein (negativ) wird (jede gesetzte Schranke kann unterschritten werden). Bei entsprechend hohem Betrag von x2 dominiert dieser Term aber alle anderen (bzw. deren Summe), da dort nur Potenzen ≤ 2 auftreten. Tats¨achlich kann also ein Minimalwert f¨ur Θ(u) nicht existieren, wenn (−u1 + 12 u2 ) = 0. Notwendig f¨ur den Minimalwert ist also u1 = 12 u2 . Danach haben wir noch: 1 −4u3 + x1 1 − u2 + x2 + x21 u3 + x22 u3 2 Hier dominieren x21 und x22 in entsprechender Weise. W¨are nun u3 = 0, dann verbliebe nur eine lineare Funktion, in der z. B. x2 · 1 erscheint. Macht man dann (isoliert) x2 beliebig klein (negativ), dann treibt dies den Grenzwert bis zu −∞. Also k¨onnte auch bei u3 = 0 kein Minimalwert existieren. Umgekehrt ist also u3 > 0 notwendig f¨ur Minimalwerte. Damit ist eine Minimalstelle auszuwerten von: 1 −4u3 + x1 1 − u2 + x21 u3 + x2 · 1 + x22 u3 2 Die drei Klammerausdr¨ucke enthalten keine oder unterschiedliche Variablen, so dass eine Separat-Minimierung erfolgen kann (separable Zielfunktion). Der Wert von 1 x1 1 − u2 + x21 u3 2 wird minimal, wenn (1 − 12 u2 ) + 2x1 u3 = 0 gilt, also f¨ur x1 = gesichert).
−(1− 12 u2 ) 2u3
(u3 = 0 war
Dort ist die 2. Ableitung 2 · u3 > 0. Deshalb liegt eine Minimalstelle vor und der Funkti-
356
III: 13 Dualit¨at in der nichtlinearen Optimierung
onswert ist: (1 − 12 u2 )2 −1(1 − 12 u2 ) 1 1 2 x1 1 − u2 + x1 u3 = 1 − u2 + u3 2 2u3 2 4u23 =
−(1 − 12 u2 )2 (1 − 12 u2 )2 1 (1 − 12 u2 )2 + =− 2u3 4u3 4 u3
Der Wert von (−4)u3 ist konstant. Der Wert von x2 · 1 + x22 u3 wird minimal bei 1 + 2x2 u3 = 0, denn dort ist die Ableitung 0 und die zweite Ableitung 2u3 > 0. Also braucht −1 und dort ist der Funktionswert − 4u1 3 . Folglich ist der von u abh¨angige man x2 = 2u 3 Minimalwert jeweils −4u3 −
2 1 1 (1− 2 u2 ) 4 u3
−
1 4u3 .
Nun gehen wir zur 2. Optimierungsstufe, n¨amlich zur Maximierung, u¨ ber: (max Θ(u)). Alle drei Terme sind ≤ 0. Den mittleren kann man durch Bewegung von u2 auf 2 so anheben, dass sein Wert 0 wird (ohne, dass dies die Setzung von u3 beeinflusst). Dann bleibt noch u¨ brig: −4u3 − 4u1 3 (das entspricht Maximierung von −x − x1 bei x > 0) 1 1 4 u23 (−2) = u33
1. Ableitung: −4 + 2. Ableitung:
1 4
·
Funktionswert bei u3 = d)
Nullstelle bei u3 = 14 . 1 − 12 · u13 = − 21 · 64 < 0 deshalb liegt eine Maximalstelle vor. Der 1 4
3
ist aber (mit u2 = 0) −4 ·
1 4
−
1 4· 14
= −2
Der duale Optimalwert ist also −2 < 0. Deshalb besteht eine Dualit¨atsl¨ucke von 2 gegen¨uber dem primalen Optimalwert.
L¨osung zu 13.2.3 An sich w¨are die Formeldefinition des Lagrange-dualen Problems max Θ(˜ u) unter u ˜ ≥ 0 mit u ˜ ∈ Rn m wobei Θ(˜ u) := infn (cT x)2k + u ˜i gi (x) . x∈R
i=1
Man beachte aber, dass die gi (x) alle ungerade Potenzen von linearen Funktionen sind (in x). Da man bei Θ(˜ u) nach Minimal- oder Infimalstellen der Klammerfunktion sucht, wird es zu jeder Schwelle ein x geben, bei dem gm diese Schwelle unterbietet. Betrachte beispielsweise die Wahl x = −ρm (mit ρ > 0 gen¨ugend groß). ˜i gi (x) mit i ≤ m Diesen Effekt k¨onnen asymptotisch die anderen Funktionen (cT x)2k und u nicht mehr kompensieren (niedrigere Potenzen). m ˜m > 0 vorliegt. Nur bei Deshalb ist inf x∈Rn (cT x)2k + i=1 u˜i gi (x) so lange −∞, wie u u ˜m = 0 verursacht gm dieses Problem nicht. Diese Argumentation kann unter Beibehalten von u ˜m = 0 f¨ur m − 1, m − 2, bis hinunter zu gk+1 wiederholt werden. Sie zeigt, dass Minima nur existieren k¨onnen, wenn gilt: u ˜k+1 = u˜k+2 = ... = u˜m = 0
13.3 L¨osungen zur Lagrange-Dualit¨at
357
Dann aber ist die Existenz von Minimalwerten wirklich gesichert, weil (cT x)2k mit gerader Potenz (als h¨ochster Potenz) nun die verbleibenden gi dominiert. Deshalb ist (DP ) hier: k T 2k ui gi (x) max Θ(u) = infn (c x) + x∈R
i=1
L¨osung zu 13.2.4 Primalaufgabe min f (x) unter g1 (x) ≤ 0 Dualaufgabe max
Θ(u) unter u1 ≥ 0 mit Θ(u) = inf{f (x) + u1 g1 (x)}
Wegen der Konvexit¨at von M gibt es an jedem Randpunkt z eine St¨utzhyperebene im R2 mit Normalenvektor c ∈ R2 , so dass bei St¨utzpunkt z gilt cT z ≥ cT z ∀z ∈ M. c =1 (o. B. d. A. sei c0 = 1). Schneidet man die Der Ber¨uhrpunkt ist jeweils minimal f¨ur 0 c1 Hyperebene mit der Achse e0 (f¨ur die f -Werte), dann erwischt man z0 = cT z. Dieses Skalarprodukt ist u¨ berall gleich (hier hat man z1 = 0). Das maximal m¨ogliche z0 (zu erhalten bei Einhaltung von c1 ≥ 0, c0 = 1) ist die L¨osung des dualen Problems. Unterscheide beim primalen Problem: •
Fall 1: Es gibt keinen Punkt x mit g1 (x) ≤ 0 ⇒
Π(M ) = {z1 | ∃x ∈ Rn mit g1 (x) = z1 } > 0 (trennbar von 0) (Projektion von M auf R1 entlang 2. Komponente)
1 W¨ahle nun u1 immer gr¨oßer u1 → ∞
⇒ sup = ∞.
•
Fall 2: Es gibt zul¨assige Punkte und f ist nach unten unbeschr¨ankt ⇒ (M P )-Wert = −∞ (kein Minimum) ⇒ inf{f (x) + u1 g1 (x)} ≤ inf{f (x)} ∀u1 ⇒ max inf = −∞
•
Fall 3: f ist nach unten beschr¨ankt auf X = {x | g 1 (x) ≤ 0} z0 f (xopt ) = kann man eine xopt ist Optimalpunkt, f (xopt ) Optimalwert. Bei z1 g1 (xopt )
358
III: 13 Dualit¨at in der nichtlinearen Optimierung
St¨utzhyperebene anlegen mit c =
1 . Dann gilt c1
z0 z0 T ≥c c z1 z1 T
–
n Fall 3.1: Ist nun f (xopt ) ≤ f (xalt ) ∀xalt ∈ R 1 ⇒ SHE ist w¨ahlbar als c = . 0 T
c
∀z ∈ M. (xalt = Alternativpunkt)
f (xopt ) = f (xopt ) wie beim Primalproblem g1 (xopt )
Da das Problem dual zul¨assig ist, entsteht keine Dualit¨atsl¨ucke. –
/ X, das heißt g1 (xalt ) > 0. Fall 3.2: Ist f (xopt ) > f (xalt ) f¨ur ein xalt ∈ Rn , so ist xalt ∈ Dann muss g1 (xopt ) = 0 sein, denn sonst folgt aus der Konvexit¨at von M : f (xalt ) f (xopt ) , ⊂M g1 (xopt ) g1 (xalt )
Man kann dann dem linken Punkt beliebig nahekommen und dabei gilt dann g1 (x) < 0 und f (x) < f (xopt ). (Widerspruch) Es bleibt also nur noch g1 (xopt ) = 0. Wir zeigen, dass c dann ein c1 ≥ 0 besitzt und damit dual zul¨assig ist: ⇒
f (xopt ) + c1 g1 (xopt ) f (xopt ) − f (xalt )
≤ f (xalt ) + c1 g1 (xalt ) ≤ c1 g1 (xalt ) ⇒ c1 > 0
>0
1 ≥ 0 ist dual zul¨assig und 1 · f (xopt ) + c1 · g1 (xopt ) = f (xopt ) 0 ⇒ Es entsteht keine Dualit¨atsl¨ucke.
⇒
13.4 Dualit¨atss¨atze Wir beobachten zun¨achst eine gegenseitige Absch¨atzbarkeit der Menge der annehmbaren Zielfunktionswerte zwischen Primal- und Dual-Problem.
Satz 13.2 (Schwacher Dualit¨atssatz) x sei ein zul¨assiger Punkt zu (M P ), also x ∈ Γ, g(x) ≤ 0 und h(x) = 0 . (u, v) sei ein zul¨assiger Punkt zu (DP ), das heißt u ≥ 0 . Dann gilt f (x) ≥ Θ(u, v) .
13.4 Dualit¨atss¨atze
359
Die folgenden Konsequenzen sind wichtig, um die verschiedenen denkbaren F¨alle von Problempartnerschaften in den Griff zu bekommen.
Korollar 13.3 Es gilt: inf{f (x) | x ∈ Γ, g(x) ≤ 0, h(x) = 0} ≥ sup{Θ(u, v) | u ≥ 0}.
Korollar 13.4 Seien x und (u, v) zul¨assige Punkte f¨ur (M P ), bzw. (DP ) . Gilt dann f (x) = Θ(u, v), so sind x und (u, v) f¨ur (M P ), bzw. (DP ) optimal.
Korollar 13.5 Falls inf{f (x) | x ∈ Γ, g(x) ≤ 0, h(x) = 0} = −∞ ist, so gilt ∀ u ≥ 0 und ∀ v ∈ R : Θ(u, v) = −∞ .
Korollar 13.6 Falls sup{Θ(u, v) | u ≥ 0} = ∞ ist, so hat das primale Problem einen leeren Zul¨assigkeitsbereich.
In der nichtlinearen Optimierung k¨onnen nun (im Gegensatz zur linearen) Unterschiede zwischen den Optimalwerten der Partnerprobleme auftreten.
Definition 13.7 Seien x optimal f¨ur (M P ) und (u, v) optimal f¨ur (DP ). Gilt dann Θ(u, v) < f (x), so spricht man von einer Dualit¨atsl¨ucke.
Wieder erweist sich eine Constraint-Qualification als n¨utzlich, um Dualit¨atsl¨ucken auszuschließen.
Definition 13.8 (Slater-CQ) ∃ˆ x ∈ Γ mit g(ˆ x) < 0, h(ˆ x) = 0 sowie 0 ∈ Int(h(Γ)).
Und damit kommt man zu einem starken Dualit¨atssatz.
360
III: 13 Dualit¨at in der nichtlinearen Optimierung
Satz 13.9 (Starker Dualit¨atssatz) Γ = ∅ sei konvex, f : Rn → R, g : Rn → Rm seien konvex und h : Rn → R sei affin linear, also h(x) = Ax − b . Unter der Slater-CQ gilt mit Θ(u, v) = inf y∈Γ {f (y) + uT g(y) + v T h(y)}: inf {f (x) | x ∈ Γ, g(x) ≤ 0, h(x) = 0} = sup {Θ(u, v) | u ≥ 0}.
x∈Γ
(u,v)
Ist die linke Seite endlich, dann wird das Supremum bei einem (u, v) mit u ≥ 0 angenommen. Wenn das Infimum bei x angenommen wird, so gilt: uT g(x) = 0 .
13.5 Aufgaben zu den Dualit¨atss¨atzen Aufgabe 13.5.1
Betrachten Sie den Zul¨assigkeitsbereich X ⊆ R2 , der gegeben wird durch g1 (x, y)
= x2 + y 2 − 1 ≤ 0
g2 (x, y)
= (x − 1)2 + (y − 1)2 − 1 ≤ 0.
Die beiden Funktionen fa (x, y)
= (x − y)2 − (x + y)3
fb (x, y)
= (x − y)2 − (x + y)
sollen auf X minimiert werden. i)
Bestimmen Sie zu fa und fb die Minimalpunkte und Minimalwerte.
ii)
Zeigen Sie, dass es f¨ur jedes Problem genau einen KKT-Punkt gibt.
iii)
L¨osen Sie – wenn m¨oglich – das jeweilige Dualproblem und stellen Sie fest, ob eine Dualit¨atsl¨ucke besteht. (Ein Tipp: Beachten Sie die Komplementarit¨atsbedingung.)
Aufgabe 13.5.2 In der Finanzmathematik hat man es oft mit zwei verschiedenen, aber verwandten OptimierungsProblemstellungen zu tun: i)
Minimiere das Risiko unter Garantierung eines Gewinnsockels.
ii)
Maximiere den erwarteten Gewinn unter Begrenzung des Risikos.
Folgende konkrete Situation sei gegeben: Es stehen 1 Mio. GE (Geldeinheiten) zur Verf¨ugung, die in n Investitionsprojekte investiert werden k¨onnen. Zu jedem Projekt ist der erwartete Gewinn μi · Investitionssumme (μi > 0 ∀i = 1, . . . , n),
13.6 L¨osungen zu den Dualit¨atss¨atzen
361
und das damit verbundene Risiko (die Varianz) σ 2 · Investitionssumme2
(σi > 0 ∀i = 1, . . . , n).
Die Projekte werden wie unabh¨angige Ereignisse behandelt, so dass sich erwartete Gewinne, aber auch die kalkulierten Varianzen (Risiken) aufaddieren. a)
Modellieren Sie die Probleme i) und ii) unter den obigen Gegebenheiten.
b)
Stellen Sie zu Ihrem Modell des Problems i) das zugeh¨orige Dualproblem in expliziter Form (ohne Verwendung des Infimums) auf.
c)
Vergleichen Sie die Dualprobleme zu den zwei Problemstellungen min a(x) unter b(x) ≤ 0
(I)
min b(x) unter a(x) ≤ 0.
(II)
Er¨ortern Sie, welchen Nutzen Ihnen die bereits erfolgte L¨osung von (DP I ) f¨ur die L¨osung von (DP II ) bringen wird.
Aufgabe 13.5.3
Gegeben sei das folgende Optimierungsproblem (¨uber Γ = R2 ): min f (x) unter g1 (x) g2 (x)
= x21 + x22 = (x1 − 1)2 − x2 ≤ 0 = (x1 + 1)2 − x2 ≤ 0
L¨osen Sie das Lagrange-duale Problem und geben Sie ausgehend von der dualen L¨osung eine primale Optimall¨osung, die beiden Optimalwerte und die Dualit¨atsl¨ucke an. Hinweis: Es zahlt sich aus, wenn Sie statt mit u1 , u2 mit den substituierten Gr¨oßen ξ = u1 + u2 und λ = u1 − u2 arbeiten.
13.6 L¨osungen zu den Dualit¨atss¨atzen L¨osung zu 13.5.1 •
i)+ii) X entsteht aus zwei konvexen Funktionen und erf¨ullt die Slater-Bedingung f¨ur jedes denkbare I. Deshalb kommen f¨ur lokale Minima nur KKT-Punkte infrage. Wir suchen den (die) KKT-Punkt(e) zu fa und fb . 2(x − y) − 3(x + y)2 2(x − y) − 1 x x = = ∇fb ∇fa −2(x − y) − 1 y y −2(x − y) − 3(x + y)2 x 2x x 2(x − 1) ∇g1 = ∇g2 = y 2y y 2(y − 1)
362
III: 13 Dualit¨at in der nichtlinearen Optimierung
Wo g1 und g2 beide straff sind,
1 0 und , hat man als G≤ -Kegel 0 1
2 0 0 −2 cone , bzw. cone , 0 −2 2 0 Die Gradienten der Zielfunktionen ergeben sich zu: 1 0 2 − 3 = −1 −2 − 3 = −5 = ∇fa = ∇fa 0 −2 − 3 = −5 1 +2 − 3 = −1 2−1=1 −2 − 1 = −3 1 0 ∇fb = = ∇fb −2 − 1 = −3 +2 − 1 = 1 0 1
2
1 X 0
0
1
2
In keinem dieser F¨alle ist eine KKT-Kompensation m¨o glich. x x bzw. ∇fb = 0 sein, dazu m¨usste bei Bei inneren Punkten m¨usste ∇fa y y x ∇fa sowohl x + y = 0 als auch x − y = 0 sein, also m¨usste x = y = 0 gelten, y x geht das gar nicht. bei ∇fb y Zu untersuchen bei denen nur g1 oder nur g2straff sind. Punkte, bleiben 2(x − 1) 2(x − y) − 3(x + y)2 x x ∇fa = = Nur g2 : ∇g2 2(y − 1) y y −2(x − y) − 3(x + y)2 x x < 0 und weil ∇fa nicht > 0 sein kann, scheiden diese Punkte ⇒ ∇g2 y y aus. 2(x − y) − 1 x = Nur g2 mit ∇fb −2(x − y) − 1 y
13.6 L¨osungen zu den Dualit¨atss¨atzen
⇒ ∇g2
363
x x < 0 und weil ∇fb nicht > 0 sein kann, scheiden diese Punkte y y
aus. Also bleiben nur noch Punkte, ist. bei denen nur g1 straff +2x 2(x − y) − 3(x + y)2 = −u fa : Gesucht ist u ≥ 0 mit −2(x − y) − 3(x + y)2 +2y
1 1 1 1 (x + y) (x − y) + = −u − 3(x + y)2 1 −1 1 −1
2(x − y)
Dabei m¨ussen die jeweiligen Koeffizienten zu
1 1 und zu im gleichen Verh¨altnis −1 1
stehen, also 2(x − y) = −u(x − y) und − (3(x + y)2 ) = −u(x + y) Entweder w¨are u = −2 (aber ausgeschlossen) oder x−y = 0 und dannnochu = 3(x+y). √1 x 2 Unter den bei g1 (nur dort) straffen Punkten gibt es dazu nur = √1 y 2 √ und dazu u = 3 2. x 1 1 = 2(x − y) + (−1) und dementsprechend Zu fb hat man ∇fb y −1 1 (−1) = −u(x + y) und 2(x − y) = −u(x − y). Wieder scheidet u = −2 aus ⇒ x = y und u =
1 x+y ,
wobei x =
√1 2
= y und u =
√1 . 2
√ √ An der Minimalstelle hat fa den Wert −( 2)3 und fb den Wert − 2. Dies l¨ost i) und ii). iii)
Das Dualproblem zu fa lautet max θ(u1 , u2 ) mit u ≥ 0 und x x x = fa + u 1 g1 + u 2 g2 inf θ(u1 , u2 ) = y y y (x,y)T ∈R2 =
inf
(x,y)T ∈R2
{(x − y)2 − (x + y)3 + u1 (x2 + y 2 − 1) + u2 ((x − 1)2 + (y − 1)2 − 1)}
Hier wird, wenn (x + y) gen¨ugend groß ist, die dritte Potenz alles dominieren ⇒ inf = −∞ und θ(u1 , u2 ) = −∞ ⇒ max θ(u1 , u2 ) = −∞. Es liegt also eine (riesige!) Dualit¨atsl¨ucke vor.
364
III: 13 Dualit¨at in der nichtlinearen Optimierung
Das Dualproblem zu fb lautet max θ(u1 , u2 ) mit u ≥ 0 und x x x fb + u 1 g1 + u 2 g2 = inf θ(u1 , u2 ) = y y y (x,y)T ∈R2 =
inf
(x,y)T ∈R2
{(x − y)2 − (x + y) + u1 (x2 + y 2 − 1) + u2 ((x − 1)2 + (y − 1)2 − 1)}
Weil die Slater-CQ gilt und weil fb (im Gegensatz zu fa ) eine konvexe Funktion ist – wie auch g1 , g2 – gelten der starke Dualit¨atssatz und der Satz u¨ ber die Existenz von Sattelpunkten. Dann ist aber jede KKT-Kombination auch eine Sattelpunkt-Kombination und daraus folgt, dass (u1 , 0) das Dualproblem l¨ost, weil wegen der Komplement¨arbedingung gilt: (u1 , u2 )
g1 (x) g2 (x)
= 0.
Wegen g2 (x) < 0 haben wir u2 = 0. Das Dualproblem kann hier reduziert werden zu max θ(u1 ) mit θ(u1 ) =
inf
(x,y)∈R2
Am KKT-Punkt zu fb ist x = y =
√1 , 2
{(x − y)2 − (x + y) + u1 (x2 + y 2 − 1)}
also muss nur noch u1 f¨ur
inf{(x − y)2 − (x + y) + u1 (x2 + y 2 − 1)} bestimmt werden. 2(x − y) − 1 + 2x · u1 = 0 −2(x − y) − 1 + 2y · u1 = 0 Aus der Summe der beiden Gleichungen ergibt sich: x+y = u11 . Mit x = y = 1 √2 ⇒ u1 = √1 . u1 = 2 2 Also haben wir KKT und Sattelpunkt mit x = y = u1 = √12 , u2 = 0.
L¨osung zu 13.5.2 a)
Parameter: μi (i = 1, . . . , n) σi2 (i = 1, . . . , n) GS RB
Erwarteter Gewinn pro Einheit. Erwartetes Risiko (Varianz) pro Einheit Gewinnsockel Risikobegrenzung
Variable: xi
Investitionssumme in Projekt i (i = 1, . . . , n)
√1 2
entsteht
13.6 L¨osungen zu den Dualit¨atss¨atzen
365
Modell: i)
min
n i=1
x2i σi2
unter x1 ≥ 0, . . . , xn ≥ 0, n
und
i=1
ii)
max
μi xi ≥ GS bzw. −
n i=1
n i=1
b)
i=1 n i=1
xi ≤ 106 μi xi ≤ −GS
xi μi
unter x1 ≥ 0, . . . , xn ≥ 0, und
n
n i=1
xi ≤ 106
x2i σi2 ≤ RB
Weiterbehandlung von i)
⎛
⎜ Dies ist ein quadratisches Optimierungsproblem mit H = ⎝ definit und symmetrisch, ⎛ −1 0 ··· ⎜ .. ⎜ 0 . −1 ⎜ ⎜ .. . .. ⎜ . ··· ⎜ A=⎜ . ⎜ .. ··· ··· ⎜ ⎜ 0 0 ··· ⎜ ⎝ 1 1 ··· −μ1 −μ2 · · ·
2σ12
⎞ ..
⎟ ⎠ positiv
. 2σn2
···
0
⎛
⎞
0 .. . .. . .. .
⎞
⎜ ⎟ ⎟ ⎜ ⎟ ··· 0 ⎟ ⎜ ⎟ ⎟ .. ⎟ ⎜ ⎟ .. ⎜ ⎟ ⎟ . . ⎟ ⎜ ⎟ , b = ⎜ ⎟ ⎟ .. .. ⎜ ⎟ ⎟ . . ⎟ ⎜ ⎟ ⎜ ⎟ ⎟ · · · −1 ⎟ ⎜ 0 ⎟ ⎝ ⎠ 6 ⎠ 10 ··· 1 · · · −μn −GS
Die Aufgabenstellung ist min
1 T x Hx 2
unter Ax ≤ b
Das Dualproblem entwickelt sich aus max θ(u) = infn u≥0
x∈R
1 T x Hx + uT (Ax − b) 2
und daf¨ur kennt man die Reduzierung ⎞ 0 ⎜ .. ⎟ ⎜ . ⎟ 1 T ⎟ ⎜ u Du + cT u mit D = −AH −1 AT und c = −b = ⎜ 0 ⎟ max ⎟ ⎜ u≥0 2 ⎝−106 ⎠ ⎛
+GS
366
III: 13 Dualit¨at in der nichtlinearen Optimierung
D = −AH −1 AT ⎛ −1 0 ⎜ ⎜ 0 −1 ⎜ ⎜ .. ··· = −⎜ ⎜ . ⎜ 0 0 ⎜ ⎝ 1 1 −μ1 −μ2 ⎛ −1 ⎜ ⎜ 0 ⎜ ⎜ .. ⎜ . ⎜ = −⎜ . ⎜ .. ⎜ ⎜ 0 ⎜ ⎝ 1 −μ1
=
⎞ ··· 0 ⎟⎛ 1 .. . 0 ⎟ ⎟ 2σ2 .. ⎟ ⎜ 1 .. ⎜ . . ⎟ ⎟⎝ ⎟ · · · −1 ⎟ 0 ··· 1 ⎠ · · · −μn 0 −1 ···
··· 0 1 −μ2
0 ..
. 1 2 2σn
⎞
⎛
⎜ ⎟⎜ ⎟⎜ ⎠⎜ ⎝
⎞ ··· ··· 0 ⎟ .. . ··· 0 ⎟ ⎟⎛ .. ⎟ − 2σ1 2 .. .. 1 . . . ⎟ ⎟⎜ .. ⎟ ⎜ .. ⎝ . ··· . ⎟ ⎟ 0 · · · · · · −1 ⎟ ⎟ ··· ··· 1 ⎠ · · · · · · −μn ⎛ 1 0 ... 2σ2 ⎜ 1 .. ⎜ . + 2σ1 2 ⎜ 0 2 ⎜ ⎜ .. .. .. ⎜ . . . ⎜ . = −⎜ .. ⎜ 0 ··· ⎜ ⎜ ⎜− 1 2 ··· ··· ⎜ 2σ1 ⎜ ⎝ μ + 2σ12 ··· ··· 1
−1
0
··· 0 1 . −1 . . 0 1 .. .. .. . ··· . . 0 · · · −1 1
0 .. . 0
0 ..
1 2σ12
−μ1 2σ12
1 2 2σn
−μn 2 2σn
.. .
. − 2σ12
n
0
− 2σ1 2
0 .. .
− 2σ1 2 2 .. .
1 2 2σn
− 2σ12 n n 1
1
− 2σ12
n
μn + 2σ 2
n
i=1 n i=1
2σi2
−μi 2σi2
−μ1
⎞
⎟ −μ2 ⎟ ⎟ .. ⎟ . ⎠ −μn
⎞
.. ⎟ ⎟ . ⎠
μ1 + 2σ 2
⎞
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ μn ⎟ + 2σ2 ⎟ n ⎟ n −μi ⎟ 2 2σi ⎟ ⎟ i=1 n μ2 ⎠ 1
μ2 + 2σ 2 2 .. .
i
i=1
2σi2
Die letzten beiden Zeilen der obigen Matrix sind die (n + 1)-te und (n + 2)-te Zeile. Man beachte noch das Minuszeichen! c)
Das Dualproblem zu I lautet: max θ1 (u) = inf {a(x) + u · b(x)} u≥0
x∈Γ
Das Dualproblem zu II lautet: max θ2 (v) = inf {b(x) + v · a(x)} v≥0
x∈Γ
Wir gehen davon aus, dass zu θ1 alle Infimum-Werte zu den u’s schon bestimmt sind. Dann k¨onnen wir f¨ur alle v = 0 folgern: 1 1 1 · b(x) + a(x) = v · inf a(x) + · b(x) = v · θ1 θ2 (v) = v · inf x∈Γ v x∈Γ v v Also ist θ2 (v) f¨ur v > 0 indirekt bereits bekannt.
13.6 L¨osungen zu den Dualit¨atss¨atzen
367
Es fehlt nur noch die Berechnung von θ2 (0) = inf {b(x)} um zu vergleichen. x∈Γ 1 Also ist max θ2 (v) = max θ2 (0), max θ1 v · v v>0
L¨osung zu 13.5.3 max θ(u1 , u2 ) unter u1 , u2 ≥ 0 θ(u1 , u2 ) = •
(DP ) inf {x21 x∈R2
+
x22
2
2
+ u1 ((x1 − 1) − x2 ) + u2 ((x1 + 1) − x2 )}
F¨ur die Berechnung des Infimums ergibt sich: ϕ(x, u) = x21 + x22 + u1 (x1 − 1)2 − u1 x2 + u2 (x1 + 1)2 − u2 x2 2x1 + u1 · 2(x1 − 1) + u2 · 2(x1 + 1) ∇x ϕ(x, u) := 2x2 − u1 − u2 2(x1 (1 + u1 + u2 ) − u1 + u2 ) = 0 ∇x ϕ(x, u) = 0 ⇔ 2x2 = u1 + u2 u1 − u2 1 , x2 = (u1 + u2 ) ⇔ x1 = 1 + u1 + u2 2
•
1 + u1 + u2 ≥ 1 (wegen u1 , u2 ≥ 0) 2 + 2u1 + 2u2 ∇2x ϕ(x, u) = 0
0 2
positiv definit ∀x, u ≥ 0
u1 −u2 ⇒ ϕ(x, u) konvex in x ⇒ (x1 , x2 ) = ( 1+u , 1 (u1 + u2 )) ist globaler Minimalpunkt 1 +u2 2 λ , 12 ξ), wobei λ = u1 − u2 , ξ = u1 + u2 , daraus folgt wegen Hinweis: (x1 , x2 ) = ( 1+ξ
2 λ λ2 1 2 1 ξ (λ + ξ) − 1 + + − (1 + ξ)2 4 2 1+ξ 2 1 1 1 1 1 λ − (λ + ξ) · ξ + (ξ − λ) + 1 − (ξ − λ) · ξ = 2 2 2 1+ξ 2 2 λ2 λ2 1 1 1 2 λ λ2 + + (λ + ξ) + (ξ − λ) + ξ − (λ + ξ) = 2 2 2 (1 + ξ) 2 (1 + ξ) 2 (1 + ξ) 4 1+ξ 1 1 λ 1 1 + (λ + ξ) − (λ + ξ)ξ + (ξ − λ) + (ξ − λ) − (ξ − λ)ξ = 2 4 1+ξ 2 4 2 2 2 λ 1 ξλ 1 2λ = + ξ − ξ2 = + + ξ2 − (1 + ξ)2 (1 + ξ)2 4 1+ξ 2 1 1 ξ 2 + ξ − ξ2 = = λ2 + − (1 + ξ)2 (1 + ξ)2 1+ξ 4 ˜ ξ) = θ(u1 , u2 ) = θ(λ,
368
III: 13 Dualit¨at in der nichtlinearen Optimierung
= λ2 •
1+ξ 2 − (1 + ξ)2 1+ξ
1 + ξ − ξ 2 = λ2 4
−1 (1 + ξ)
1 + ξ − ξ2 4
max θ(u1 , u2 ) unter u1 , u2 ≥ 0 ist a¨ quivalent zu ˜ ξ) unter 1 (λ + ξ ) ≥ 0, 1 (ξ − λ) ≥ 0 max θ(λ, 2 2 =u1
=u2
˜ ξ) unter λ + ξ ≥ 0, ξ ≥ λ ⇔ max θ(λ, 1 1 + ξ − ξ 2 unter ξ ≥ −λ, λ ≥ ξ ⇔ max −λ2 1+ξ 4 •
Diskussion des Problems: wegen ξ = u1 + u2 gilt ξ ≥ 0 ⇒
1 1+ξ
> 0 ⇒ F¨ur alle zul¨assigen (λ, ξ) ist
˜ ξ) ≤ θ(0, ˜ ξ) (große λ senken die Zielfunktion) θ(λ, ˜ ξ) zu untersuchen. ⇒ es gen¨ugt θ(0, 1 max ξ − ξ 2 unter ξ ≥ 0 4 ˜ ξ) = 1 − 1 ξ = 0 ⇒ ξ = 2 (ξ = 2 zul¨assig) ∇ξ θ(0, 2 ˜ ξ) konkav in ξ ⇒ ξ = 2 globaler Maximalpunkt wegen θ(0, •
(λ, ξ) = (0, 2) dualer Optimalpunkt“ ” 1 1 ⇒ (u1 , u2 ) = ( (0 + 2), (2 − 0)) = (1, 1) dualer Optimalpunkt 2 2
•
nach obiger Berechnung betrachte x =
λ , 1ξ 1+ξ 2
T
= (0, 1)T . Also erf¨ullen x = (0, 1)T
und u = (1, 1)T die Bedingungen u¨ ber Duale-Optimalpaare (gi (x) = 0, ϕ(x, u) = min ϕ(x, u)) x
⇒ (x, u) Sattelpunkt, keine Dualit¨atsl¨ucke ⇒ x primale Optimall¨osung mit Optimalwert f (x) = 1 und Optimalwert θ(x, u) = 1
13.7 Sattelpunkte Interpretiert man die Behandlung der Partnerprobleme als den gleichzeitigen Versuch, eine von x und (u, v) abh¨angige Funktion maximal bzgl. (u, v) und minimal bzgl. x zu gestalten, dann stellt sich die Frage nach Sattelpunkten.
13.7 Sattelpunkte
369
Definition 13.10 Φ(x, u, v) := f (x)+ uT g(x)+ v T h(x) mit Φ : (Rn × Rm × R ) → R heißt Sattelpunktfunktion oder Lagrange-Funktion. Ein Punkt (x, u, v) heißt Sattelpunkt, wenn gilt: x ∈ Γ, u ≥ 0 und Φ(x, u, v) ≤ Φ(x, u, v) ≤ Φ(x, u, v) ∀ x ∈ Γ und ∀ (u, v) mit u ≥ 0. Solche Sattelpunkte kann man u¨ ber Einzelbedingungen charakterisieren. Satz 13.11 Ein Punkt (x, u, v) mit x ∈ Γ und u ≥ 0 ist genau dann ein Sattelpunkt f¨ur Φ(x, u, v) = f (x) + uT g(x) + v T h(x), wenn gilt: (a)
Φ(x, u, v) = minx∈Γ Φ(x, u, v).
(b)
g(x) ≤ 0 und h(x) = 0.
(c)
uT g(x) = 0.
Zus¨atzlich ist (x, u, v) genau dann Sattelpunkt, wenn x und (u, v) beides Optimalpunkte zu dem primalen und dualen Problemen (M P ) und (DP ) ohne Dualit¨atsl¨ucke sind. Das heißt also f (x) = Θ(u, v). Der folgende Satz gibt Voraussetzungen daf¨ur an, dass ein Sattelpunkt existiert. Satz 13.12 Seien Γ, f und g konvex und h affin linear, das heißt h(x) = Ax − b. Weiter sei 0 ∈ Int(h(Γ)) und es gebe ein x ˆ mit g(ˆ x) < 0 und h(ˆ x) = 0. Wenn x Optimalpunkt f¨ur (M P ) ist, dann existiert (u, v) mit u ≥ 0, so dass (x, u, v) Sattelpunkt ist. Schließlich wird erkannt, dass es eine enge Wechselwirkung zwischen einer Sattelpunktseigenschaft von (x, u, x) und der Erf¨ullung der KKT-Bedingungen gibt. Satz 13.13 (a) x ∈ Γ erf¨ulle die KKT-Bedingungen und f und g seien differenzierbar, das heißt: ∇f (x)T + uT ∇g(x) + v T ∇h(x) uT g(x) g(x) h(x) u v beliebig.
= = ≤ = ≥
0 0 0 0 0
370
III: 13 Dualit¨at in der nichtlinearen Optimierung
f , gI seien konvex bei x. F¨ur vj = 0 sei jeweils hj affin linear. Dann ist (x, u, v) f¨ur Φ(x, u, v) = f (x) + uT g(x) + v T h(x) ein Sattelpunkt. (b)
Erf¨ullt (x, u, v) die Sattelpunktkriterien und ist x ∈ Int(Γ), u ≥ 0, so ist x zul¨assig f¨ur (M P ) und (x, u, v) erf¨ullen die KKT-Bedingungen.
13.8 Aufgaben zu Sattelpunkten Aufgabe 13.8.1
u sei ein fest gegebener Vektor aus Rm+ mit u ≥ 0, v beliebig. Betrachte die Problemstelv lung min f (x) + uT g(x) + v T h(x) unter x ∈ Rn f¨ur dieses feste Paar (u, v). x ∈ Rn l¨ose f¨ur dieses Paar (u, v) obiges Problem optimal. a)
Zeigen Sie: Das gleiche x l¨ost ebenfalls optimal die Problemstellung min f (x) unter gi (x) ≤ gi (x)
∀i mit ui > 0
hj (x) = hj (x) b)
(M P a )
f¨ur j = 1, . . . , .
Zeigen Sie ausgehend von a): Ist ausgerechnet g(x) ≤ 0, h(x) = 0, uT g(x) = 0, dann ist x optimal f¨ur min f (x) unter g(x) ≤ 0
(M P b )
h(x) = 0 und gleichzeitig ist das Paar (u, v) optimal zu max Θ(u, v) mit Θ(u, v) = infn f (x) + uT g(x) + v T h(x) .
u≥0,v
x∈R
Aufgabe 13.8.2 Betrachten Sie die beiden quadratischen Optimierungsprobleme (ohne Restriktionen): ⎛ ⎞ ⎛ ⎞ −1 1 1 1 a) maximiere 12 xT Qx − q T x u¨ ber R3 mit Q = ⎝ 1 −4 0⎠, q = ⎝2⎠. 1 0 −2 3
(DP )
13.8 Aufgaben zu Sattelpunkten
371
⎛
b)
⎞ ⎛ ⎞ −1 2 0 2 maximiere 12 xT P x − pT x u¨ ber R3 mit P = ⎝ 2 −1 1⎠, p = ⎝1⎠. 0 1 −1 0
Stellen Sie jeweils fest, ob die Matrix negativ definit beziehungsweise die Funktion strikt konkav ist und entscheiden Sie dann, ob ein Maximalpunkt⎛ oder⎞Sattelpunkt vorliegt. Falls die Funktion u nach oben unbeschr¨ankt ist, geben Sie eine Folge ⎝ v ⎠ von Punkten an, deren Funktionswert w gegen +∞ geht. Falls Sie beschr¨ankt ist, geben Sie den Maximalpunkt und den Maximalwert an, ansonsten den Sattelpunkt und dessen Funktionswert.
Aufgabe 13.8.3 Beweisen Sie, dass f¨ur ein quadratisches Optimierungsproblem 1 min xT Cx 2
unter Ax ≤ b
(M P )
mit C ∈ R(n,n) , C positiv semidefinit, A ∈ R(m,n) und der Eigenschaft ∃x mit Ax ≤ b Folgendes gilt: Das Dualproblem besitzt eine endliche Maximall¨osung und es gibt keine Dualit¨atsl¨ucke. Hinweis: Sie d¨urfen dabei voraussetzen, dass eine quadratische Funktion auf einem polyedrischen Zul¨assigkeitsbereich ihren Minimalwert, sofern die Zielfunktion von unten beschr¨ankt ist, auch annimmt. F¨uhren Sie dazu folgende Teilschritte aus und verwenden Sie bei Ihren Ausf¨uhrungen stets die konkreten Parameter des angegebenen Optimierungsproblems, das heißt, vermeiden Sie f , g (f¨ur Ziel- und Nebenbedingungsfunktionen) und verwenden Sie die Darstellung mit C, A und b. a)
Formulieren Sie das Dualproblem.
b)
Weisen Sie nach, dass an einem Optimalpunkt von (M P ) die KKT-Bedingungen gelten.
c)
Geben Sie die KKT-Bedingungen an.
d)
Weisen Sie nach, dass ein Paar (x, u), welches die KKT-Bedingungen erf¨ullt, einen Sattelpunkt bildet, und geben Sie die Funktion Φ(x, u) an.
e)
Zeigen Sie, dass u aus d) nun wirklich das Dualproblem l¨ost und dass keine Dualit¨atsl¨ucke entsteht.
372
III: 13 Dualit¨at in der nichtlinearen Optimierung
13.9 L¨osungen zu Sattelpunkten L¨osung zu 13.8.1 a)
x erf¨ullt sicher auch die Anforderungen des (M P a )-Problems. Sei nun x ˆ ein Konkurrenzpunkt, der dies ebenfalls tut. Dann gilt wegen Optimalit¨at von x im oberen Problem x) + v T h(ˆ x) ≥ f (x) + uT g(x) + v T h(x) f (ˆ x) + uT g(ˆ x) = v T h(x) und uT g(ˆ x) ≤ uT g(x) bei ui > 0. Nun ist aber v T h(ˆ x) = v T h(x) gilt daher Wegen v T h(ˆ x) ≥ f (x) + uT g(x) f (ˆ x) + uT g(ˆ sowie f (ˆ x) ≥ f (x) + uT (g(x) − g(ˆ x)) ≥ f (x).
Also ist dieser (zugelassene) Konkurrenzpunkt nicht besser als x. Somit ist x optimal. b)
g(x) ≤ 0, h(x) = 0, uT g(x) = 0 seien zus¨atzlich eingetroffen. Dann ist wegen a) x auch optimal zu min f (x) unter gi (x) ≤ gi (x) ≤ 0 ∀i mit ui > 0 hj (x) = hj (x) = 0 ∀j = 1, ..., l Nachdem f¨ur einen Konkurrenzpunkt x ˆ x) + v T h(ˆ x) ≥ f (x) + uT g(x) +v T h(x) f (ˆ x) + uT g(ˆ =0 n.V.
=0 n.V.
=0 n.V.
gelten m¨usste, folgt x) ≥ f (x), wobei u ≥ 0, g(ˆ x) ≤ 0 ⇒ f (ˆ x) ≥ f (x). f (ˆ x) + uT g(ˆ Die Zul¨assigkeitsmenge von (M P b ) ist aber Teilmenge von (M P a ) (es kommen noch die Bedingungen gi (x) ≤ 0 f¨ur die i mit ui = 0 hinzu) und x erf¨ullt die Zusatzbedingungen ⇒ x ist (M P b )-optimal. Nun gilt aber
f (x) = f (x) + uT g(x) +v T h(x) =0
=0
und damit ist der primale Wert gleich einem dualen Wert. Somit ist (u, v) optimal f¨ur (DP ).
⎛ ⎞ u Wir zeigen, dass Q negativ definit ist. Dazu sei x = ⎝ v ⎠. w
L¨osung zu 13.8.2 a)
xT Qx = −u2 − 4v 2 − 2w2 + 2uv + 2uw + 0vw =
13.9 L¨osungen zu Sattelpunkten
373
1 1 − u2 − 2w2 + 2uw + − u2 − 4v 2 + 2uv = 2 2 2 √ 1 1 2 1 2 2 = − √ u − 2w − u + − u − 4v + 2uv = 4 4 2 2 2 √ 1 1 1 u − 2v < 0 ∀x = 0 = − √ u − 2w − u2 − 4 2 2
=
Somit ist Q negativ definit. Um den Maximalpunkt zu bestimmen, m¨ussen wir eine L¨osung von Qx = q errechnen: ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ −1 1 1 1 1 −1 −1 −1 1 0 − 54 −2 −12 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 2⎠ → ⎝0 −3 1 3⎠ → ⎝0 1 − 31 −1⎠ ⇒ x = ⎝ − 27 ⎠ ⎝ 1 −4 1 0 −2 3 0 1 −1 0 0 − 32 4 5 − 15 2 T . Der dortige Zielfunktionswert Ein Maximalpunkt befindet sich also bei −12, − 27 , − 15 2 lautet 20 43 . b)
Wir zeigen, dass P nicht negativ definit ist xT P x = −u2 − v 2 − w2 + 4uv + 2vw = = −u2 − v 2 − w2 − (2u − v)2 − (v − w)2 + 4u2 + 2v 2 + w2 = = 3u2 + v 2 − (2u − v)2 − (v − w)2 T Dies ist nach oben unbeschr¨ankt f¨ur v = 2u und w = v (z. B. 1, 12 , 12 ). Also muss ein Sattelpunkt vorliegen. Dies ist der Fall bei der L¨osung von P x = p. ⎞ ⎞ ⎛ ⎛ ⎞ ⎛ ⎞ ⎛ 4 1 1 −2 0 −2 1 0 − 32 −1 2 0 2 3 2 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ 5 ⇒ x = ⎝ 54 ⎠ 1 1⎠ → ⎝0 3 1 5⎠ → ⎝0 1 − 31 ⎝ 2 −1 3⎠ 5 0 1 −1 0 0 1 −1 0 0 0 − 34 − 53 4 5 5 T 2, 4, 4
1
ist Sattelpunkt mit Funktionswert − 98 .
L¨osung zu 13.8.3 a)
b)
max mit
Θ(u) Θ(u) = infn 12 xT Cx + uT (Ax − b)
unter
u≥0
x∈R
Z. z.: x Optimalpunkt von (M P ) ⇒ x ist KKT-Punkt Bekannt: bei linearen Nebenbedingungen gilt die Abadie-CQ und damit ist jeder (LM P )Punkt auch KKT-Punkt.
374
c)
III: 13 Dualit¨at in der nichtlinearen Optimierung
KKT-Bedingung: xT C + uT A = 0
d)
uT (Ax − b) = 0
u≥0
Z. z.: (x, u) ist KKT-Punkt ⇒ (x, u) Sattelpunkt. •
(x, u) erf¨ullt KKT-Bedingungen
•
1 T 2 x Cx
ist eine konvexe Funktion (g(x) =)Ax − b ist eine lineare Funktion ⇒
konvex
Unter diesen Voraussetzungen ist bekannt: (x, u) ist Sattelpunkt f¨ur Φ(x, u) = 12 xT Cx + uT (Ax − b) e)
Z. z.: u ist Optimall¨osung f¨ur (DP ) (x, u) Sattelpunkt (nach Teil d) s.o.) ⇒ x, u Optimall¨osungen f¨ur (M P ) bzw. (DP ) ohne Dualit¨atsl¨ucke.
Kapitel 14
B¨aume und W¨alder 14.1 Minimale aufspannende B¨aume Folgende Grundtatsachen sind essenziell f¨ur die algorithmische Behandlung von Graphen.
Lemma 14.1 Gegeben sei ein zusammenh¨angender Graph G = (V, E) mit n Knoten und m Kanten. Dann gelten folgende Aussagen a)
Das sukzessive Anf¨ugen von Kanten e = uv ∈ E an eine wachsende Kantenmenge T (mit u ∈ V (T ), v ∈ / V (T )) ausgehend von T = ∅ f¨uhrt nach n − 1 Anf¨ugungen zu einem aufspannenden Baum von G.
b)
Ein Graph (Teilgraph) mit lauter Knoten vom Grad ≥ 2 beinhaltet einen Kreis.
c)
Der sukzessive Abbau eines Graphen durch Weglassen eines Knotens vom aktuellen Grad 1 und der dazu inzidenten Kante l¨oscht genau dann alle Kanten, wenn der Graph kreisfrei ist.
d)
Ein aufspannender Baum von G hat genau n − 1 Kanten und jede Kantenmenge von mehr als n − 1 Kanten beinhaltet einen Kreis.
Wir haben bereits einiges u¨ ber B¨aume, Wege und Kreise in purer Form gelernt. Nun sollen diese Erkenntnisse noch verkn¨upft werden mit Bewertungen der Kanten, so dass man Objekte einer gewissen Struktur sucht, die von dieser Bewertung her optimal sind. So besch¨aftigen wir uns nun mit dem Problem, in einem kantengewichteten Graphen einen (wert-) minimalen“ aufspannen” den Baum zu finden. Der folgende Algorithmus von Kruskal versucht das Gesamtproblem dadurch zu l¨osen, dass er jeweils die lokal beste Entscheidung tifft. Dies wird mit dem Stichwort (Greedy = gefr¨aßig) gekennzeichnet.
382
IV: 14 B¨aume und W¨alder
Algorithmus 14.2 (Greedy-Min (Kruskal-Algorithmus)) Input: Graph G = (V, E) mit Kantengewichten c(e) ∀ e ∈ E Output: Inklusionsm¨aßig maximaler Wald T ⊂ E mit Minimalgewicht C(T ). 1.
Sortieren: Numeriere die Kanten so, dass c(e1 ) ≤ c(e2 ) ≤ . . . ≤ c(em ).
2.
Setze T := ∅
3.
F¨ur i := 1, . . . , m f¨uhre aus: Falls T ∪ {ei } keinen Kreis enth¨alt, setze T := T ∪ {ei }.
4.
Gib T aus.
Satz 14.3 Greedy-Min liefert einen inklusionsmaximalen Wald T , dessen Gewicht minimal ist. Falls G zusammenh¨angend ist, wird T zu einem aufspannenden Baum von G mit minimalem Gewicht.
Lemma 14.4 Ein Graph ist genau dann kreisfrei, wenn innerhalb jeder Teilmenge W ⊂ V in G[W ] h¨ochstens #(W ) − 1 Kanten verlaufen. Zur Feststellung von Kreisfreiheit oder aber zum Nachweis einer kreishaltigen Komponente kann folgende Methode dienen. Algorithmus 14.5 Zwecke: a)
Nachweis von Kreisfreiheit oder Konstruktion einer (sicher) kreishaltigen Komponente.
b)
Konstruktion eines Waldes bzw. komponentenaufspannender B¨aume.
1.
Definiere eine Komponente Vi f¨ur jeden Knoten vi (i = 1, . . . , n) und setze T := ∅.
2.
F¨ur i := 1, . . . , m f¨uhre aus: (a) (b)
3.
Betrachte ei = uv, suche V (u) und V (v).
Sind beide verschieden, dann vereinige V (u) und V (v) zu einer gemeinsamen Komponente und f¨uge ei an T an. Sind beide Komponenten gleich, dann ist klar, dass diese Komponente V (u) = V (v) einen Kreis besitzt, welcher ei enth¨alt. Markiere V als kreishaltig.
Gib die jetzt noch vorhandenen Komponenten zusammen mit der Information u¨ ber Kreishaltigkeit und die Gestalt von T aus.
14.1 Minimale aufspannende B¨aume
383
Bemerkung Der Aufbau von T f¨uhrt zu einem Wald, in jeder Komponente zu einem aufspannenden Baum. Sind die Kanten wie vorher in Kruskals Algorithmus sortiert, dann entsteht ein inklusionsmaximaler, aber gewichtsminimaler Wald. Der folgende Algorithmus gibt in schneller Weise die M¨oglichkeit, die Nachbarschaftsstrukturen, Zusammenh¨ange und Kreishaltigkeit zu erkennen.
Algorithmus 14.6 (Breitensuche) Input: Graph G = (V, E). Zweck: Nachbarschaftserkundung, Kreiskonstruktion, Zusammenhangserkennung. Initialisierung: Listen L := [∅], M := [∅] und Vorg¨angereintrag VOR(v) := ∅ ∀ v ∈ V. 1.
Falls V = ∅, dann w¨ahle v ∈ V und setze w1 = v. Falls V = ∅, dann gehe zu (11).
2.
Trage w1 in die Liste L ein, L := [w1 ].
3.
Bestimme die direkten Nachbarn zu w1 (wI1 , . . . , wIr ). Erg¨anze die Liste zu L := [w1 , wI1 , . . . , wIr ].
4.
L¨osche alle Kanten von w1 zu seinen Nachbarn und markiere w1 , das heißt M := [w1 ].
5.
Bestimme das erste unmarkierte Element u1 in L. Gibt es kein solches, dann gehe zu (9). Ansonsten bestimme alle direkten Nachbarn zu u1 (uI1 , . . . , uIs ). Erg¨anze die Liste zu L := [L, uI1 , . . . , uIs ].
6.
Setze VOR(uI1 ) := . . . := VOR(uIs ) := u1 . Enth¨alt L jetzt zweimal das gleiche Element, dann hat sich ein Kreis geschlossen. Gib diesen Kreis aus mit Vorg¨angerbestimmung. L¨osche nun das Element beim zweiten Auftreten in L.
7.
L¨osche alle Kanten von u1 zu seinen Nachbarn und markiere u1 , das heißt M := [M, u1 ].
8.
Gehe zu (5).
9.
Gib M als eine Komponente aus.
10.
Setze V := V \ M und E := E(V \ M ), L := [∅], M := [∅]. Gehe damit zur¨uck zu (1).
11.
STOP nach v¨olliger Abarbeitung von V .
Wir haben jetzt mit dem Hilfsmittel der Kreisfreiheit (bzw. ihres Nachweises) einen gewichtsminimalen aufspannenden Baum f¨ur zusammenh¨angende Graphen (bzw. Komponenten) finden k¨onnen. Ein alternativer Ansatz dazu ist die entsprechende Verwendung des Hilfsmittels Zusammenhang. Dieser soll bei Abbau des Ausgangsgraphen erhalten bleiben.
384
IV: 14 B¨aume und W¨alder
Algorithmus 14.7 (Dualer Greedy-Algorithmus) Input: Zusammenh¨angender Graph G mit Kantengewichten. Output: Aufspannender Baum mit minimalen Gewicht. 1.
Sortiere, so dass c(e1 ) ≤ . . . ≤ c(em ).
2.
Setze T := E
3.
F¨ur i := m, . . . , 1 f¨uhre aus: Falls T \ {ei } noch zusammenh¨angend bleibt, dann setze T := T \ {ei }.
4.
Ausgabe von T.
Dazu brauchen wir in (3) eine Prozedur, die ermittelt, ob der Zusammenhang noch gew¨ahrleistet ist. Dazu kann man auch wieder Breitensuche oder folgenden Algorithmus einsetzen. Algorithmus 14.8 (Test auf Verlust des Zusammenhangs durch uv-Entfernung) Input: Zusammenh¨angender Graph G und neuer Graph G := G \ {uv}. Output: Aufspannender Baum f¨ur G , wenn G zusammenh¨angt. 1.
W¨ahle den Knoten u aus. Setze T = {u}.
2.
/ T, T := T ∪ {a }. Wiederhole dies so F¨uge an T eine Kante an mit e = aa , a ∈ T, a ∈ lange wie m¨oglich.
3.
Befindet sich am Ende v in T , dann ist der Zusammenhang erhalten geblieben, ansonsten nicht.
Satz 14.9 Der duale Greedy-Algorithmus arbeitet korrekt.
Algorithmus 14.10 (Gemeinsames Prinzip f¨ur Greedy-Algorithmen) Input: Zusammenh¨angender Graph mit Kantengewichten. Output: Aufspannender Baum minimalen Gewichts. Initialisierung: Setze Vi := {i} ∀ i ∈ V und Ti := ∅ (Kantenmenge). Typischer Schritt: F¨uhre (n − 1)-mal aus (a)
W¨ahle nichtleere Menge Vi
(b)
W¨ahle Kante uv ∈ E mit u ∈ Vi , v ∈ V \ Vi und c(uv) ≤ c(pq) ∀ pq ∈ E mit p ∈ Vi , q ∈ V \ Vi .
14.2 Aufgaben zu minimalen aufspannenden B¨aumen
385
(c)
Bestimme j so, dass v ∈ Vj .
(d)
Setze Vi := Vi ∪ Vj (falls #(Vi ) ≥ #(Vj )), bzw. Vj := Vi ∪ Vj (falls #(Vj ) ≥ #(Vi )). Setze andere Menge auf ∅.
(e)
Setze Ti := Ti ∪ Tj ∪ {uv} im ersten Fall oder Tj := Ti ∪ Tj ∪ {uv} im zweiten Fall.
Ausgabe: Gib T mit Ti = ∅ aus.
Satz 14.11 Algorithmus 14.10 liefert einen gewichtsminimalen aufspannenden Baum zu jedem zusammenh¨angenden Graphen.
F¨ur den Spezialfall von vollst¨andigen Grundgraphen eignet sich besonders gut der folgende Algorithmus, der als Spezialversion des vorigen Algorithmus betrachtet werden kann. Die Modifikation beruht darauf, dass hier immer die gleiche Komponente anzieht.
Algorithmus 14.12 (Prim-Verfahren f¨ur Graphen) Input: Zusammenh¨angender Graph mit Kantengewichten. Output: Aufspannender Baum von minimalem Gewicht. Typischer Schritt: 1.
W¨ahle w ∈ V und setze T := ∅, W := {w}, V := V \ {w}.
2.
Ist V = ∅, dann gib T aus. STOP.
3.
W¨ahle eine Kante uv ∈ δ(W ) mit c(uv) = min{c(e)|e ∈ δ(W )}.
4.
Setze T := T ∪ {uv}, W := W ∪ {v}, V := V \ {v}. Gehe zu (2).
14.2 Aufgaben zu minimalen aufspannenden B¨aumen Aufgabe 14.2.1 a)
Ein Graph G ist genau dann zusammenh¨angend, wenn f¨ur jede Zerlegung V = V1 ∪ V2 , V1 ∩ V2 = ∅ der Knotenmenge V eine Kante e = vw existiert, so dass v ∈ V1 und w ∈ V2 gilt.
b)
G sei ein einfacher Graph mit n Knoten, von denen jeder einen Grad ≥ Sie, dass G zusammenh¨angend ist.
n−1 2
hat. Zeigen
386
IV: 14 B¨aume und W¨alder
Aufgabe 14.2.2 Breadth First Search: Gegeben sei ein zusammenh¨angender Graph G = (V, E), Q sei eine Liste und T eine Kantenmenge. Betrachten Sie den folgenden Algorithmus: 1.
Alle Knoten in V seien unmarkiert.
2.
Setze Q := ∅ und T := ∅.
3.
W¨ahle v ∈ V , markiere v und f¨uge v an Q an.
4.
Solange Q = ∅ f¨uhre aus: (a)
Entferne den ersten Knoten s von Q aus Q.
(b)
F¨ur alle Knoten t mit st ∈ E f¨uhre aus: Falls t unmarkiert ist, dann setze T := T ∪ {st}, markiere t und f¨uge t an das Ende der Liste Q an.
5.
Gib T aus.
Die Aufgabenstellung lautet dann: a)
Zeigen Sie, dass der Algorithmus einen aufspannenden Baum T liefert.
b)
Welche Komplexit¨at hat der Algorithmus, wenn der Graph als Kantenliste abgespeichert wird?
c)
Welche Komplexit¨at hat der Algorithmus, wenn der Graph als Adjazenzliste abgespeichert wird? (Bei einer Adjazenzliste wird zu jedem Knoten eine Liste mit den Nachbarknoten abgespeichert.)
Aufgabe 14.2.3 Zeigen Sie, dass ein geschlossener Kantenzug von beliebiger L¨ange einen Kreis (also einen geschlossenen Weg, in dem sich kein innerer Knoten wiederholt) enth¨alt.
Aufgabe 14.2.4 Im Breitensuchalgorithmus (BFS, Breadth First Search) wird die Menge Q der aufgefundenen und noch zu untersuchenden Knoten wie eine Liste verwaltet (das heißt hinzugef¨ugt wird an das Ende von Q, entfernt wird vom Anfang von Q). Im Tiefensuchalgorithmus (DFS, Depth First Search) wird Q stattdessen wie ein Stapel verwaltet (das heißt hinzugef¨ugt wird an das Ende von Q, entfernt wird vom Ende von Q). F¨uhren Sie BFS und DFS an dem Graphen mit Knoten V = {a, b, c, d, e, f, g, h, i, j, k, l} aus, der durch folgende Adjazenzmatrix gegeben ist.
14.2 Aufgaben zu minimalen aufspannenden B¨aumen
a b c d e f g h i j k l
a 0 1 1 1 0 1 0 0 1 0 1 0
b 1 0 1 0 1 0 1 0 1 1 1 0
c 1 1 0 1 1 0 1 1 1 0 0 1
d 1 0 1 0 0 0 1 1 0 0 0 1
e f 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0
387
g 0 1 1 1 1 1 0 1 0 0 1 1
h 0 0 1 1 0 1 1 0 0 1 0 0
i 1 1 1 0 0 1 0 0 0 1 0 1
j 0 1 0 0 1 0 0 1 1 0 1 1
k 1 1 0 0 1 0 1 0 0 1 0 1
l 0 0 1 1 0 0 1 0 1 1 1 0
Aufgabe 14.2.5 Auf der Menge der Kanten des Graphen G = (V, E) mit Knotenmenge V = {1, 2, . . . , 12} ist die Gewichtsfunktion w folgendermaßen gegeben: w 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 7 12 10 15 − 13 − 8 1 − − 11 5 7 13 − − 8 12 − 6 − − − − 2 11 − − − − − 6 19 6 7 − − − − − − 10 − − − − − − − − 11 − − − − − − − 12
9
10 11
10 17 19 3 − 14
Es ist w(i, j) = −, falls i und j nicht durch eine Kante verbunden sind. Bestimmen Sie mit den folgenden Algorithmen jeweils einen minimalen aufspannenden Baum. 1.
Greedy-Min-Algorithmus
2.
Dualer Greedy-Algorithmus
3.
Algorithmus von Prim
Zeichnen Sie jeweils den Gesamtgraphen und machen Sie kenntlich, welche Kanten Sie ausw¨ahlen bzw. entfernen.
388
IV: 14 B¨aume und W¨alder
Aufgabe 14.2.6 Im gewichteten Graphen aus den Knoten 1, . . . , 12 gem¨aß folgender Zeichnung soll ein minimaler aufspannender Baum bestimmt werden. Die Zahlen an den Kanten geben sowohl die Nummer der Kante als auch deren Gewicht an. Es gilt also immer c(ei ) = i. Wenden Sie das Prim-Verfahren an und beginnen Sie mit dem Knoten 1. Zeichnen Sie den aktuellen Baum und die neue Kante und machen Sie deutlich, welche Knoten bisher zu W geh¨oren. Fertigen Sie eine Kantenliste an, in der die verbundenen Knoten eingetragen sind, und geben Sie parallel dazu den Stand der Knotenmenge W an. In dieser Liste sollten Sie jeweils vermerken, ob eine Kante bereits aufgenommen ist oder noch nicht behandelbar oder endg¨ultig u¨ berfl¨ussig ist. 1 2
1 16 11
10
25
4 9
2
11
15 17
3
3
5
13
27
24 26
21
12
7
18
30
5
14
23
4
28
6 6
8
22
8
31
20
29
28 9
7
29
10
19
14.3 L¨osungen zu minimalen aufspannenden B¨aumen L¨osung zu 14.2.1 a)
Es ist klar, dass die Bedingung notwendig ist. Warum ist sie hinreichend? Annahme: Bei G¨ultigkeit der Bedingung sei G unzusammenh¨angend, das heißt ∃ u, v, die nicht verbunden sind. Betrachte als V1 die Menge aller Punkte, die von u aus erreichbar sind, V2 als den Rest V \ V1 . Dann gibt es doch eine Verbindungskante wegen obiger Bedingung. (Widerspruch)
b)
Annahme: G w¨are nicht zusammenh¨angend, das heißt, es gibt Knotenmengen V1 , V2 (Komponenten) mit V1 ∩ V2 = ∅ und es gibt keine Kante e = v1 v2 ∈ E mit v1 ∈ V1 , v2 ∈ V2 , #(V1 ) + #(V2 ) = n. Betrachte diese kleinere Komponente (o. B. d. A. V1 ). Sie hat
14.3 L¨osungen zu minimalen aufspannenden B¨aumen
–
nicht mehr als
–
nicht mehr als
389
n 2 Knoten, wenn n gerade ist, und n−1 2 Knoten, wenn n ungerade ist.
Da es keine Br¨ucken von V1 nach V2 gibt, hat jeder Knoten von V1 (innerhalb von V1 ) oher als die Knotenanzahl (maximal n2 − 1), mit immer noch den Grad n−1 2 . Das ist aber h¨ denen dieser Knoten verbunden sein kann. (Widerspruch)
L¨osung zu 14.2.2 a)
Im Verlauf des Algorithmus gilt jeweils, dass T einen aufspannenden Baum f¨ur den Teilgraphen bildet, welcher durch die markierten Knoten induziert wird (Anf¨ugungen an Q). Weiterhin existiert f¨ur jeden markierten Knoten s ein (v, s)-Weg. Kanten zwischen markierten Knoten werden nicht aufgenommen. Dadurch bleibt Kreisfreiheit bestehen. Wegen des Zusammenhangs sind am Schluss alle Knoten markiert, T ist deshalb ein aufspanndender Baum f¨ur G.
b)
Komplexit¨at O(n · m)(≈ O(n3 )) bei Kantenliste. Man braucht n f¨ur Schritt 4, m f¨ur Unterschritt 4b.
c)
Komplexit¨at O(n2 ) bei Adjazenzliste. Man braucht n f¨ur Schritt 4 und n f¨ur den Unterschritt 4b.
L¨osung zu 14.2.3 Es sei ein Kantenzug v1 , . . . , vk beliebiger L¨ange von a = v1 nach a = vk gegeben. Gegenstand unserer Untersuchung ist jetzt die Sequenz der Knoten bei dieser gerichteten Bewegung. Wir betrachten diese Folge bis zum ersten Wiederauftreten von a und eliminieren den Rest der Sequenz. Damit haben wir einen geschlossenen Kantenzug, bei dem a nicht mehr als Innenknoten auftreten kann. Wir suchen nun nach einem Innenknoten (a kommt daf¨ur ja nicht mehr infrage), der zweimal auftritt. Dann entfernen wir alles bis zum ersten Auftreten und alles nach dem zweiten Auftreten des Knotens (o. B. d. A. heiße dieser b). Der verbleibende Kantenzug f¨uhrt von b nach b und enth¨alt weder a noch b als Innenknoten. Nach endlich vielen solcher Eliminationen (simultan vom Anfang und Ende) verbleibt eine Sequenz mit gleichem Anfangs- und Endknoten, der im Inneren nicht mehr auftritt, und mit ansonsten lauter verschiedenen Innenknoten.
L¨osung zu 14.2.4 Breitensuche: Hier verwendet man Q (die Menge der zu untersuchenden Knoten) wie eine Liste und arbeitet sie nach dem Prinzip First In – First Out“ ab. Wir starten also mit Knoten a. ” Auf Level 0 finden wir den Knoten a; dieser wird markiert. Die Knoten t mit at ∈ E sind b, c, d, f, i und k. All diese werden markiert und gem¨aß T := T ∪ {at} in T aufgenommen. Das Ergebnis ist T = {ab, ac, ad, af , ai, ak} sowie Q = {b, c, d, f, i, k}.
390
IV: 14 B¨aume und W¨alder
Nun greifen wir auf das erste Q-Element zu (= b) und bestimmen alle Nachbarn zu b. Dies sind a, c, e, g, i, j, k. Unmarkiert sind davon nur e, g, j. Diese (e, g, j) werden markiert. Q wird zu {c, d, f, i, k, e, g, j}. Anschließend greift man auf c aus Q zu. Die Nachbarn zu c sind a, b, d, e, g, h, i, j, . Unmarkiert sind davon nur h und . Man markiert auch diese. Damit sind alle markiert. a
c
b
g
e
j
h
f
d
i
k
Tiefensuche: Als Level 0 haben wir den Knoten a. Markiere also a. Nachbarn von a sind Q = {b, c, d, f, i, k}. Alle werden markiert mit Abstand 1. Am Ende von Q befindet sich k. Entferne deshalb k aus Q und ermittle alle Nachbarn von k, die unmarkiert sind. Dies sind e, g, j, . Diese werden nun markiert mit Abstand 2. Q wird aktualisiert zu Q = {b, c, d, f, i, e, g, j, }. Am Ende von Q haben wir . Entferne also aus Q und ermittle alle Nachbarn von , die unmarkiert sind. Dies ist aber keiner. Am Ende von Q haben wir nun j. Entferne also j aus Q und ermittle alle Nachbarn von j, die unmarkiert sind. Dies ist aber nur h. Markiere h mit Abstand 3. Nun sind alle Knoten markiert. a
b
c
d
f
i
e
k
g
j
h
14.3 L¨osungen zu minimalen aufspannenden B¨aumen
391
L¨osung zu 14.2.5 8
2 8
17
11
1
19
7
14
3
9
12
6
10
6
8
13
15
7
6
12
7
6
13
11
10 3
10
12 7
4 1.
11
19
5
12 1
11
5
2
10
Anwendung des Greedy-Min-Algorithmus Aufnahme von Aufnahme von Aufnahme von Aufnahme von Aufnahme von Aufnahme von
(5, 3) (8, 5) (12, 9) (6, 3) (7, 6) (9, 5)
in T in T in T in T in T in T
(Wert 1) (Wert 2) (Wert 3) (Wert 5) (Wert 6) (Wert 6)
5,3 neu 8 neu 12,9 neu 6 neu 7 neu beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5)}. Grad 1 haben die Knoten 8, 12, 7. Pfad im Restgraphen (9, 5) → (5, 3) → (3, 6). Dann nicht mehr fortsetzbar, also Aufnahme erlaubt. Keine Aufnahme von
(9, 7)
in T
(Wert 6)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (9, 7)}. Grad 1 haben die Knoten 8, 12. Erkennbar ist ein Kreis (9, 7) → (7, 6) → (6, 3) → (3, 5) → (5, 9). (9, 7) darf nicht aufgenommen werden. Aufnahme von Aufnahme von Keine Aufnahme von
(1, 2) (6, 4) (9, 8)
in T in T in T
(Wert 7) (Wert 7) (Wert 7)
1,2 beide neu 4 neu beide vorhanden
392
IV: 14 B¨aume und W¨alder
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (9, 8)}. Grad 1 haben die Knoten 1, 2, 4, 7. Nach L¨oschung verbleiben {(5, 3), (8, 5), (12, 9), (6, 3), (9, 5), (9, 8)}. Hier haben Grad 1 die Knoten 1, 2, 6, 3. Nach L¨oschung verbleiben {(8, 5), (9, 5), (9, 8)}. Es liegt ein Kreis vor, n¨amlich (8, 5) → (5, 9) → (9, 8) damit darf (9, 8) nicht aufgenommen werden. Aufnahme von
(5, 2)
in T
(Wert 8)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2)}. Grad 1 haben die Knoten 8, 12, 7, 1, 4. Nach L¨oschung verbleiben {(5, 3), (6, 3), (9, 5), (5, 2)}. Davon haben Grad 1: 2 und 6. Es verbleiben {(5, 3), (9, 5)} also kein Kreis. Keine Aufnahme von
(7, 3)
in T
(Wert 8)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (7, 3)}. Erkennbar ist ein Kreis (7, 3) → (3, 6) → (6, 7). Keine Aufnahme von
(3, 2)
in T
(Wert 10)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (3, 2)}. Erkennbar ist ein Kreis (3, 2) → (2, 5) → (5, 3). Aufnahme von Keine Aufnahme von
(10, 7) (10, 9)
in T in T
(Wert 10) (Wert 10)
10 neu beide vorhanden
14.3 L¨osungen zu minimalen aufspannenden B¨aumen
393
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (10, 7), (10, 9)}. Grad 1 haben hier die Knoten 8, 12, 1. Als Restgraph bleibt {(5, 3), (6, 3), (7, 6), (9, 5), (6, 4), (5, 2), (10, 7), (10, 9)}. Grad 1 haben hier die Knoten 4, 2. Als Restgraph bleibt {(5, 3), (6, 3), (7, 6), (9, 5), (10, 7), (10, 9)}. Grad 1 hat hier niemand also ist ein Kreis vorhanden! Der Kreis ist erkennbar als (10, 9) → (9, 5) → (5, 3) → (3, 6) → (6, 7) → (7, 10). Keine Aufnahme von
(2, 6)
in T
(Wert 11)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (10, 7), (2, 6)}. Grad 1 haben hier die Knoten 8, 12, 1, 4, 10. Als Restgraph bleibt {(5, 3), (6, 3), (7, 6), (9, 5), (5, 2), (2, 6)}. Grad 1 hat hier 7, 9. Als Restgraph bleibt {(5, 3), (6, 3), (5, 2), (2, 6)}. Kreis: (2, 6) → (6, 3) → (3, 5) → (5, 2) Keine Aufnahme von
(6, 8)
in T
(Wert 11)
beide vorhanden
Kreisfreiheits¨uberpr¨ufung in T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (10, 7), (6, 8)}. Grad 1 haben hier die Knoten 12, 1, 4, 10. Als Restgraph bleibt {(5, 3), (8, 5), (6, 3), (7, 6), (9, 5), (5, 2), (6, 8)}. Grad 1 haben die Knoten 7, 9, 2. Als Restgraph bleibt {(5, 3), (8, 5), (6, 3), (6, 8)}. Kreis (6, 8) → (8, 5) → (5, 3) → (3, 6)
394
IV: 14 B¨aume und W¨alder
Aufnahme von
(8, 11)
in T
(Wert 11)
11 neu
Damit sind 11 Kanten aufgenommen, n¨amlich T = {(5, 3), (8, 5), (12, 9), (6, 3), (7, 6), (9, 5), (1, 2), (6, 4), (5, 2), (10, 7), (11, 8)} mit den entsprechenden Werten 1 + 2 + 3 + 5 + 6 + 6 + 7 + 7 + 8 + 10 + 11 = 66 (Gesamtwert).
8
11
2 5
8
1
5 3
3 6
9
12
6
7
1
11
6
7
2
10 4
2.
7
10
Anwendung des dualen Greedy-Algorithmus Beim dualen Greedy-Algorithmus werden schwere Kanten entfernt, so dass aber der Zusammenhang gewahrt bleibt. Dies wird im Erfolgsfall in der folgenden Tabelle in der letzten Spalte durch die Angabe einer (noch existierenden) Verbindungskette angezeigt. Gibt es keine solche Ersatzkette, dann darf nicht gestrichen werden. Streiche (11, 10) Streiche (9, 6) Streiche (11, 9) Streiche (1, 4) Streiche (12, 11) Streiche (3, 4) Streiche (5, 6) Streiche (1, 3) Streiche (4, 7) Streiche (8, 12) Streiche (2, 6) Streiche (6, 8)
dann noch m¨oglich (11, 9) und (9, 10) dann noch m¨oglich (9, 7) und (7, 6) dann noch m¨oglich (11, 8) und (8, 9) dann noch m¨oglich (4, 3) und (3, 1) dann noch m¨oglich (12, 8) und (8, 11) dann noch m¨oglich (3, 6) und (6, 4) dann noch m¨oglich (5, 3) und (3, 6) dann noch m¨oglich (3, 2) und (2, 1) dann noch m¨oglich (4, 6) und (6, 7) dann noch m¨oglich (12, 9) und (9, 8) dann noch m¨oglich (6, 3) und (3, 5) und (5, 2) dann noch m¨oglich (6, 9) und (9, 8)
(8, 11) bleibt erhalten, denn von 8 aus sind noch 2 und 9, von 11 aus w¨are dann niemand mehr zu erreichen.
14.3 L¨osungen zu minimalen aufspannenden B¨aumen
Streiche (2, 3) Streiche (7, 10)
395
dann noch m¨oglich (2, 5) und (5, 3) dann noch m¨oglich (10, 9) und (9, 7)
(9, 10) bleibt erhalten, denn von 10 aus w¨are sonst niemand mehr zu erreichen. (2, 5) bleibt erhalten, denn von 5 aus kann man noch zu 3,8,9 kommen, von 2 aus noch zu 1, aber dann nicht mehr weiter. Streiche (3, 7)
dann noch m¨oglich (3, 6) und (6, 7)
(1, 2) bleibt erhalten, sonst w¨are 1 isoliert. (4, 6) bleibt erhalten, sonst w¨are 4 isoliert. Streiche (8, 9) Streiche (5, 9)
dann noch m¨oglich (9, 5) und (5, 8) dann noch m¨oglich (5, 8) und (8, 9)
(6, 7) bleibt erhalten, denn sonst ist 7 nur noch von 9 direkt erreichbar. Von 6 ist nur noch 3 direkt erreichbar, von 3 aus 1 → fertig. (7, 9) bleibt erhalten, denn sonst ist von 9 nur noch 12 erreichbar → fertig. (3, 6) bleibt erhalten, denn sonst ist 6 isoliert. (9, 12) bleibt erhalten, denn sonst ist 12 isoliert. (5, 8) bleibt erhalten, denn sonst ist 8 isoliert. (3, 5) bleibt erhalten, denn sonst sind 3 und 5 isoliert. Hinweis: Man h¨atte schon bei (6, 7) aufh¨oren k¨onnen, denn man braucht 11 Kanten. Da hatte man schon 5 erhaltene und es kamen nur noch 6 fragliche.
8
2
5
11
8
3
5
7
12 10
6
4
3.
9
6
6
3
7
1
11
1
7
2
10
Anwendung des Prim-Verfahrens Beginne mit der Komponente W = {1}. Benutze immer die leichteste Kante, die zum anderen Teil des Graphen f¨uhrt.
396
IV: 14 B¨aume und W¨alder
(1, 2) (2, 5) (5, 3) (5, 8) (3, 6) (6, 7) (5, 9) (9, 12) (4, 6) (7, 10) (8, 11)
Wert 7 Wert 8 Wert 1 Wert 2 Wert 5 Wert 6 Wert 6 Wert 3 Wert 7 Wert 10 Wert 11
W W W W W W W W W W W
= {1, 2} = {1, 2, 5} = {1, 2, 3, 5} = {1, 2, 3, 5, 8} = {1, 2, 3, 5, 6, 8} = {1, 2, 3, 5, 6, 7, 8} = {1, 2, 3, 5, 6, 7, 8, 9} = {1, 2, 3, 5, 6, 7, 8, 9, 12} = {1, 2, 3, 4, 5, 6, 7, 8, 9, 12} = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12} = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
Das Gesamtgewicht ist 66.
8
2
5
8
1
9
6
12
6
7
3
11
3
5 1
11
6
7
2
10 4
7
10
L¨osung zu 14.2.6 Kanten: Aufnahme 2. Aufnahme 1. Aufnahme 3. Aufnahme 4. Aufnahme 5. Aufnahme 6. Aufnahme
Kante e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11
Knoten 11 4 1 4 1 3 2 3 2 7 2 9 9 11 9 7 7 3 1 2 11 2
Status
u¨ berfl¨ussig nach 6. Aufnahme u¨ berfl¨ussig nach 6. Aufnahme u¨ berfl¨ussig nach 6. Aufnahme u¨ berfl¨ussig nach 6. Aufnahme u¨ berfl¨ussig nach 6. Aufnahme
14.3 L¨osungen zu minimalen aufspannenden B¨aumen
e12 e13 e14 e15 e16 e17 e18 e19 e20 e21 e22 e23 e25 e26 e27 e28 e29 e30 e31 e32 e33
7. Aufnahme 8. Aufnahme
9. Aufnahme 11. Aufnahme 10. Aufnahme
1 11 6 6 11 11 5 11 10 8 3 3 8 8 12 7 5 10 7 10 12
5 5 5 1 1 6 2 10 4 12 4 12 4 3 4 8 9 9 10 8 10
397
u¨ berfl¨ussig nach 7. Aufnahme u¨ berfl¨ussig nach 8. Aufnahme u¨ berfl¨ussig nach 8. Aufnahme u¨ berfl¨ussig nach 8. Aufnahme u¨ berfl¨ussig nach 8. Aufnahme u¨ berfl¨ussig nach 9. Aufnahme u¨ berfl¨ussig nach 9. Aufnahme u¨ berfl¨ussig nach 11. Aufnahme u¨ berfl¨ussig nach 11. Aufnahme u¨ berfl¨ussig nach 10. Aufnahme u¨ berfl¨ussig nach 11. Aufnahme u¨ berfl¨ussig nach 6. Aufnahme u¨ berfl¨ussig nach 9. Aufnahme u¨ berfl¨ussig nach 9. Aufnahme u¨ berfl¨ussig nach 11. Aufnahme u¨ berfl¨ussig nach 10. Aufnahme
1 2 1 16 11
10 11
15 13
17
3
4 22 23 4 2 26 25
3 4 9
2
12
5
30
5
14
8
29
28 9
7 19
12
7 6
6
21
28
18
27
8
29
10
31
20
398
IV: 14 B¨aume und W¨alder
Aufnahmen der Knoten: Knoten Kante 1, 4 e2 11 e1 3 e3 2 e4 7 e5 9 e6 5 e12 6 e14 10 e19 12 e23 8 e21
Wert 2 1 3 4 5 6 12 14 19 23 21 110
Kapitel 15
Kurzeste ¨ Wege und Routenplanung 15.1 Modellierung als Kurzeste-Wege-Problem ¨ Bisher haben wir uns damit besch¨aftigt, einen Graphen unter minimalen Kosten (minimale Kantengewichte) aufzuspannen. Dabei mussten alle Knoten erreicht werden. Nun soll es darum gehen, kostenminimal auf einer Kanten-Kette von einem Knoten u zu ei¨ nem Knoten v zu gelangen. Wir beschr¨anken unsere Uberlegungen auf den Fall von gerichteten Graphen. Damit k¨onnen ohne große M¨uhe (z. B. durch Verdoppelung der Kanten und entgegengesetzte Durchlaufrichtungen) auch Probleme in ungerichteten Graphen behandelt werden. Dazu ersetzt man den Graph G = (V, E) mit Kantengewichten ce ≥ 0 ∀ e ∈ E durch den Digraphen → − − → D = (V, A) mit c(i, j) = c(j, i) = cij , wobei A = { ij , ji | ij ∈ E}. Jedem ungerichteten [u, v]-Weg in G entspricht dann in D ein gerichteter [v, u]-Weg. Die L¨angen beider Wege sind gleich. K¨urzeste Wege im ungerichteten Fall sind dann auch k¨urzeste Wege im gerichteten Fall und umgekehrt. Viele Anwendungsprobleme lassen sich auf diesen Typ zur¨uckf¨uhren.
15.2 Aufgaben zur Modellierung als Kurzeste-Wege-Problem ¨ Aufgabe 15.2.1 Gegeben sei ein Digraph D = (V, A) ohne Kreise. Gesucht ist der k¨urzeste (u, v)-Weg. Formulieren Sie dieses Problem als ganzzahliges lineares Optimierungsproblem.
Aufgabe 15.2.2 Ein l¨angster einfacher Weg in einem ungerichteten Graphen ist ein einfacher Weg mit einer maximalen Anzahl von Punkten, das heißt es gibt keinen einfachen Weg, der mehr Punkte hat. In einem Graphen kann es durchaus mehrere l¨angste einfache Wege geben (geben Sie ein Beispiel an!). Zeigen Sie, dass l¨angste einfache Wege folgender Einschr¨ankung unterliegen: In einem zusammenh¨angenden Graphen haben zwei l¨angste Wege stets mindestens einen Punkt gemeinsam. Hinweis: Nehmen Sie an, es g¨abe zwei verschiedene l¨angste einfache Wege, die keinen Punkt
400
IV: 15 K¨urzeste Wege und Routenplanung
gemeinsam haben. Nutzen Sie den Zusammenhang des Graphen aus, um einen Weg zu konstruieren, der l¨anger ist als die angeblich l¨angsten Wege.
Aufgabe 15.2.3 G sei ein Graph mit Adjazenzmatrix A, das heißt aij = 1, falls eine Kante zwischen Knoten i und Knoten j besteht, und aij = 0 sonst. Zeigen Sie, dass der (i, j)-Eintrag von Ak die Anzahl der Ketten der L¨ange k mit Anfangsknoten i und Endknoten j angibt.
Aufgabe 15.2.4 In einem Digraphen D = (V, A) mit c(a) ≥ 0 ∀a ∈ A sei Q ⊂ V eine Menge von erlaubten Ausgangsknoten (Quellen) und S ⊂ V eine Menge von erlaubten Zielknoten (Senken). Gefragt wird nach dem k¨urzesten Weg, der einen von der Menge Q in die Menge S bringt. Also ist ein Paar (q, s) ∈ Q × S zu bestimmen, so dass unter allen solchen Paaren dieses die k¨urzeste Entfernung hat. Wie gehen Sie vor? (Benutzen Sie die Dijkstra-Idee!)
Aufgabe 15.2.5 Ein Gew¨urzh¨andler aus dem Orient kommt mit seiner Karawane in das mittelalterliche, von Kleinstaaterei zerkl¨uftete Europa. Er kennt die Landkarte genau und will vom Bosporus aus seine Lieferung (auf dem Landweg) nach Aachen bringen. Aber bei jedem Grenz¨ubertritt muss er als Wegezoll den zehnten Teil seiner Ware abgeben. Nun soll die Route so bestimmt werden, dass er in Aachen m¨oglichst viel abliefern kann. Welches graphentheoretische Problem liegt hier vor und wie w¨urden Sie vorgehen?
Aufgabe 15.2.6 Gegeben sei ein zusammenh¨angender, gewichteter Graph G = (V, E) mit lauter positiven Kantengewichten (c(e) > 0 f¨ur alle e ∈ E). Wir betrachten einen Knoten s ∈ V . Von s aus existiere zu jedem v ∈ V \ {s} ein eindeutig bestimmter k¨urzester Weg P (s, v) (es gibt also keinen anderen Weg von s nach v mit kleinerem oder gleichem Gesamtgewicht). a)
b)
Zeigen Sie, dass die Kanten von v∈V \{s} P (s, v) =: KW (also die Kollektion aller Kanten, die zu einem der k¨urzesten Wege geh¨oren) einen aufspannenden Baum von G bilden. Hinweis: Es ist ratsam, die k¨urzesten Wege als gerichtete Bogenketten von s nach v anzusehen. Dann sollte man zun¨achst kl¨aren, dass kein v0 ∈ V \ {s} auf KW mehr als einen Vorg¨angerknoten bei dieser Orientierung hat. Zeigen Sie durch ein entsprechendes Gegenbeispiel, dass die Kollektion KW durchaus ein h¨oheres Gewicht haben kann als ein minimaler aufspannender Baum.
15.3 L¨osungen zur Modellierung als K¨urzeste-Wege-Problem
401
15.3 L¨osungen zur Modellierung als Kurzeste-Wege-Problem ¨ L¨osung zu 15.2.1 Gegeben sei ein Digraph D = (V, A) mit Bogengewichten cij und Adjazenzmatrix A. Variablen: auf (u, v)-Weg liegt 1 falls Bogen ij xij = 0 sonst Zielfunktion: min cij xij i,j
Nebenbedingungen: xij ∈ {0, 1} xij ≤ aij xuj = 1 j xiv = 1 i xij ≤ 1 i xij ≤ 1 j xit = xtj i
j
i j
(nur vorhandene B¨ogen belegen) xiu = 0
(Start bei u)
xvj = 0
(Ende bei v)
∀ j ∈ V \ {u, v} (h¨ochstens ein hinf¨uhrender Bogen) ∀ i ∈ V \ {v, u}
(h¨ochstens ein wegf¨uhrender Bogen)
∀ t ∈ V \ {u, v}
¨ (Ubereinstimmung der hinf¨uhrenden und wegf¨uhrenden Bogenanzahl bei jedem Knoten t außer Start- und Zielknoten)
L¨osung zu 15.2.2 Annahme: Es gibt zwei disjunkte l¨angste Wege W1 , W2 der L¨ange L. W¨ahle den Knoten p1 aus W1 aus und den Punkt p2 aus W2 . Da G zusammenh¨angend ist, gibt es einen einfachen Weg W von p1 nach p2 . Sei auf diesem Weg a der letzte Knoten, der auch zu W1 geh¨ort. W sei dann der Weg von a nach p2 ∈ W2 , b sei der erste Knoten von W , der zu W2 geh¨ort. Nun hat man den Weg von a nach b (genannt W ) zur Verf¨ugung. Alle Punkte zwischen a und b geh¨oren weder zu W1 noch zu W2 . Da a = b hat W eine L¨ange ≥ 1. Nun benutzen wir sowohl von W1 als auch von W2 je eine Wegh¨alfte, so dass wir dort mindestens L 2 Knoten durchlaufen. Sei W1 = (u1 , . . . , v1 ) und W2 = (u2 , . . . , v2 ). Dann liegen a, b in W1 , W2 , das heißt W1 = (u1 , . . . , a, . . . , v1 ) und W2 = (u2 , . . . , b, . . . , v2 ). In Bezug auf W1 liefert entweder (u1 , . . . , a) oder (v1 , . . . , a) einen Weg der L¨ange ≥ L2 . Ebenso hat man bei W2 entweder mit (b, . . . , u2 ) oder mit (b, . . . , v2 ) einen Weg der L¨ange ≥ L2 . Verkn¨upft man nun noch beide Wege durch den Zwischenweg (a, . . . , b) mit L¨ange ≥ 1, dann hat man dadurch einen Weg mit L¨ange > L gewonnen.
402
IV: 15 K¨urzeste Wege und Routenplanung
L¨osung zu 15.2.3
(k)
Beweis durch Induktion u¨ ber k. Notation Ak = (aij )i,j=1,...,n . Induktionsanfang k = 1 klar, denn Ketten der L¨ange 1 zwischen zwei Knoten sind gerade die Kanten. Induktionsschritt: k → k + 1: (k+1) steht die Anzahl der Ketten der L¨ange k + 1 von i nach j Zu zeigen ist hier: in aij (1)
Ak+1 = Ak · A mit A = A1 = (aij ) = (aij ) =⇒
(k+1)
aij
=
n =1
(k)
ai aj
(k)
ai = Anzahl derKetten der L¨ange k von i nach (nach Induktionsannahme) 1 falls Kante von nach j existiert (1) und aj = aj = 0 sonst. Da sich die Ketten von i nach j der L¨ange k + 1 jeweils aus einer Kette der L¨ange k von i (k) nach und dann einer abschließenden Kante von nach j zusammensetzen, kann man ai aj interpretieren als die Anzahl derjenigen Ketten (der L¨ange k + 1) von i nach j, die als vorletzten Knoten enthalten. Die Summation u¨ ber alle Knoten, die daf¨ur infrage kommen, ergibt dann die Gesamtzahl.
L¨osung zu 15.2.4 Man kann die Dijkstra-Idee folgendermaßen abwandeln: Man ermittle außerhalb von Q denjenigen Knoten, der die geringste Distanz zu Q hat (dazu ordne man jedem v ∈ V \ Q als Distanz die k¨urzeste Entfernung zu einem Q-Knoten zu). Nimm nun den ausgew¨ahlten Knoten v in einer Markierungsmenge Q := (Q ∪ v) auf. Entsprechend zu Dijkstra aktualisiert man jetzt die Distanzen der Knoten v ∈ D \ Q, indem man die bisherige Distanz vergleicht mit der Summe aus der v-Distanz und der Entfernung zwischen v und v (die kleinere Alternative wird realisiert). Induktiv setzt man dieses Verfahren durch Aufnahme weiterer Knoten v usw. in die Menge Q(Q usw.) fort, bis ein Knoten v ∈ S zu markieren w¨are. Mit diesem hat man den schnellsterreichbaren Knoten von S gefunden. Man kopple nun diesen S-Knoten an die Kette der jeweiligen Vorg¨anger, bis diese Kette in Q zur¨uckf¨uhrt. Das entsprechende Paar hat die geringste Entfernung. G¨abe es n¨amlich ein k¨urzer verbindbares Paar, dann w¨are die entsprechende Senke fr¨uher markiert worden. Alternativ zu diesem Vorgehen kann vor den Quellen eine sogenannte Superquelle und zugeh¨orige B¨ogen mit Gewicht 0 zu den Knoten aus Q eingef¨ugt werden. Analog geht man aus S mit B¨ogen der Gewichtung 0 zu einer Supersenke vor. Anschließend wird der Dijkstra-Algorithmus angewendet und danach enth¨alt der k¨urzeste Weg zwischen den beiden neuen Knoten das gesuchte Ergebnis.
L¨osung zu 15.2.5 Man definiert einen Graphen (V, E) so, dass V der Menge der Staaten entspricht. E, die Menge der Kanten, erkl¨art die Nachbarschaften zwischen diesen Staaten. Also existiert zwischen v1 und v2 genau dann eine Kante in unserem Graphen, wenn Land v1 und Land v2 eine gemeinsame Grenze haben.
15.3 L¨osungen zur Modellierung als K¨urzeste-Wege-Problem
403
Der Gew¨urzbestand wird monoton abnehmen mit der Anzahl der Grenz¨ubertritte (die also zu minimieren ist). Der tats¨achlichen Reise (unter der Bewertung im obigen Sinne) entspricht nun ein Kantenzug vom Bosporus-Knoten zum Aachen-Knoten. Die Route ist im Graphen so zu w¨ahlen, dass m¨oglichst wenige Kanten durchlaufen werden. Jede Kante bekommt nun das Gewicht 1 und mit dem Dijkstra-Algorithmus kann der in diesem Sinne k¨urzeste Weg bestimmt werden.
L¨osung zu 15.2.6 a)
Durch die gerichteten Bogenketten wird •
jeder Knoten v ∈ V \ {s} angelaufen
•
jeder solcher Knoten nur einmal erreicht.
Die erste Eigenschaft ergibt sich daraus, dass man ja in KW die k¨urzesten Wege zu allen Knoten vereinigt hat. Die zweite Eigenschaft besagt, dass es zu v keine zwei Vorg¨anger in der angegebenen Orientierung geben kann. W¨urden n¨amlich zwei k¨urzeste Wege (zum Beispiel von s nach v und von s nach v˜) beide u¨ ber v f¨uhren und auf dem Teilst¨uck von s nach v einen ver˜1 , u ˜2 , . . . , u ˜k , v), dann w¨are schiedenen Verlauf haben (etwa s, u1 , u2 , . . . , uk , v und s, u der k¨urzeste Weg von s nach v etwa s, u1 , u2 , . . . , uk , v. Da dieser k¨urzeste Weg eindeutig ist, m¨usste mindestens einer der obigen Wege schlechter sein und er w¨are durch den k¨urzesten Weg ersetzbar unter Verringerung der Wegl¨ange zu v beziehungsweise v˜. Also w¨aren vorher vorgeschlagene Wege gar nicht optimal, dies f¨uhrt zu einem Widerspruch. Also hat jedes v in KW nur einen Vorg¨anger“. Wir m¨ussen nur noch zeigen, dass KW ” kreisfrei ist. Annahme: Es liegt ein Kreis v0 , v1 , . . . , vk , v0 vor. Bezeichne vk (auch) als v−1 und so weiter. In KW liegen also die v−1 v0 und v0 v1 . Allenfalls ein Knoten von [v−1 , v1 ] kann Vorg¨anger von v0 sein (ohne Beschr¨ankung der Allgemeinheit v−1 ) . Das heißt: v1 ist Nachfolger und Dist(s, v1 ) > Dist(s, v0 ) (wegen c(v0 , v1 ) > 0). Dann hat v1 aber den einzigen Vorg¨anger v0 und es gilt Dist(s, v2 ) > Dist(s, v1 ). So schließt man weiter auf v2 , . . . , vk und erzielt Dist(s, vk ) > Dist(s, vk−1 ) und Dist(s, v0 ) > Dist(s, vk = v−1 ) wir hatten aber Dist(s, v0 ) < · · · < Dist(s, vk ) was einen Widerspruch ergibt. Damit hat man mit KW einen aufspannenden kreisfreien Untergraph, also einen aufspannenden Baum. b)
Dieser aufspannende Baum muss allerdings kein minimaler sein, wie folgendes Beispiel zeigt:
404
IV: 15 K¨urzeste Wege und Routenplanung
B
3
2
A
D 5
3 S
4
C
Gewichteter Graph
3
B
3
A
D 5
B 2
A
D 3
3 S
4
C
S
4
C
KW -Graph und minimaler Graph Dabei hat der KW -Graph ein Gewicht von 15, minimal ist aber ein Gewicht von 12.
15.4 Algorithmen zur Bestimmung kurzester ¨ Wege Interessant f¨ur die Konstruktion der Algorithmen ist jeweils die Frage, ob auch negative Bogengewichte zugelassen werden k¨onnen. Eine Variation der Aufgabenstellung ergibt sich dann, wenn man zu allen Knotenpaaren die k¨urzeste Verbindung sucht. Wir betrachten zuerst einmal den Fall, dass ein Startknoten s ∈ V gegeben und alle Kantengewichte nichtnegativ sind. Nichtnegative Kantengewichte, ein Startknoten
Algorithmus 15.1 (Algorithmus von Dijkstra) Input: Digraph D = (V, A), Bogengewichte c(a) ≥ 0 ∀ a ∈ A, Startknoten s ∈ V , Endknoten t ∈ V \ {s}. Output: K¨urzester gerichteter Weg von s nach t sowie k¨urzeste Wege von s zu allen anderen Knoten. Bezeichnungen: DIST(v): VOR(v): MARK(v):
L¨ange des bisher k¨urzesten (s, v)-Weges , Vorg¨anger von v auf bisher k¨urzestem Weg, K¨urzeste Wegl¨ange von s nach v,
15.4 Algorithmen zur Bestimmung k¨urzester Wege
M: U:
405
Menge der markierten Knoten, Menge der nicht markierten Knoten.
Initialisierung: DIST(s) DIST(v) DIST(v) VOR(v)
:= := := :=
0. → c(− sv) ∞ s
→ ∀ v ∈ V mit − sv ∈ A. → − ∀ v ∈ V mit sv ∈ / A. ∀ v ∈ V \ {s}.
Markiere s und lasse alle u¨ brigen Knoten unmarkiert. MARK(s) :=DIST (s), M := {s}, U := V \ {s}. Typischer Schritt: 1.
Falls U = ∅, dann gehe zu (4) und stoppe. Ansonsten bestimme einen Knoten u ∈ U mit DIST (u) = min{DIST (v) | v ist nicht markiert }. Ist DIST (u) = ∞, dann erfolgt Abbruch (gehe zu (4)). Markiere u, das heißt M := M ∪ {u} und U := U \ {u} und setze MARK(u) :=DIST(u). Falls u = t, und wenn nur Distanz und Weg zu t interessieren, gehe zu (4).
2.
→ aus A Folgendes aus: Falls DIST (v) > MARK(u) + c(− → setze F¨uhre ∀ v ∈ U mit − uv uv), − → DIST (v) = MARK(u) + c(uv) und VOR(v) := u.
3.
Gehe zu (1).
4.
STOP
Ausgabe: MARK(v) ist die gesuchte L¨ange eines Weges bis zu einem Endknoten v. Es wird aber der Weg nach t gesucht, wir brauchen also MARK(t). F¨ur jedes markierte v mit MARK(v) < ∞ liefert VOR(v) den Vorg¨anger zu v auf einem k¨urzesten Weg von s nach v. Den k¨urzesten Weg von s nach t findet man also durch rekursiven Aufruf von t, VOR(t), VOR(VOR(t)), VOR(VOR(VOR(t))), . . . , s
Satz 15.2 Der Dijkstra-Algorithmus liefert zu jedem gew¨unschten t die k¨urzeste Distanz und den k¨urzesten Weg, der diese Distanz realisiert. Die Variable DIST (v) gibt jeweils die k¨urzeste Entfernung zu einem Knoten v u¨ ber die bereits markierten Knoten an.
Konsequenz MARK gibt am Schluss die Wegl¨ange f¨ur alle erreichbaren Punkte an. Ist am Ende DIST(v) = ∞,
406
IV: 15 K¨urzeste Wege und Routenplanung
dann zeigt dies, dass v nicht erreichbar ist. Wird im Verlauf min{DIST (v) | v unmarkiert} = ∞, dann kann abgebrochen werden. Bemerkung Die rekursive Vorschrift VOR(VOR(. . .)) definiert eine Arboreszenz mit Wurzel s.
Satz 15.3 Sei D = (V, A) ein Digraph mit c ≥ 0 und s ∈ V . Dann gibt es eine Aboreszenz B mit Wurzel s, so dass f¨ur jeden Knoten v ∈ V , der von s aus erreichbar ist, der eindeutige Arboreszenzweg auch der K¨urzeste ist.
Beliebige Kantengewichte, ein Startknoten Wir betrachten jetzt den Fall beliebiger Kantengewichte. Bei beliebigen Kantengewichten ist das Problem des k¨urzesten Weges a¨ quivalent zum Problem des l¨angsten Weges. G¨abe es f¨ur Letzteres einen polynomialen Algorithmus, dann w¨are auch das Problem des Hamiltonschen Weges polynomial l¨osbar. Dies ist aber NP-vollst¨andig und somit ist das K¨urzeste-Wege-Problem in Allgemeinheit tats¨achlich NP-schwer. Die Idee des Verfahrens von Moore-Bellman Gesucht ist der k¨urzeste Weg von s zu allen anderen Knoten. DIST (v) wird wie oben initialisiert, enth¨alt also jeweils die L¨ange des k¨urzesten, bis dahin bekannten Weges von s nach v. VOR(v) wird zun¨achst einmal ∀ v ∈ V \ {s} auf s gesetzt. DIST (v) wird nun sukzessive → mit DIST (u) + c(− → ≤ DIST(v), dann setzt man reduziert. Findet man einen Bogen (− uv) uv) − → DIST (v) := DIST(u) + c(uv) und VOR(v) := u. Nun gilt es, diese Verbesserungsm¨oglichkeiten effektiv durchzuchecken. Gesucht ist der k¨urzeste Weg von A nach D. Angenommen, es existiert ein Kreis mit negativem Gesamtgewicht. Durch Durchlaufen dieses Kreises k¨onnen wir die Wegl¨ange beliebig reduzieren und unsere Fragestellung wird sinnlos. Deshalb vereinbaren wir, dass Graphen mit Kreisen ausgeschlossen bleiben sollen.
Lemma 15.4 → − In einem kreisfreien Digraphen lassen sich die Knoten so anordnen, dass nur noch B¨ogen ij mit i < j existieren. Umgekehrt ist die Existenz einer solchen Anordnung ein Beleg f¨ur Kreisfreiheit des Graphen.
15.4 Algorithmen zur Bestimmung k¨urzester Wege
407
Algorithmus 15.5 (Topologischer Sortieralgorithmus) Input: kreisfreier Graph, → − Output: Knotennummerierung, so dass nur noch B¨ogen ij mit i < j auftauchen. Initialisierung: Setze i := 1. Typischer Schritt: 1.
W¨ahle Knoten mit Eingangsgrad 0.
2.
Gib ihm die Nummer i = ˆ vi .
3.
L¨osche alle zu vi inzidenten B¨ogen a ∈ δ + (vi ).
4.
Falls i < n setze i = i + 1 und gehe zu (1).
Algorithmus 15.6 (Algorithmus von Moore-Bellman f¨ur azyklische Digraphen) Input: Kreisfreier Digraph D = (V, A), Gewichte c(a) ∀ a ∈ A, → − alle B¨ogen aufsteigend (a = ij mit i < j ∀ a), Startknoten sei s ∈ V. Output: K¨urzeste gerichtete Wege von s nach v und ihre gerichtete L¨ange ∀ v ∈ V \ {s}. Initialisierung: ⎧ ⎪ ⎨0 DIST(v) := ∞ ⎪ ⎩ − c(→ sv) (1)
falls s = v
→ falls s = v und − sv ∈ /A
VOR(v) := s ∀ v ∈ V \ {s}
sonst
F¨ur v := s + 2 bis n f¨uhre aus: (2)
F¨ur u := s + 1 bis v − 1 f¨uhre aus: → ∈ A und DIST (u) + c(− → < DIST (v) Falls − uv uv) → und VOR(v) := u. dann setze DIST (v) = DIST (u) + c(− uv) Ende (2)
Ende (1) Ausgabe:DIST (v) ∀ v ∈ V , falls DIST (v) < ∞ Ausgabe der Vorg¨angerfolge von v.
Satz 15.7 Der Algorithmus von Moore-Bellman arbeitet korrekt auf beliebigen azyklischen Digraphen.
408
IV: 15 K¨urzeste Wege und Routenplanung
Beliebige Gewichte, kurzeste ¨ Wege zwischen allen Knotenpaaren Um k¨urzeste Wege zwischen allen Knotenpaaren zu finden, m¨usste man bisherige Algorithmen n-mal anwenden. Ein besser dazu geeigneter Algorithmus, der gleichzeitig auch noch Kreise auffindet und bei negativen Kreisen abbricht, ist der Floyd-Warshall-Algorithmus.
Algorithmus 15.8 (Algorithmus von Floyd-Warshall) Input: Digraph D = (V, A), V = {1, . . . , n} mit beliebigen Bogengewichten c(a). Output: paarweise Angabe der k¨urzesten Wegl¨angen wij mit Angabe der vorletzten Knoten pij auf diesen Wegen. Initialisierung: Setze ∀ i, j ∈ {1, . . . , n} → − → − cij falls ( ij ) ∈ A i falls ( ij ) ∈ A pij := wij := ∞ sonst 0 sonst Schritte: F¨ur := 1 bis n f¨uhre aus: F¨ur i := 1, . . . , n f¨uhre aus: F¨ur j := 1, . . . , n f¨uhre aus: Falls wij > wi + wj setze wij := wi + wj sowie pij := pj . Falls i = j und wii < 0 STOP. Ende der j-Schleife Ende der i-Schleife Ende der -Schleife Ausgabe: Matrix W und Matrix P . Die Wege sind rekursiv ermittelbar piq := vq ,
pivq := vq−1 ,
...
pivq−1 := vq−2 ,
...
piv1 := i.
Satz 15.9 Sei D = (V, A) ein Digraph mit Bogengewichten c(a) ∀ a ∈ A. W und P seien die von obigem Algorithmus erzeugten neuen Matrizen. Dann gilt: (a)
Solange sich durch die -Schleife noch keine negativen Kreise schließen, gibt W die korrekten L¨angen der k¨urzesten Wege und die korrekten L¨angen der positiven Kreise bei ausschließlicher Benutzung der bisher erlaubten Umsteigeknoten an.
(b)
Ein negativ gewichteter Kreis f¨uhrt zu einem negativen Hauptdiagonalelement und dient zum Abbruch.
15.5 Aufgaben zu den Algorithmen zur Bestimmung k¨urzester Wege
(c)
409
Bei wii < 0 liegt ein Negativkreis im Digraphen vor, wobei Umstiege nur u¨ ber 1, . . . , m¨oglich sind. (i ist dabei nicht notwendigerweise Kreisknoten.)
Korollar 15.10 Sind in der Stufe noch keine negativen Hauptdiagonalelemente vorhanden, dann gibt die ganze Matrix die k¨urzesten Wege u¨ ber die Knoten 1, . . . , an. Die Hauptdiagonalelemente beschreiben die k¨urzesten Kreise zum jeweiligen Knoten.
15.5 Aufgaben zu den Algorithmen zur Bestimmung kurzester ¨ Wege Aufgabe 15.5.1 Berechnen Sie die k¨urzesten Wege zwischen allen Knotenpaaren des folgenden Netzwerks: 10 2
3 1
3
3
1 8
2
6
9
1
2
4
4
5
4
6
3 a)
mit dem Algorithmus von Dijkstra
b)
mit dem Algorithmus von Floyd-Warshall
Aufgabe 15.5.2 Gegeben sei der folgende azyklische Digraph mit Kantengewichtsfunktion w und Wurzel s. Verwenden Sie den Algorithmus von Moore-Bellman, um die k¨urzeste Wegefunktion d(s, ·) von s zu allen weiteren Knoten zu bestimmen. Knoten: V = {s, a, b, c, d, e, f, g} B¨ogen und Gewichte: e w(e)
sa −2
sb 3
ab 4
ac 2
ad −3
bc 1
cd 6
ce −1
df 2
dg 4
ef 1
fg −2
410
IV: 15 K¨urzeste Wege und Routenplanung
Aufgabe 15.5.3 Ein gewichteter Graph G bestehe aus den Knoten v1 , . . . , v25 . Dieser Graph besitze einen einzigen Kreis, n¨amlich (v7 , v9 , v17 , v12 , v13 , v21 , v7 ). Ansonsten sind v7 , v9 , v17 , v12 , v13 , v21 jeweils Wurzeln von B¨aumen T (7), T (9), T (17), T (12), T (13), T (21), die außer den oben erw¨ahnten Kreiskanten gegenseitig keine Verbindungen haben. Ohne diese Kreiskanten w¨urde der Graph also in die genannten 6 Komponenten T (7), . . . , T (21) zerfallen. Der Kreis besitze ein negatives Gesamtgewicht. Stellen Sie sich vor, dass der Algorithmus von Floyd-Warshall angewendet wird auf G, und dass ausgehend von der Anfangsbesetzung W (0) die Distanzmatrizen W (1), . . . , W (25) zu errechnen sind. Wann stoppt dieser Algorithmus genau wegen eines negativen Hauptdiagonalelementes?
Aufgabe 15.5.4 Bestimmen Sie mit dem Algorithmus von Floyd-Warshall die Matrix der k¨urzesten Wege (bzw. die h¨ochsterreichbare W -Matrix), wenn die anf¨angliche Distanzmatrix W (0) zwischen den Knoten A, B, C, D, E folgende Gestalt hat:
A B W (0) = C D E
A B C D E 0 1 3 2 −1 −1 0 1 ∞ 0 2 1 0 1 ∞ 3 0 2 0 ∞ ∞ 3 ∞ 1 0
Berechnen Sie auch die zugeh¨origen Vorg¨angermatrizen. Bei vollst¨andigem Durchlauf sollen alle empfohlenen Wege, bei Abbruch der zuerst entdeckte negative Kreis ausgegeben werden.
Aufgabe 15.5.5 Betrachten Sie den gerichteten Digraphen mit den Knoten A, B, C, D, E, F, G, H und den B¨ogen a c(a) a c(a)
−− → −→ −−→ −−→ −−→ −−→ −−→ AB AC AD BE BF CG DE 1 2 0 0 3 1 2 −−→ −−→ − −→ −−→ −−→ −−→ DG EC F C F H GH HE 2 1 −2 2 −1 −1
Fertigen Sie hierzu eine Skizze an und f¨uhren Sie den Algorithmus von Dijkstra ausgehend vom Knoten A komplett durch und weisen Sie nach, dass er bei diesem Problembeispiel nicht das richtige Ergebnis der k¨urzesten Wege von A zu allen anderen Knoten liefert.
15.6 L¨osungen zu den Algorithmen zur Bestimmung k¨urzester Wege
411
Aufgabe 15.5.6 a)
Am folgenden (bereits topologisch sortierten) Digraphen sollten Sie den Algorithmus von Moore-Bellman anwenden, um den gewichtsminimalen Weg von Knoten s = 0 zu Knoten t = 9 zu bestimmen.
b)
Wie gehen Sie vor, wenn Sie diesen Algorithmus noch einmal anwenden sollen, wobei diesmal aber nur die Knoten mit gerader Nummer als Umsteigeknoten zugelassen sind?
1 3
14
6
3
2 4
1
1
3
4
s
4 2 1
23 3
5
t
7
24
1
1
2
2
8
15.6 L¨osungen zu den Algorithmen zur Bestimmung kurzester ¨ Wege L¨osung zu 15.5.1 a)
Dijkstra Die folgenden Tabellen geben an, wie sich die Distanzen zu den Startknoten entwickeln und welches die aktuell besten Vorg¨angerknoten zu den Zielknoten sind. Einrahmungen zeigen den Moment der Markierung und damit der endg¨ultigen Fixierung von Distanz zum Startknoten und des Weges u¨ ber die Vorg¨anger. Wenn der Zielknoten vom Startknoten (noch) nicht erreichbar ist, wird dies durch die Eintragung ∞ in der Distanzmatrix und durch die Eintragung 0 in der Vorg¨angermatrix ausgedr¨uckt. 1 als Startknoten
v
2
3
4
5
6
v
2
3
4
5
6
Distanz
3 3
∞ ∞ 13 8
2
∞ 6 6
∞ ∞ ∞ ∞ 11
Vorg¨anger
1 1
0 0 2 5
1
0 4 4
0 0 0 0 3
412
IV: 15 K¨urzeste Wege und Routenplanung
2 als Startknoten
v
1
3
4
5
6
∞ ∞ ∞ ∞ ∞
10 10
6
∞ 10 10
∞ ∞ 13 13
1
2
4
5
6
∞ ∞ ∞ ∞ ∞
1
9 7 7 7
∞ ∞ 7
3 3
1
2
3
5
6
∞ ∞ ∞ ∞ ∞
8 8 7
∞ 6
4
∞ ∞ 9 9
1
2
3
4
6
∞ ∞ ∞ ∞ ∞
∞ 3
2
3 3 3
∞ 5 5 5
v
1
3
4
5
6
0 0 0 0 0
2 2
2
0 4 4
0 0 3 3
3 als Startknoten
v
v
1
2
4
5
6
0 0 0 0 0
3
3 2 2 2
0 0 6
3 3
1
2
3
5
6
0 0 0 0 0
4 4 3
0 5
4
0 0 3 3
1
2
3
4
6
0 0 0 0 0
0 3
5
5 5 5
0 3 3 3
4 als Startknoten
v
v
5 als Startknoten
v
v
15.6 L¨osungen zu den Algorithmen zur Bestimmung k¨urzester Wege
413
6 als Startknoten v
b)
1
2
3
4
5
∞ ∞ ∞ ∞ ∞
∞ 2
1
∞ 10 8 7
4 4 4
v
1
2
3
4
5
0 0 0 0 0
0 3
6
0 3 2 5
6 6 6
Floyd-Warshall Angegeben ist jeweils links die Distanzmatrix W und rechts die Vorg¨angermatrix P . W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 − 1 8 ∞ ∞
∞ 10 − ∞ 2 1
2 6 9 − 3 ∞
∞ ∞ ∞ 4 − 4
∞ ∞ 3 ∞ ∞ −
1 2 3 4 5 6
− 0 0 0 0 0
1 − 3 4 0 0
0 2 − 0 5 6
1 2 3 − 5 0
0 0 0 4 − 6
0 0 3 0 0 −
Aktualisierung mit 1 als Umsteigeknoten irrelevant, da 1 nicht erreichbar ist. Aktualisierung mit 2 als Umsteigeknoten W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 − 1 8 ∞ ∞
13 10 11 18 2 1
2 6 7 14 3 ∞
∞ ∞ ∞ 4 − 4
∞ ∞ 3 ∞ ∞ −
1 2 3 4 5 6
− 0 0 0 0 0
1 − 3 4 0 0
2 2 2 2 5 6
1 2 2 2 5 0
0 0 0 4 − 6
0 0 3 0 0 −
Aktualisierung mit 3 als Umsteigeknoten W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 11 1 8 3 2
13 10 11 18 2 1
2 6 7 14 3 8
∞ ∞ ∞ 4 − 4
16 13 3 21 5 4
1 2 3 4 5 6
− 0 0 0 0 0
1 3 3 4 3 3
2 2 2 2 5 6
1 2 2 2 5 2
0 0 0 4 − 6
3 3 3 3 3 3
414
IV: 15 K¨urzeste Wege und Routenplanung
Aktualisierung mit 4 als Umsteigeknoten W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 11 1 8 3 2
13 10 11 18 2 1
2 6 7 14 3 8
6 10 11 4 7 4
16 13 3 21 5 4
1 2 3 4 5 6
− 0 0 0 0 0
1 3 3 4 3 3
2 2 2 2 5 6
1 2 2 2 5 2
4 4 4 4 4 6
3 3 3 3 3 3
Aktualisierung mit 5 als Umsteigeknoten W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 11 1 7 3 2
8 10 11 6 2 1
2 6 7 7 3 7
6 10 11 4 7 4
11 13 3 9 5 4
1 2 3 4 5 6
− 0 0 0 0 0
1 3 3 3 3 3
5 2 2 5 5 6
1 2 2 5 5 5
4 4 4 4 4 6
3 3 3 3 3 3
Aktualisierung mit 6 als Umsteigeknoten W
1
2
3
4
5
6
P
1
2
3
4
5
6
1 2 3 4 5 6
− ∞ ∞ ∞ ∞ ∞
3 11 1 7 3 2
8 10 4 6 2 1
2 6 7 7 3 7
6 10 7 4 7 4
11 13 3 9 5 4
1 2 3 4 5 6
− 0 0 0 0 0
1 3 3 3 3 3
5 2 6 5 5 6
1 2 2 5 5 5
4 4 6 4 4 6
3 3 3 3 3 3
L¨osung zu 15.5.2 Wir sortieren die Knoten von G zun¨achst topologisch und erhalten s