De Gruyter Studium
Matthias Gerdts Frank Lempio
Mathematische Optimierungsverfahren des Operations Research
De Gruy...
441 downloads
1416 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
De Gruyter Studium
Matthias Gerdts Frank Lempio
Mathematische Optimierungsverfahren des Operations Research
De Gruyter
Mathematics Subject Classification 2010: Primary: 90C05, 90C08, 90C10, 90C25, 90C30, 90C31, 90C35, 90C39, 90C46; Secondary: 90C27, 49L20, 49N15.
ISBN 978-3-11-024994-1 e-ISBN 978-3-11-024998-9 Library of Congress Cataloging-in-Publication Data Gerdts, Matthias. Mathematische Optimierungsverfahren des Operations Research / by Matthias Gerdts, Frank Lempio. p. cm. Includes bibliographical references and index. ISBN 978-3-11-024994-1 (alk. paper) 1. Operations research ⫺ Mathematics. 2. Mathematical optimization. I. Lempio, Frank. II. Title. T57.6.G465 2011 003.0115196⫺dc22 2011001848
Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. ” 2011 Walter de Gruyter GmbH & Co. KG, Berlin/New York Satz: Da-TeX Gerd Blumenstein, Leipzig, www.da-tex.de Druck und Bindung: Hubert & Co. GmbH & Co. KG, Göttingen ⬁ Printed on acid-free paper Printed in Germany www.degruyter.com
Vorwort
Dieses Buch ist entstanden aus Vorlesungen, die von den Autoren an den Universitäten Bayreuth, Birmingham (UK) und Würzburg in den Jahren 2001 bis 2010 für Studierende der Mathematik, Wirtschaftsmathematik, Technomathematik und Wirtschaftsinformatik gehalten wurden. Das Buch richtet sich an Studierende mathematischer Studiengänge, aber auch an mathematisch interessierte Studierende ingenieur- und wirtschaftswissenschaftlicher Studiengänge, die in den ersten beiden Semestern ihres Studiums mathematische Grundkenntnisse aus Analysis und linearer Algebra oder aus der Wirtschaftsmathematik erworben haben. Darüber hinaus eignet sich das Buch auch als Lektüre für Wissenschaftler aus den Bereichen Mathematik, Wirtschaftsmathematik, Technomathematik, Wirtschafts- und Ingenieurwissenschaften, die an einer Einführung in Theorie und Verfahren der Optimierung interessiert sind. Die Auswahl des Stoffs ist orientiert an den Erfordernissen des Operations Research, kann aber natürlich nicht die ganze Breite dieser für Wirtschaft und Technik gleichermaßen bedeutenden Wissenschaftsdisziplin abdecken. Das Buch ist nicht als Rezeptsammlung von Algorithmen zu verstehen, sondern hat das Ziel, die vorgestellten Verfahren zu motivieren, ihre mathematischen Grundlagen darzustellen und ihre Eigenschaften zu analysieren. Für besonders wichtig halten wir auch das Lösen von Übungsaufgaben und das Sammeln von Programmiererfahrung. Diesem Zweck dienen auch die zahlreichen vollständig durchgerechneten Beispiele und die in den einzelnen Kapiteln gesammelten Aufgaben. Unser Dank gilt den Mitarbeitern des Lehrstuhls für Angewandte Mathematik an der Universität Bayreuth für die gute Zusammenarbeit, insbesondere Frau Klothilde Dulleck, die in sorgfältiger Arbeit große Teile des LATEX-Skripts erstellt hat. Wir danken auch Petar Kenderov, Sofia (Bulgarien), der sich mehrere Semester lang im Rahmen einer vom DAAD finanzierten Gastprofessur an der Operations ResearchAusbildung von Mathematikstudenten in Bayreuth beteiligt hat, für intensive Diskussionen. Teile des Buchmanuskripts waren auch Grundlage einer Sommerschule über diskrete dynamische Programmierung, die von den Autoren in Borovets und Sofia (Bulgarien) im Jahre 2003 gehalten wurde und von der Bulgarischen Akademie der Wissenschaften und vom DAAD im Rahmen des „Center of Excellence for Applications of Mathematics“ finanziert wurde. Wir hoffen, dass diese Einführung in die mathematische Optimierung Interesse findet, und sind für Anregungen und Verbesserungsvorschläge jederzeit dankbar. München und Bayreuth, im Dezember 2010
Matthias Gerdts Frank Lempio
Inhaltsverzeichnis
Vorwort
v
1 Einleitung 1.1 Problemtypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Grundbegriffe und typische Fragestellungen . . . . . . . . . . . . . . 1.3 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Lineare Optimierung 2.1 Problemstellung . . . . . . . . . . . . . . 2.2 Geometrie linearer Optimierungsprobleme 2.3 Primales Simplexverfahren . . . . . . . . 2.4 Vermeidung von Zyklen . . . . . . . . . 2.5 Revidiertes primales Simplexverfahren . . 2.6 Dualität und Sensitivität . . . . . . . . . . 2.7 Duales Simplexverfahren . . . . . . . . . 2.8 Matrixspiele und lineare Optimierung . . 2.9 Aufgaben . . . . . . . . . . . . . . . . . 3
1 4 15 18
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
24 . 25 . 28 . 48 . 62 . 74 . 83 . 102 . 112 . 120
Ganzzahlige Optimierung 3.1 Beispiele für ganzzahlige Optimierungsprobleme 3.2 Total unimodulare Matrizen . . . . . . . . . . . . 3.3 Schnittebenenverfahren von Gomory . . . . . . . 3.4 Branch and Bound-Methoden . . . . . . . . . . . 3.4.1 Branch and Bound für (ILP) . . . . . . . 3.4.2 Branch and Bound im Allgemeinen . . . 3.5 Travelling Salesman-Problem . . . . . . . . . . . 3.6 Aufgaben . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
135 136 140 142 163 166 170 180 189
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
194 194 199 218 234 236 241 252
4 Netzwerkflussprobleme 4.1 Graphentheoretische Grundbegriffe . . . 4.2 Netzwerksimplexverfahren . . . . . . . . 4.3 Maximale Flüsse in Netzwerken . . . . . 4.4 Kürzeste Wege . . . . . . . . . . . . . . 4.4.1 Ein primaldualer Algorithmus . . 4.4.2 Dijkstras Algorithmus . . . . . . 4.4.3 Algorithmus von Floyd-Warshall .
. . . . . . . . .
. . . . . . .
. . . . . . . . .
. . . . . . .
. . . . . . . . .
. . . . . . .
. . . . . . .
viii
Inhaltsverzeichnis
4.5
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
5 Konvexe Optimierung 5.1 Problemstellung . . . . . . . . . . . 5.2 Trennungssätze . . . . . . . . . . . 5.3 Optimalitätsbedingungen . . . . . . 5.4 Dualität und Sensitivität . . . . . . . 5.5 Sattelpunkte und Komplementarität 5.6 Schnittebenenverfahren . . . . . . . 5.7 Aufgaben . . . . . . . . . . . . . . 6
7
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
268 269 272 275 292 301 310 318
Differenzierbare Optimierung 6.1 Analytische Hilfsmittel . . . . . . . . . . 6.2 Existenz von Optimallösungen . . . . . . 6.3 Notwendige Optimalitätsbedingungen . . 6.4 Optimalitätsbedingungen zweiter Ordnung 6.5 Sensitivität . . . . . . . . . . . . . . . . 6.6 Aufgaben . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
324 326 337 342 358 366 372
Verfahren der nichtlinearen Optimierung 7.1 Reduktionsmethoden . . . . . . . . . . . . . . . . . . . 7.2 Methode der zulässigen Richtungen . . . . . . . . . . . 7.3 Projektionsverfahren . . . . . . . . . . . . . . . . . . . 7.4 Lagrange-Newton-Verfahren . . . . . . . . . . . . . . . 7.5 Sequentielle Quadratische Programmierung . . . . . . . 7.5.1 Lokale Konvergenz der SQP-Methode . . . . . . 7.5.2 Globalisierung der SQP-Methode . . . . . . . . 7.5.3 Quadratische Optimierung . . . . . . . . . . . . 7.6 Penalty-Methoden . . . . . . . . . . . . . . . . . . . . . 7.6.1 Äußere Penalty-Methoden . . . . . . . . . . . . 7.6.2 Innere Penalty-Methoden . . . . . . . . . . . . . 7.6.3 Exakte Penalty-Methoden und Dualität . . . . . 7.7 Innere-Punkte-Verfahren . . . . . . . . . . . . . . . . . 7.7.1 Zentraler Pfad für lineare Optimierungsprobleme 7.7.2 Pfadverfolgungsalgorithmen . . . . . . . . . . . 7.7.3 Ausblick auf nichtlineare Optimierungsprobleme 7.8 Multiplier-Penalty-Methoden . . . . . . . . . . . . . . . 7.8.1 Lagrangesches Prinzip . . . . . . . . . . . . . . 7.8.2 Erweiterbarkeit . . . . . . . . . . . . . . . . . . 7.8.3 Konvergenz der Multiplier-Penalty-Methode . . 7.8.4 Behandlung von Ungleichungsnebenbedingungen 7.9 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
377 379 380 390 393 395 395 399 410 417 418 422 427 429 429 433 438 442 442 443 445 447 448
. . . . . . .
. . . . . . .
ix
Inhaltsverzeichnis
8 Diskrete dynamische Optimierung 8.1 Problemstellung und Anwendungen . . . . . . . . 8.1.1 Diskretisierte Optimalsteuerungsprobleme . 8.1.2 Lagerhaltung . . . . . . . . . . . . . . . . 8.1.3 Rucksackpackproblem . . . . . . . . . . . 8.1.4 Zuordnungsprobleme . . . . . . . . . . . . 8.2 Das Optimalitätsprinzip von Bellman . . . . . . . 8.3 Methode der dynamischen Programmierung . . . . 8.4 Diskretes Maximumprinzip . . . . . . . . . . . . . 8.5 Kontinuierliches Maximumprinzip . . . . . . . . . 8.6 Aufgaben . . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
455 458 459 462 463 464 465 467 470 476 479
Evolutionäre Algorithmen 490 9.1 Modellierung evolutionärer Algorithmen . . . . . . . . . . . . . . . . 490 9.2 Konvergenzanalyse evolutionärer Algorithmen . . . . . . . . . . . . . 494 9.3 Numerische Simulation evolutionärer Algorithmen . . . . . . . . . . 505
Literaturverzeichnis
513
Index
523
Kapitel 1
Einleitung
Wir wollen in diesem Buch eine Einführung in Konzepte, theoretische Grundlagen und Algorithmen der mathematischen Optimierung geben. In Motivation und Stoffauswahl ist diese Einführung geprägt vom Operations Research. Daher sollte zunächst die Frage beantwortet werden: Was ist Operations Research? Es ist durchaus sinnvoll, eine erste Antwort auf diese Frage in einem guten Lexikon zu suchen, z. B. in Meyers großem Universallexikon in 15 Bänden [114], Band 10. Man könnte auch im Internet unter http://en.wikipedia.org/wiki/Operations_research nachschauen. Wir fassen die Ergebnisse solch einer Suche zusammen: Operations Research befasst sich mit der Modellierung, der qualitativen und quantitativen Analyse und der algorithmischen Lösung von Entscheidungsproblemen. Hauptanwendungsgebiete sind die Analyse und Optimierung vernetzter Systeme in Wirtschaftsbetrieben, in der Städte- und Verkehrsplanung, in der Volkswirtschaft und in der Technik. Daher ist Operations Research eine ausgezeichnete Motivationsquelle für die mathematische Optimierung, gilt es doch, vor jeder Entscheidung mögliche Entscheidungsalternativen abzuwägen, zu bewerten und die bestmögliche auszuwählen. Dies ist ein zumeist schwieriges und auch noch etwas unscharf formuliertes Optimierungsproblem. Bevor wir derartige Optimierungsprobleme mathematisch präziser fassen, geben wir einen Überblick über Inhalt und Aufbau dieser Einführung. Wir heben dabei einige Gesichtspunkte hervor, die uns geleitet haben und die einen besonderen Bezug zum Operations Research aufweisen. Natürlich können in einer Einführung nicht alle Teildisziplinen der mathematischen Optimierung angesprochen werden, wir beschränken uns auf die folgenden:
lineare Optimierung,
ganzzahlige und kombinatorische Optimierung,
Netzwerkflussprobleme,
konvexe Optimierung,
differenzierbare Optimierung,
diskrete dynamische Optimierung,
evolutionäre Algorithmen.
2
Kapitel 1 Einleitung
Jedes dieser Gebiete hat neben seinem eigenen mathematischen Reiz besondere Bezüge zum Operations Research. In der linearen Optimierung haben wir neben verschiedenen Varianten des Simplexverfahrens den sensitivitätstheoretischen Zugang zur Dualität beschrieben und damit den ökonomisch wichtigen Begriff der Schattenpreise erläutert. In der ganzzahligen und kombinatorischen Optimierung haben wir das Verfahren von Gomory wegen seiner historischen Bedeutung und seines intellektuellen Anspruchs ausführlich dargestellt, daneben aber auch das Branch and Bound-Prinzip intensiv behandelt und die Bedeutung von Relaxation, Dualität und Schnittebenenverfahren für die Gewinnung unterer Schranken hervorgehoben. Im Kapitel über Netzwerkflussprobleme haben wir das Netzwerksimplexverfahren sehr ausführlich dargestellt mit besonderer Betonung seiner graphentheoretischen Interpretation und der Rolle des Dualproblems. Dieses Verfahren ist für wichtige Teilgebiete des Operations Research (Transportprobleme, Zuordnungsprobleme, Maximalflussprobleme, Kürzeste-Wege-Probleme) von besonderer Bedeutung. Daneben werden aber auch spezifische Verfahren für speziell strukturierte Probleme behandelt, darunter hocheffiziente Verfahren für Kürzeste-Wege-Probleme. In der konvexen Optimierung haben wir verschiedene Varianten der Fritz John- und der Karush-Kuhn-Tucker-Bedingungen und die entsprechenden Dualitätssätze ebenfalls mit dem sensitivitätstheoretischen Zugang bewiesen. Mittels des Dualproblems lässt sich auch die Rolle der Schattenpreise in der konvexen Optimierung vollständig klären. Besonders wichtig erschien uns hier die Äquivalenz von Karush-KuhnTucker-Bedingungen, Sattelpunkttheoremen, Minimax-Theoremen, Komplementaritätsproblemen und deren Zusammenhang mit ökonomischen Gleichgewichten, wie z. B. den Nash-Gleichgewichten aus der Theorie der nichtkooperativen N -Personenspiele. Die konvexe Theorie wird dabei ohne Zusatzvoraussetzungen hinsichtlich der Problemfunktionen dargestellt, die nicht allein schon aus der Konvexität folgen würden. Verfahren der konvexen Optimierung, wie z. B. das Schnittebenenverfahren, können daher auch als Motivation für Algorithmen der nichtdifferenzierbaren Optimierung dienen. Für allgemeine nichtlineare Probleme steht neben Branch and Bound-Methoden, evolutionären Algorithmen und heuristischen Strategien das ganze Arsenal der Nonlinear Programming-Methoden für differenzierbare Optimierungsprobleme zur Verfügung. Diese Methoden nutzen besonders stark die lokale Problemstruktur aus und liefern neben quantitativen auch viele qualitative Einsichten in das zu lösende Problem. Die lokale Problemstruktur schlägt sich dabei nieder in notwendigen und hinreichenden Optimalitätsbedingungen, die wir ausführlich samt aller einschlägigen Constraint Qualifications darstellen. Wir betonen hier besonders den Aspekt der lokalen Approximation nichtkonvexer Probleme durch ihre Konvexifizierung. In diesem
Kapitel 1 Einleitung
3
Zusammenhang wird auch eine auf endlichdimensionale Optimerungsprobleme zugeschnittene Form des Satzes von Ljusternik bewiesen. Dieses Konvexifizierungsprinzip ist einerseits die Brücke zur konvexen Optimierung, andererseits auch die Grundlage effizienter Verfahren der nichtlinearen Optimierung wie der SQP-Methode oder der SCP-Methode. Die SQP-Methode behandeln wir recht ausführlich, viele weitere Methoden aus Platzgründen nur kursorisch. Besondes wichtig für das Operations Research ist die diskrete dynamische Optimierung. Hier stellen wir das Bellmansche Optimalitätsprinzip und die Methode der dynamischen Programmierung kurz vor. Für komplizierter strukturierte oder höherdimensionale diskrete dynamische Optimierungsprobleme ist der Einsatz geeigneter Nonlinear Programming-Methoden für differenzierbare Optimierungsprobleme unerlässlich. Viele dieser Methoden liefern als Nebenresultat auch Lagrange-Multiplikatoren, die zusammen mit der Optimallösung die Karush-Kuhn-Tucker-Bedingungen erfüllen. Wir zeigen, dass diese Optimalitätsbedingungen die Form eines diskreten Maximumprinzips haben. Dies eröffnet einen interessanten Zusammenhang mit dem Maximumprinzip der kontinuierlichen dynamischen Optimierung, also mit der Variationsrechnung und der für das Operations Research wichtigen Regelungs- und Steuerungstheorie. Das diskrete Maximumprinzip kann im Sinne einer indirekten Optimierungsmethode als Diskretisierung des kontinuierlichen Maximumprinzips interpretiert werden. Bei der so genannten direkten Methode für kontinuierliche dynamische Optimierungsprobleme wird hingegen das Problem selbst diskretisiert und so durch eine Folge endlichdimensionaler Optimierungsprobleme approximiert. Stochastische Optimierungsprobleme kommen in unserer Darstellung sicherlich zu kurz, wendet sie sich doch an einen Leserkreis, für den wir keine Vorkenntnisse aus Theorie und Numerik stochastischer Prozesse voraussetzen wollten. Dennoch haben wir ein abschließendes Kapitel über evolutionäre Algorithmen aufgenommen, da sich diese Algorithmen bei den Anwendern großer Beliebtheit erfreuen. Solche Algorithmen werden in nahezu allen Bereichen des Operations Research eingesetzt. Typische Anwendungen sind Betriebsablaufplanung, Personaleinsatzplanung, Containertransport, Maschinenbelegungspläne, nichtlineare gemischt-ganzzahlige Optimierungsprobleme, Strukturoptimierung. Hilfsmittel aus der Theorie homogener Markov-Ketten haben wir sehr sparsam verwendet, aber damit dennoch die Konvergenz individuenbasierter evolutionärer Algorithmen vollständig bewiesen. Für populationsbasierte evolutionäre Algorithmen haben wir Teilresultate gezeigt, so dass der Leser die auftretenden Schwierigkeiten und auch das Verhalten dieser Algorithmen besser einschätzen kann. Nach dieser Übersicht über Inhalt, Aufbau und Konzept dieser Einführung in die mathematische Optimierung wird es Zeit, konkrete Optimierungsprobleme mathematisch zu modellieren. Dazu stellen wir in Abschnitt 1.1 zunächst einige Beispiele vor, formalisieren diese dann mittels einiger Grundbegriffe aus der Optimierung
4
Kapitel 1 Einleitung
und schließen die Einleitung mit einer Übersicht über typische Fragestellungen der Optimierung.
1.1
Problemtypen
Wir betrachten einige typische Aufgabenstellungen des Operations Research, welche wir später wieder aufgreifen, vgl. hierzu und zu weiteren Anwendungen auch [120, 122, 121, 123, 160, 168, 90, 13, 59, 43, 44]. Beispiel 1.1.1 (Maximierung des Gewinns). Ein Landwirt möchte 40 Hektar mit Zuckerrüben und Weizen bepflanzen. Er hat hierfür 2400 Euro und 312 Arbeitstage zur Verfügung. Für jeden Hektar belaufen sich seine Anpflanzungskosten auf 40 Euro für Zuckerrüben und auf 120 Euro für Weizen. Für Zuckerrüben benötigt er 6 Arbeitstage pro Hektar und für Weizen 12 Arbeitstage pro Hektar. Der Gewinn beläuft sich auf 100 Euro pro Hektar für Zuckerrüben und auf 250 Euro pro Hektar für Weizen. Natürlich möchte der Landwirt seinen Gewinn maximieren. Das Problem der Gewinnmaximierung wird mathematisch formuliert. Es bezeichne x1 die Fläche, die mit Zuckerrüben bepflanzt wird, und x2 die Fläche, die mit Weizen bepflanzt wird. Dann ist der Gewinn gegeben durch die lineare Funktion f .x1 ; x2 / D 100x1 C 250x2 : Die folgenden Nebenbedingungen müssen beachtet werden: x1 C x2 40;
maximale Fläche:
40x1 C 120x2 2400;
verfügbares Geld: verfügbare Arbeitszeit:
6x1 C 12x2 312; x1 ; x2 0:
keine negativen Flächen:
In Matrixnotation, wobei alle Ungleichungen komponentenweise zu verstehen sind, lautet das Gewinnmaximierungsproblem des Landwirts: c>x
Maximiere
unter den Nebenbedingungen
Dabei ist xD
x1 x2
;
cD
100 250
0
;
1 40 b D @ 2400 A ; 312
Ax b; x 0 Š 0
1 1 1 A D @ 40 120 A : 6 12
Dies ist ein Beispiel für ein lineares Optimierungsproblem, da die Optimierungsvariablen x1 und x2 jeweils linear in der zu maximierenden Funktion und den Nebenbedingungen auftreten.
5
Abschnitt 1.1 Problemtypen
Beispiel 1.1.2 (Diät-Problem nach G. J. Stigler, 1940er Jahre). Ein Mensch benötige Vitamine V1, V2 und V3 für ein gesundes Leben. Derzeit seien nur 4 Arzneien A1, A2, A3, A4 verfügbar, die diese Vitamine enthalten. Die folgende Tabelle zeigt die Anteile der Vitamine in den Arzneien sowie deren Kosten und den täglichen Vitaminbedarf: V1
V2
V3
Kosten
A1
30
10
50
1500
A2
5
0
3
200
A3
20
10
50
1200
A4
10
20
30
900
Bedarf pro Tag
10
5
5.5
Die Aufgabe ist nun, eine Kombination der Arzneien zu finden, so dass der tägliche Vitaminbedarf bei minimalen Kosten erfüllt wird. Es bezeichne xi die Menge der Arznei Ai (i D 1; 2; 3; 4). Dann ist das folgende lineare Optimierungsproblem zu lösen: Minimiere 1500x1 C 200x2 C 1200x3 C 900x4 30x1 C
u. d. N.
5x2 C
10x1 C 50x1 C
3x2 C
20x2 C
10x4 10;
10x3 C
20x4 5;
50x3 C
30x4 5:5;
x1 ; x2 ; x3 ; x4 0 Š In Matrixschreibweise lautet dieses lineare Optimierungsproblem: Minimiere Hierbei ist 0
1 x1 B x2 C C xDB @ x3 A ; x4
c>x
unter den Nebenbedingungen
0
1 1500 B 200 C C cDB @ 1200 A ; 900
0
1 10 b D @ 5 A; 5:5
Ax b; x 0 Š
0
1 30 5 20 10 A D @ 10 0 10 20 A : 50 3 50 30
In den 1940er Jahren benötigten neun Personen insgesamt 120 Tage, um ein DiätProblem mit 9 Ungleichungen und 77 Variablen zu lösen. Dank moderner Computer können heute Probleme mit Millionen von Variablen und Nebenbedingungen innerhalb weniger Minuten gelöst werden.
6
Kapitel 1 Einleitung
Beispiel 1.1.3 (Transportproblem). Eine Transportfirma hat m Lagerhäuser und möchte Waren von diesen Lagerhäusern zu n Kunden transportieren. Die Lieferung einer Wareneinheit von Lagerhaus i zu Kunde j kostet cij Geldeinheiten. In Lagerhaus i lagern ai Einheiten der Ware. Kunde j hat einen Bedarf von bj Einheiten der Ware. Natürlich möchte die Transportfirma ihre Transportkosten minimieren, wobei der Bedarf der Kunden erfüllt werden soll, vgl. Abbildung. Lieferung a1
a2
Kunden
Lagerhäuser
b1
bn am
Es bezeichne xij die von Lagerhaus i zu Kunde j gelieferte Warenmenge. Zur Bestimmung der optimalen Liefermengen muss die Transportfirma das folgende lineare Optimierungsproblem lösen: Minimiere
m X n X
cij xij
(Lieferkosten)
i D1 j D1
u. d. N.
n X
xij ai
.i D 1; : : : ; m/;
(Lagerbestand)
xij bj
.j D 1; : : : ; n/;
(Bedarf)
xij 0
.i D 1; : : : ; m/;
(keine negativen Liefermengen)
j D1 m X i D1
.j D 1; : : : ; n/ Š In vielen praktischen Aufgabenstellungen sind die Liefermengen xij zusätzlich durch Ganzzahligkeitsnebenbedingungen xij 2 N0 D ¹0; 1; 2; : : :º eingeschränkt.
7
Abschnitt 1.1 Problemtypen
Beispiel 1.1.4 (Netzwerkproblem). Eine Firma möchte so viele Waren wie möglich von Stadt A zu Stadt D über das abgebildete Straßennetzwerk transportieren, wobei die Zahlen neben den Kanten des Netzwerks die maximale Kapazität der jeweiligen Kante angeben.
B 5 A
2 C
3
7
6
D
Wie kann dieses Problem mathematisch modelliert werden? Es bezeichne V WD ¹A; B; C; Dº die Menge der Knoten des Netzwerks, welche den Städten im Netzwerk entsprechen, E WD ¹.A; B/; .A; C /; .B; C /; .B; D/; .C; D/º die Menge der Kanten im Netzwerk, welche den Verbindungsstraßen zwischen jeweils zwei Städten entsprechen. Für jede Kante .i; j / 2 E bezeichne xij die tatsächlich transportierte Menge entlang der Kante .i; j / und uij die maximale Kapazität der Kante. Dann muss die Kapazitätsbeschränkung 0 xij uij
..i; j / 2 E/
gelten. Des Weiteren ist es sinnvoll anzunehmen, dass in den Städten B und C keine Waren produziert werden und auch keine Waren abhanden kommen, so dass die Erhaltungsgleichungen „Abfluss Zufluss D 0“ in B und C gelten müssen: xBD C xBC xAB D 0; xCD xAC xBC D 0: Da auf Grund der Erhaltungsgleichungen unterwegs keine Waren verschwinden können und keine zusätzlichen Waren generiert werden, besteht die Aufgabe nun darin, die den Startknoten verlassende Warenmenge zu maximieren (dies ist dieselbe Warenmenge, die den Knoten D erreicht): Maximiere xAB C xAC u. d. N.
xBD C xBC xAB D 0; xCD xAC xBC D 0;
0 xij uij
..i; j / 2 E/ Š
8
Kapitel 1 Einleitung
Alle vorangegangen Beispiele sind Beispiele für lineare Optimierungsprobleme, welche wir später formal definieren werden. Viele Probleme des Operations Research besitzen jedoch einen kombinatorischen Charakter, der sich darin ausdrückt, dass die Menge aller Punkte, die die Nebenbedingungen erfüllen, zwar endlich ist, dabei aber mit wachsender Problemgröße sehr schnell anwächst. Das Hauptziel in dieser Situation besteht in der Konstruktion effizienter Algorithmen, falls dies überhaupt möglich ist. Unter einem effizienten Algorithmus wird ein Algorithmus mit polynomialem Aufwand in der Problemgröße verstanden. Es gibt viele Probleme, darunter Rucksackpackprobleme und Travelling Salesman-Probleme, für die kein Algorithmus mit polynomialem Aufwand bekannt ist und für die es darüber hinaus auch unwahrscheinlich ist, dass ein solcher überhaupt existiert. Wir möchten hier nicht detailliert in die Komplexitätstheorie von Algorithmen einsteigen, sondern beschränken uns auf die folgende informelle Definition. Ein Verfahren zur Lösung eines Problems P der Größe n besitzt polynomiale Komplexität, falls es höchstens eine polynomiale Anzahl von Operationen in n zur Lösung jeder Probleminstanz benötigt. Andernfalls besitzt es exponentielle Komplexität. In der Komplexitätstheorie spielen die folgenden Problemklassen eine wesentliche Rolle:
Die Klasse P enthält alle Probleme, für die ein Verfahren mit polynomialer Komplexität existiert. Die Klasse N P (Nondeterministic Polynomial) enthält alle Probleme, für die ein Verfahren existiert, welches Lösungen in polynomialer Zeit verifizieren kann. Mit anderen Worten: Ist mit x eine Lösung des Problems P gegeben, so gibt es ein Verfahren polynomialer Komplexität, welches erkennt, dass x eine Lösung ist. Ist x hingegen keine Lösung, so kann das Verfahren dies u. U. nicht in polynomialer Zeit feststellen.
Offenbar gilt P N P . Es ist jedoch bisher ungeklärt, ob P D N P gilt oder nicht. Dieses Problem ist eines der Millennium-Probleme des Clay Institute unter http://www.claymath.org/millennium, dessen Beantwortung eine Million Dollar wert ist. Es wird vermutet, dass P 6D N P gilt. Das folgende Beispiel illustriert die praktischen Auswirkungen polynomialer und exponentieller Algorithmen. Beispiel 1.1.5 (polynomiale und exponentielle Komplexität). Gegeben sei ein Computer mit 1010 Operationen pro Sekunde (10 GHz). Ein Problem P, z. B. ein lineares Optimierungsproblem, soll mit dem Computer gelöst werden. Es bezeichne n die Größe des Problems, z. B. die Anzahl der Variablen. Es seien fünf verschiedene Algorithmen gegeben, welche n, n2 , n4 , 2n und nŠ Operationen zur Lösung des Problems der Größe n benötigen. Die folgende Tabelle gibt einen Überblick über die Zeit, die die verschiedenen Algorithmen zur Lösung benötigen.
9
Abschnitt 1.1 Problemtypen
ops n Größe n
20
60
100
1000
n
0:002 μs
0:006 μs
0:01 μs
0:1 μs
n2
0:04 μs
0:36 μs
1 μs
0:1 ms
n4
16 μs
1:296 ms
10 ms
100 s
2n
0:1 ms
3 Jahre
nŠ
7:7 Jahre
Jahre
1012
Offenbar können nur die Verfahren mit polynomialer Komplexität n, n2 , n4 als halbwegs effizient betrachtet werden, während solche mit exponentieller Komplexität 2n und nŠ als sehr ineffizient angesehen werden müssen. Beispiel 1.1.6 (Zuweisungsproblem). Gegeben seien n Mitarbeiter E1 ; E2 ; : : : ; En , n Aufgaben T1 ; T2 ; : : : ; Tn und Kosten cij für die Zuweisung des Mitarbeiters Ei zu Aufgabe Tj . Die Aufgabe eines Projektplaners ist es, den Mitarbeitern eineindeutig Aufgaben zuzuweisen, so dass die Kosten dieser Zuweisung minimal ausfallen. Mathematisch kann diese Aufgabe wie folgt modelliert werden. Es seien xij 2 ¹0; 1º (i; j D 1; : : : ; n) definiert durch ´ 0; falls Mitarbeiter i nicht Aufgabe j zugewiesen wird; xij D 1; falls Mitarbeiter i Aufgabe j zugewiesen wird: Das Zuweisungsproblem lautet dann: n X
Minimiere
cij xij
i;j D1 n X
u. d. N.
xij D 1 .i D 1; : : : ; n/;
j D1 n X
xij D 1 .j D 1; : : : ; n/;
i D1
xij 2 ¹0; 1º
.i; j D 1; : : : ; n/ Š
Wegen xij 2 ¹0; 1º garantieren die Nebenbedingungen n X
xij D 1 .i D 1; : : : ; n/;
j D1
dass Mitarbeiter i genau eine Aufgabe zugewiesen wird. Entsprechend garantieren n X
xij D 1 .j D 1; : : : ; n/;
i D1
dass jede Aufgabe durch genau einen Mitarbeiter erledigt wird.
10
Kapitel 1 Einleitung
Aus theoretischer Sicht scheint dieses Problem einfach zu sein, da es nur endlich viele Möglichkeiten für die Belegung der Variablen xij (i; j D 1; : : : ; n) gibt. Ein naiver Lösungsansatz besteht daher in der Enumeration aller zulässigen Punkte und der anschließenden Wahl des besten Punkts. Fasst man die Variablen xij 2 ¹0; 1º (i; j D 1; : : : ; n) als Einträge einer n nMatrix auf, so erzwingen die Nebenbedingungen, dass in jeder Zeile und Spalte dieser Matrix genau ein Eintrag 1 zu finden ist. Demnach gibt es n Möglichkeiten, die 1 in der ersten Zeile zu platzieren, jeweils n 1 Möglichkeiten für die zweite Zeile usw. Es gibt also nŠ D n.n1/.n2/ 21 Punkte, die die Nebenbedingungen erfüllen. Der naive Enumerationsalgorithmus erfordert es, die zu minimierende Funktion für jede Kombination auszuwerten. Die folgende Tabelle zeigt, wie schnell die Anzahl der Auswertungen mit der Problemgröße n ansteigt: n Auswertungen
10
20
30
50
70
3:629 106
2:433 1018
2:653 1032
3:041 1064
1:198 10100
Beispiel 1.1.7 (Travelling Salesman-Problem, Handlungsreisendenproblem). Seien Städte V D ¹1; : : : ; nº und Verbindungen E V V zwischen den Städten gegeben, wobei cij die Länge der Verbindung .i; j / 2 E bezeichne. Eine Tour ist ein geschlossener gerichteter Pfad, der jede Stadt genau einmal enthält. Die Aufgabe besteht in der Bestimmung einer Tour minimaler Länge.
11
Abschnitt 1.1 Problemtypen
Definiere die Variablen xij 2 ¹0; 1º für alle .i; j / 2 E durch ´ xij D
1; 0
falls .i; j / Teil der Tour ist; sonst:
Die Bedingung, dass jede Stadt genau einmal besucht wird, wird durch die Nebenbedingungen X
xij D 1 .j 2 V /;
(1.1)
xij D 1 .i 2 V /
(1.2)
¹iW.i;j /2E º
X
¹j W.i;j /2E º
garantiert. Diese Bedingungen finden sich auch schon im Zuweisungsproblem 1.1.6. Sie ermöglichen jedoch noch unzusammenhängende Subtouren. Um diese auszuschließen, wird für jede disjunkte Partition von V in nichtleere Mengen U V; Uc V gefordert, dass es eine Verbindung .i; j / 2 E
mit i 2 U; j 2 U c
.k; `/ 2 E
mit k 2 U c ; ` 2 U
und eine Verbindung
gibt. Hierbei müssen die einelementigen Mengen wegen (1.1) und (1.2) nicht betrachtet werden, so dass die Bedingungen X
xij 1
(1.3)
¹.i;j /2E Wi 2U;j 2V nU º
für alle U V mit 2 jU j jV j 2 resultieren. Dabei bezeichnet jU j die Anzahl der Elemente von U .
12
Kapitel 1 Einleitung
Insgesamt lautet das Travelling Salesman-Problem wie folgt: X Minimiere cij xij .i;j /2E
X
u. d. N.
xij D 1
.j 2 V /;
xij D 1
.i 2 V /;
¹iW.i;j /2E º
X
¹j W.i;j /2E º
X
xij 1 .U V; 2 jU j jV j 2/;
¹.i;j /2E Wi 2U;j 2V nU º
xij 2 ¹0; 1º
..i; j / 2 E/ Š
Anmerkung. Die Anzahl der expliziten Nebenbedingungen wächst exponentiell mit der Anzahl der Knoten. Dabei ist keineswegs klar, ob mit diesen Nebenbedingungen eine „gute“ Beschreibung der zulässigen Menge gefunden wurde. Beispiel 1.1.8 (Rucksackpackproblem). Maximal N Gegenstände sollen in einen Rucksack gepackt werden.
Jeder Gegenstand j 2 ¹1; : : : ; N º besitzt das Gewicht aj und den Wert cj . Die Aufgabe besteht im Packen eines Rucksacks mit maximalem Wert, wobei das Gewicht des Rucksacks den Wert A nicht überschreiten darf. Dies führt auf das folgende Optimierungsproblem: Maximiere
N X j D1
cj xj
u. d. N.
N X j D1
aj xj A; xj 2 ¹0; 1º .j D 1; : : : ; N / Š
13
Abschnitt 1.1 Problemtypen
Dabei bedeutet ´ 1; Gegenstand j wird eingepackt; xj D 0; Gegenstand j wird nicht eingepackt: Ein naiver Ansatz besteht in der Enumeration der höchstens 2N zulässigen Kombinationen. Beispiel 1.1.9 (Standortplanung). Beim Standortplanungsproblem soll über die Eröffnung von Depots entschieden werden. Sei I D ¹1; : : : ; mº eine Menge von Kunden und J D ¹1; : : : ; nº eine Menge von potenziellen Depots, die an verschiedenen Standorten eröffnet werden können. Die Eröffnung eines Depots j 2 J verursacht feste Instandhaltungskosten cj . Jeder Kunde i 2 I hat einen Bedarf bi und kann von jedem Depot bedient werden. Jedes Depot j 2 J hat eine Lagerkapazität uj . Die Transportkosten für den Transport einer Einheit von Depot j 2 J zu Kunde i 2 I betragen hij Geldeinheiten. Ziel des Standortplanungsproblems ist es zu entscheiden, welche Depots eröffnet werden sollen, so dass der Bedarf der Kunden bei minimalen Gesamtkosten befriedigt werden kann. Mit Hilfe der Variablen xj 2 ¹0; 1º wird entschieden, ob Depot j 2 J eröffnet wird (xj D 1) oder nicht (xj D 0). Die Variable yij bezeichnet die zum Kunden i transportierte Menge von Depot j . Das Standortplanungsproblem führt auf das folgende gemischt-ganzzahlige Optimierungsproblem. Minimiere
X
cj xj C
j 2J
u. d. N.
X
hij yij
i2I j 2J
xj 2 ¹0; 1º
.j 2 J /;
yij 0 X yij D bi
.i 2 I; j 2 J /; .i 2 I /;
j 2J
X
yij xj uj
.j 2 J / Š
i 2I
In dieser Problemstellung treten sowohl diskrete Optimierungsvariable xj 2 ¹0; 1º als auch reellwertige Optimierungsvariable yij 0 auf. Die letzte Nebenbedingung erzwingt im Fall xj D 0 (Depot j wird nicht eröffnet), dass yij D 0 für die aus Depot j gelieferten Mengen gilt. Beispiele 1.1.6, 1.1.7 und 1.1.8 sind ganzzahlige lineare Optimierungsprobleme, während Beispiel 1.1.9 ein gemischt-ganzzahliges lineares Optimierungsproblem ist. Das folgende Beispiel führt auf ein konvexes nichtlineares Optimierungsproblem.
14
Kapitel 1 Einleitung
Beispiel 1.1.10 (Portfoliooptimierung). Wir betrachten das Beispiel einer Portfoliooptimierungsaufgabe nach Markowitz. Gegeben seien j D 1; : : : ; n mögliche Anlagen (z. B. Aktien, Fonds, Optionen, Wertpapiere). Jede Anlage wirft im nächsten Zeitintervall einen Gewinn (oder Verlust) Rj ab. Leider ist Rj in der Regel nicht bekannt, sondern zufällig verteilt. Um einerseits den Gewinn zu maximieren und andererseits das Risiko eines Verlusts zu minimieren, wird die Anlagesumme in Anteilen xj auf die Anlagen j D 1; : : : ; n verteilt, und die anteiligen Anlagen werden in einem Portfolio zusammengefasst. Die Aufgabe eines Portfoliomanagers besteht in der optimalen Zusammensetzung eines solchen Portfolios, d. h. die Anteile xj der jeweiligen Anlagen, die in das Portfolio übernommen werden sollen, müssen in einem gewissen Sinne optimal bestimmt werden. Ein mögliches Ziel ist es, den erwarteten Gewinn E.R/ D
n X
RD
xj E.Rj /;
j D1
n X
xj Rj ;
j D1
zu maximieren (E bezeichnet den Erwartungswert). Jedoch ist ein hoher Gewinn in der Regel nur mit riskanten Anlagen möglich, so dass auch das Risiko eines Verlusts steigt. Als Maß für das Risiko kann die Varianz des Gewinns dienen, Var.R/ D E..R E.R//2 / D E
n X
2 : xj .Rj E.Rj //
j D1
Ein Kompromiss zwischen hohem Gewinn und geringem Risiko kann durch Lösen des folgenden Optimierungsproblems erreicht werden: Minimiere
n X
xj E.Rj / C ˛E
n X
j D1
u. d. N.
n X
2 xj .Rj E.Rj //
j D1
xj D 1;
xj 0
.j D 1; : : : ; n/ Š
j D1
Hierin bezeichnet ˛ > 0 einen Gewichtungsparameter, mit dem die Risikobereitschaft gesteuert werden kann. Mit ˛ D 0 wird der Varianzterm in der Zielfunktion eliminiert, so dass nur noch der Gewinn maximiert wird. Dies entspricht einer hohen Risikobereitschaft. Mit wachsendem ˛ wird der Varianzterm stärker gewichtet und die Risikobereitschaft sinkt. Für weitere Anwendungen vgl. man die umfangreiche Literatur, insbesondere [90, 32, 74, 87, 28, 168]. Insbesondere [168] enthält sehr viele Beispiele und Aufgaben, von denen einige auch als Aufgaben in dieses Buch aufgenommen wurden.
Abschnitt 1.2 Grundbegriffe und typische Fragestellungen
1.2
15
Grundbegriffe und typische Fragestellungen
Fast alle angegebenen Optimierungsaufgaben sind Spezialfälle des folgenden allgemeinen Problems. Allgemeines Optimierungsproblem 1.2.1. X sei eine beliebige Menge und K1 X; f W X ! R eine reelle Funktion, Z sei eine beliebige Menge und K2 Z; g W X ! Z eine Abbildung. Mit diesen Daten lautet das Optimierungsproblem: .P/
Minimiere f .x/ unter den Nebenbedingungen x 2 K1 ; g.x/ 2 K2 Š
Dabei beschränken wir uns auf Minimierungsprobleme. Maximierungsprobleme können durch Multiplikation von f mit 1 in äquivalente Minimierungsprobleme überführt werden. Definitionen 1.2.2. Mit den Bezeichnungen aus 1.2.1 heißt f Zielfunktion, g Restriktionsabbildung, x 2 K1 implizite Restriktion oder Mengenrestriktion und g.x/ 2 K2 explizite Restriktion. Die Menge S WD ¹x 2 X W x 2 K1 ; g.x/ 2 K2 º heißt zulässige Menge. Jedes x 2 S heißt zulässige Lösung. w WD inf¹f .x/ W x 2 K1 ; g.x/ 2 K2 º heißt Wert oder auch genauer Minimalwert des Problems. x0 heißt Optimallösung, falls x0 zulässig ist und f .x0 / D inf¹f .x/ W x 2 K1 ; g.x/ 2 K2 º D min¹f .x/ W x 2 K1 ; g.x/ 2 K2 º: Das Optimierungsproblem 1.2.1 ist für konkrete Untersuchungen, insbesondere für die Entwicklung von Lösungsverfahren, viel zu allgemein. Man benötigt dazu mehr Informationen über die Problemstruktur. In der finiten linearen Optimierung sind X D Rn , Z D Rm und Zielfunktion sowie alle Restriktionen linear, vgl. das lineare Standardproblem 2.1.1. Die Beschreibung eines Problems ist auch keineswegs eindeutig, und verschiedene Beschreibungen sind
16
Kapitel 1 Einleitung
verschieden gut brauchbar. So sieht z. B. die Normalform 2.1.2 linearer Optimierungsprobleme viel spezieller aus als das allgemeine lineare Problem, ist aber tatsächlich äquivalent dazu. In der ganzzahligen und kombinatorischen Optimierung kommt die Zusatzbedingung X Zn oder X ¹0; 1ºn hinzu, die das Problem deutlich schwieriger macht. Mit ganzzahligen Variablen lassen sich Wahrheitswerte, Alternativen aus endlich vielen Möglichkeiten, Stückzahlen, Personalbedarf und vieles mehr modellieren. In der konvexen Optimierung kommt es eigentlich nur darauf an, dass Zielfunktion f und zulässige Menge S konvex sind. Deshalb wird das Problem 1.2.1 insbesondere für theoretische Zwecke gern scheinbar völlig ohne Restriktionen modelliert und die Zielfunktion f auf dem ganzen Rn minimiert, wobei dann allerdings für f auch die Werte 1 und C1 zugelassen werden. Dann ist auch dieses Problem äquivalent zum konvexen Standardproblem 5.1.1. In der differenzierbaren Optimierung sind Zielfunktion f und Restriktionsabbildung g nichtlinear, aber wenigstens differenzierbar, vgl. das differenzierbare Standardproblem 6.2.1. Mit den Ableitungen kann man dann das Problem lokal durch ein lineares oder konvexes approximieren. Dazu müssen dann auch die Mengen K1 und K2 lokal durch so genannte konvexe Kegel approximierbar sein. Wir beschränken uns in dieser Einführung auf konvexe Mengen, für die diese lokale Approximierbarkeit gesichert ist. In der diskreten dynamischen Optimierung beschreiben die Nebenbedingungen sehr komplexe diskrete dynamische Systeme mit allgemeinen Randbedingungen und Zustandsbeschränkungen, vgl. das diskrete dynamische Optimierungsproblem 8.1.1. Gewisse Entscheidungsvariablen, die jetzt Gitterfunktionen auf einem diskreten Zeitgitter sind, lassen sich als Inputs, Steuerungen, Kontrollen interpretieren, andere als Outputs, Beobachtungen, weitere als interne Systemzustände. Optimiert wird dann über einige oder alle diese Variablen. Sind die „Entscheidungsvariablen“ sogar Funktionen (dann sind X und Z unendlichdimensionale Funktionenräume), so beschreiben die Nebenbedingungen des Problems 1.2.1 kontinuierliche dynamische Systeme, also Variationsprobleme, Regelungsprobleme, Steuerungsprobleme. Solche Probleme sind zwar nicht das Thema dieser Einführung, aber sie können zur Motivierung diskreter dynamischer Systeme dienen. Die diskreten Systeme wiederum werden zur numerischen Lösung optimaler Steuerungsprobleme verwendet und sind auch deswegen besonders wichtig. In der stochastischen (dynamischen) Optimierung werden durch das Optimierungsproblem 1.2.1 gewisse charakteristische Kenngrößen der zugrunde liegenden zufälligen Veränderlichen optimiert, in der Portfoliooptimierung 1.1.10 z. B. eine Kombination aus dem Erwartungswert und der Varianz. Ein Problem kann auch auf den ersten Blick durchaus deterministisch aussehen, aber seine konkrete numerische Lösung eine stochastische Modellierung erfordern wie bei den evolutionären Algorithmen 9.1.5, die stochastische Prozesse realisieren.
Abschnitt 1.2 Grundbegriffe und typische Fragestellungen
17
Alle diese Probleme hängen auch noch von weiteren Parametern ab, über die nicht oder noch nicht optimiert wird und die auch aus Störungen des Problems resultieren können. Auf diese Weise erhält man so genannte parametrische Optimierungsprobleme, und es stellt sich die Frage, wie Minimalwerte, Optimallösungen, zulässige Mengen von diesen Parametern abhängen. Wir sprechen diese Problematik der Sensitivität gegenüber Änderungen der Problemdaten für lineare, konvexe und differenzierbare Optimierungsprobleme an. Interessanterweise sind solche Sensitivitätsuntersuchungen nicht nur für theoretische Grundlagen, wie z. B. die ganze Dualitätstheorie, wesentlich, sondern auch für die Konvergenzanalyse numerischer Verfahren. Abschließend listen wir eine Reihe typischer Fragestellungen der Optimierung auf, die wir in dieser Einführung behandeln werden, wenn auch nicht alle mit gleicher Intensität. Ein Teil dieser Fragestellungen ist überwiegend theoretischer Natur. Aber ohne ihre Beantwortung ist die erfolgreiche Behandlung der stärker numerisch und algorithmisch orientierten Fragestellungen nicht möglich. Typische Fragestellungen
Existieren zulässige Lösungen?
Existieren Optimallösungen?
Ist die Optimallösung eindeutig bestimmt?
Wie hängen die Optimallösungen von den Problemparametern ab?
Welche Eigenschaften besitzen Optimallösungen, welche Bedingungen werden also von einer Optimallösung notwendig erfüllt?
Welche Bedingungen sind hinreichend dafür, dass eine zulässige Lösung optimal ist?
Welche Bedingungen sind notwendig und hinreichend für Optimalität, charakterisieren also Optimallösungen?
Wie gewinnt man aus zulässigen Lösungen Informationen über Optimallösungen, insbesondere Einschließungen für den Optimalwert und Fehlerabschätzungen für die Optimallösung?
Wie gewinnt man Algorithmen zur Berechnung von Optimallösungen?
Welche numerischen Eigenschaften besitzen diese Algorithmen (Konvergenz, Komplexität, Konvergenzgeschwindigkeit, Stabilität)?
18
1.3
Kapitel 1 Einleitung
Aufgaben
Aufgabe 1.3.1. Ein Betrieb hat folgenden Bedarf an Arbeitskräften: Nr. Zeitintervall Zeitintervall Anzahl benötigter Arbeitskräfte
1
2
3
4
5
6
0–4
4–8
8–12
12–16
16–20
20–24
p1 D 3
p2 D 8
p3 D 10
p4 D 8
p5 D 14
p6 D 5
Er möchte insgesamt möglichst wenig Personen beschäftigen, hat aber folgende Regeln einzuhalten: Jeder Beschäftigte arbeitet genau 8 aufeinander folgende Stunden, kein Beschäftigter tritt innerhalb von 24 Stunden zweimal zum Dienst an. Formulieren Sie dieses Problem mathematisch und finden Sie durch Ausprobieren eine Lösung, die alle Nebenbedingungen erfüllt und möglicherweise auch optimal ist. Aufgabe 1.3.2. Schreiben Sie das Transportproblem 1.1.3 als lineares Optimierungsproblem in der Form Minimiere
c>x
u. d. N.
Ax a; Bx b; x 0 Š
Bestimmen Sie A, B, a, b, x und c. Aufgabe 1.3.3. Ein Student möchte seinen morgigen Tagesablauf planen, so dass er möglichst viel Freizeit hat. Allerdings muss er im Anschluss an den ca. einstündigen Aufwach- und Aufstehvorgang, der jederzeit ab 8.00 Uhr einsetzen kann, eine Stunde lang wichtige Telefonate tätigen, vier Stunden lang Hausaufgaben machen und eine Stunde lang zu Mittag essen, bevor er sich seiner Freizeitbeschäftigung widmen kann. Dabei hat er versprochen, die Telefonate erst nach dem Mittagessen zu führen. Gesucht sind die Startzeitpunkte der jeweiligen Tätigkeiten. Aufgabe 1.3.4 (aus [163]). Gesucht ist ein optimaler Zeitplan für den Bau eines Hauses. Der Bau eines Hauses kann in die in der Tabelle angegebenen Bauabschnitte unterteilt werden, wobei die Fertigstellung eines jeden Bauabschnitts eine gewisse Zeit benötigt. Während einige Bauabschnitte parallel durchgeführt werden können, können andere Bauabschnitte erst begonnen werden, sobald bestimmte Arbeiten bereits abgeschlossen sind. Ziel ist es, die Startzeitpunkte der einzelnen Bauabschnitte so zu bestimmen, dass die Gesamtbauzeit des Hauses minimal wird (Zeit ist Geld!). Formulieren Sie diese Aufgabe als lineares Optimierungsproblem für die Startzeitpunkte tj .j D 0; : : : ; 9/ der jeweiligen Bauabschnitte.
19
Abschnitt 1.3 Aufgaben
Bauabschnitt
Dauer in Wochen
erforderliche Vorarbeiten
0. Vertragsunterzeichnung
0
–
1. Fundament und Seitenwände
2
0
2. Dach
1
1
3. Verkleiden
3
1
4. Fenster und Türen
2.5
3
5. Installationsarbeiten
1.5
3
6. Elektroinstallation
2
2, 4
7. Innenausbau
4
5, 6
8. Außenanstrich
3
2, 4
9. Schlüsselübergabe
0
7, 8
Aufgabe 1.3.5 (aus [168]). Eine Ölfirma beabsichtigt, so viel Öl wie möglich durch ein gegebenes Pipelinenetz von Knoten 1 zu Knoten 5 zu transportieren, siehe untenstehende Abbildung. Abhängig vom Durchmesser der jeweiligen Pipeline ist der maximale Durchsatz beschränkt durch die Zahlen (in Millionen Barrel pro Stunde) neben den Kanten des Netzes.
3
3
6
s=1
1
2
2
4
2
3
7
t=5
Formulieren Sie dieses Problem als (lineares) Optimierungsproblem. Aufgabe 1.3.6. Matthias will eine mehrtägige Wanderung durch die fränkische Schweiz unternehmen und kann sich nicht entscheiden, welche Gegenstände er mitnehmen soll. Sein Rucksack soll insgesamt nicht mehr als 10 kg wiegen. Er erwägt, folgende Dinge mitzunehmen:
20
Kapitel 1 Einleitung
Nr.
Gegenstand
Gewicht
subjektiver Wert
1.
Rucksack
1400 g
1.00
2.
Zelt
2600 g
0.88
3.
Isomatte
1200 g
0.92
4.
Schlafsack
1500 g
0.94
5.
Kocher mit Zubehör
1600 g
0.79
6.
4 Tütensuppen
je 30 g
0.79
7.
Trinkflasche mit Wasser
1150 g
0.98
8.
Wäsche
800 g
0.71
9.
Kulturbeutel
300 g
0.74
10.
Handtuch
350 g
0.81
11.
Handy
550 g
0.5
12.
volles Portemonnaie
500 g
0.99
13.
Schreibzeug
300 g
0.52
14.
Wanderkarte
80 g
0.98
15.
Reiseführer
200 g
0.58
16.
Tafel Schokolade
100 g
0.98
Matthias will natürlich den subjektiven Wert seines Gepäcks maximieren. Formulieren Sie das Problem mit allen logischen Abhängigkeiten als ganzzahliges lineares Optimierungsproblem und lösen Sie das Problem z. B. durch Enumeration aller Möglichkeiten. Aufgabe 1.3.7. Bei der Herstellung von Konserven werden für Boden und Deckel bzw. für den Konservenmantel verschiedene Materialien verwendet, die g1 bzw. g2 Geldeinheiten pro Flächeneinheit kosten. Zu einem vorgegebenen Volumen V soll eine passende Konserve hergestellt werden, die möglichst billig ist. Formulieren Sie die Aufgabe als Optimierungsproblem und berechnen Sie die Lösung. Aufgabe 1.3.8. Das Programm SCILAB kann unter http://www.scilab.org heruntergeladen werden. SCILAB stellt den Befehl linpro zur Lösung von linearen Optimierungsaufgaben zur Verfügung. Machen Sie sich mit dem Befehl vertraut, indem Sie
21
Abschnitt 1.3 Aufgaben
z. B. die Online-Hilfe verwenden, und lösen sie das folgende lineare Optimierungsproblem: 250x1 C 45x2
Maximiere
x1 50;
u. d. N.
x2 200; x1 C 0:2x2 72; 150x1 C 25x2 10000; x1 0; x2 0 Š Hinweis: Alternativ kann das Softwarepaket MATLAB und der Befehl linprog (bzw. lp bei älteren MATLAB-Versionen) verwendet werden. Aufgabe 1.3.9. Ein Energiekonzern hat fünf Gebiete zur Errichtung von Kraftwerken in den nächsten 20 Jahren zur Verfügung. Es kostet ci Euro, um ein Kraftwerk in Gebiet i zu errichten, und hi Euro pro Jahr, um das Kraftwerk in Gebiet i zu betreiben. In Gebiet i hat ein Kraftwerk eine Kapazität von ki kWh pro Jahr. In Jahr t werden d t kWh Elektrizität benötigt. Pro Jahr kann nur ein Kraftwerk errichtet werden. Zu Beginn des Planungszeitraums von 20 Jahren hat der Konzern 500 000 kWh zur Verfügung. Formulieren Sie ein Optimierungsproblem zur Minimierung der Gesamtkosten in den nächsten 20 Jahren. Aufgabe 1.3.10. Eine Firma hat zwei Fabriken (F 1 und F 2), die eine Chemikalie herstellen. Die Produktion wird an zwei Kunden (K1 und K2) geliefert, die monatlich genau 660 bzw. 800 Tonnen von dieser Chemikalie abnehmen. Die monatliche Kapazität von F 1 liegt zwischen 400 und 900 Tonnen, die von F 2 zwischen 450 und 900 Tonnen. Die Produktionskosten pro Tonne in F 1 und F 2 sind 25 bzw. 28 Euro. Die Firma kauft die Rohmaterialien von zwei Unternehmen (U1 und U 2) für 200 bzw. 210 Euro pro Tonne. Die Firma hat sich verpflichtet, monatlich mindestens 500 bzw. 750 Tonnen von U1 und U 2 zu kaufen. Die Transportkosten (in Euro) der Firma sind der folgenden Tabelle zu entnehmen: U1 U 2 K1 K2 F 1 10
9
3
4
F 2 12 13
5
2
Es wird angenommen, dass eine Tonne des Rohstoffs für genau eine Tonne der Chemikalie ausreicht. Die Firma will die Gesamtkosten (für Rohstoffe, für Produktion und Transport) minimieren.
22
Kapitel 1 Einleitung
(a) Geben Sie eine mathematische Formulierung des Problems als lineare Optimierungsaufgabe an. (b) Lösen Sie das lineare Optimierungsproblem z. B. mit SCILAB oder MATLAB und überprüfen Sie, ob die Lösung sinnvoll ist oder ob das Modell evtl. durch Hinzunahme weiterer Beschränkungen verbessert werden muss. Aufgabe 1.3.11. Lineare Optimierungsprobleme spielen auch bei Ausgleichsproblemen eine wichtige Rolle. Betrachten Sie die L1 -Ausgleichsaufgabe Minimiere
kb Axk1
für
x 2 Rn Š
Dabei sind die Daten b 2 Rm und A 2 Rmn fest gegeben. Pm Die Norm k k1 ist für > m einen Vektor z D .z1 ; : : : ; zm / 2 R durch kzk1 D i D1 jzi j definiert. Zeigen Sie, dass das Ausgleichsproblem äquivalent ist zu der linearen Optimierungsaufgabe (mit e WD .1; : : : ; 1/> 2 Rm ): Minimiere e > .uC C u / bezüglich
x; uC ; u
u. d. N.
Ax C uC u D b; uC ; u 0 Š
Aufgabe 1.3.12. Eine Messung hat folgende Werte ergeben: ti
1
1 2
yi 1:3 1:7 6 Formulieren Sie das zugehörige lineare Ausgleichsproblem Minimiere
kb Axk1
für
x 2 R2 Š
Verwenden Sie dafür die Ansatzfunktion y.t / D ˛t C ˇt 3 : Lösen Sie das Ausgleichsproblem mit Hilfe von Aufgabe 1.3.11, indem Sie das äquivalente lineare Optimierungsproblem, z. B. mit SCILAB oder MATLAB, lösen. Aufgabe 1.3.13 (aus [166]). Ein Winzer stellt für eine Supermarktkette einen billigen Wein her. Hierzu benutzt er einen Landwein, der ihn 1.00 Euro pro Liter kostet. Zur Anhebung der Süße benutzt er Diäthylenglykol-haltiges Frostschutzmittel zum Preis von 1.20 Euro pro Liter und für die Verbesserung der Lagerungsfähigkeit eine Natriumacid-Lösung für 1.80 Euro pro Liter. Verständlicherweise möchte er eine
23
Abschnitt 1.3 Aufgaben
möglichst billige Mischung herstellen, wobei aber folgende Nebenbedingungen zu beachten sind: Um eine hinreichende Süße zu garantieren, muss die Mischung mindestens 1=3 Frostschutzmittel enthalten. Andererseits muss wegen gesetzlicher Bestimmungen mindestens halb soviel Wein wie Frostschutzmittel enthalten sein. Der NatriumacidAnteil muss mindestens halb so groß und darf höchstens so groß wie der GlykolAnteil sein und darf die Hälfte des Weinanteils nicht unterschreiten. (a) Formulieren sie diese Mischungsaufgabe als lineare Optimierungsaufgabe. (b) Schreiben sie das entstehende Optimierungsproblem in der Form Maximiere c > x u. d. N.
Ax b;
x 0Š
Aufgabe 1.3.14. Ein Schuhhändler gibt einer Schuhfabrik seinen Bedarf an Schuhen für die nächsten 6 Monate bekannt: 200 Paar Schuhe im ersten Monat, 260 im zweiten Monat, 240 im dritten Monat, 340 im vierten Monat, 190 im fünften Monat und 150 im sechsten Monat. Es kostet 7 Euro, ein Paar Schuhe während der regulären Arbeitszeit zu produzieren, und 11 Euro, falls Überstunden gemacht werden müssen. Pro Monat können 200 Paar Schuhe während der regulären Arbeitszeit und 100 Paar Schuhe durch Überstunden hergestellt werden. Es kostet 1 Euro pro Monat, ein Paar Schuhe zu lagern. Der Bedarf des Schuhhändlers für die nächsten 6 Monate soll bei minimalen Gesamtkosten für Produktion und Lagerhaltung gedeckt werden. Formulieren Sie dieses Produktionsplanungsproblem als Transportproblem.
Kapitel 2
Lineare Optimierung
Lineare Optimierung (auch Linear Programming genannt) ist ein wichtiges Teilgebiet des Operations Research, da viele praktische Probleme insbesondere aus der Wirtschaft auf lineare Optimierungsprobleme führen, vgl. Beispiele 1.1.1, 1.1.2, 1.1.3, 1.1.4, oder die Approximation durch eine Folge linearer Probleme erfordern. Historisch war die lineare Optimierung Inspiration für zentrale Konzepte nicht nur der mathematischen Optimierung: Basisaustauschalgorithmen, Komplementaritätsalgorithmen, Dualität, Spieltheorie, Sensitivität, die Bedeutung von Konvexität und Monotonie, Sattelpunkttheorie, Minimax-Probleme, ökonomische Gleichgewichte, Linearisierungstechniken und viele andere. Besonders einflussreich für die Entwicklung der linearen Optimierung waren die Bücher [32, 87, 88, 28, 51, 12, 27]. Das wichtigste Verfahren zur Lösung von Optimierungsproblemen mit linearer Zielfunktion, endlich vielen linearen Gleichungs- und Ungleichungsnebenbedingungen und endlich vielen reellen Entscheidungsvariablen ist das Simplexverfahren. Die Geometrie des Simplexverfahrens wird nur verständlich, wenn man Grundbegriffe aus der Theorie konvexer polyedrischer Mengen kennt. Diese Grundbegriffe stellen wir in Abschnitt 2.2 zusammen mit besonderer Betonung der Charakterisierung von Ecken und Kanten, wobei wir [87], Kap. V, und [134], Sec. 19, verwenden. Das fundamentale Finite Basis Theorem zitieren wir der Vollständigkeit halber und benutzen es für die Charakterisierung optimaler Facetten linearer Optimierungsprobleme. Wir haben auf den Beweis des Finite Basis Theorems verzichtet, da man sämtliche Existenz- und Dualitätssätze der linearen Optimierung auch konstruktiv mit dem Simplexverfahren beweisen kann, vgl. die sehr knappe Darstellung in [106]. Diese Ökonomie in der Beweisführung gelingt allerdings nur auf Kosten der geometrischen Intuition, deshalb haben wir hier eine ausführlichere Darstellung gewählt. Von den vielen Varianten des Simplexverfahrens werden in Abschnitt 2.3 das primale Simplexverfahren, in Abschnitt 2.5 das revidierte primale Simplexverfahren mit der sehr schönen Stabilisierungstechnik aus [157] und in Abschnitt 2.7 das duale Simplexverfahren behandelt. Ohne Anti-Zyklusregeln ist die Darstellung dieser Verfahren unvollständig. Daher haben wir in Abschnitt 2.4 den lexikographischen Basiswechsel mit störungstheoretischer Interpretation und die Blandsche Anti-Zyklusregel vorgestellt. Der Abschnitt 2.6 über Dualität und Sensitivität ist sowohl aus mathematischer als auch aus ökonomischer Sicht sehr wichtig:
Duale Programme liefern untere Schranken für den Minimalwert des primalen Problems.
Abschnitt 2.1 Problemstellung
25
Gelegentlich ist das duale Programm einfacher zu lösen als das primale Problem.
Das duale Optimierungsproblem erlaubt, Änderungen des Minimalwerts des Ausgangsproblems bei Störungen der Problemdaten abzuschätzen.
Diesen letzten Aspekt werden wir an einem Modellbeispiel vollständig erläutern, einschließlich der (schwachen) Differenzierbarkeitseigenschaften der Minimalwertfunktion, die in ökonomischen Anwendungen die Abhängigkeit der minimalen Kosten von Änderungen der Ressourcen beschreibt. Der störungstheoretische Aspekt ist die Grundlage für unsere Darstellung der Dualitätstheorie. Er ist auch geometrisch sehr elementar und durchsichtig, vgl. die Abbildung 2.12, war bereits in den grundlegenden Werken von Bonnesen und Fenchel [20, 39] und Moreau [116] angelegt und wurde von Rockafellar mit dem Konzept der Bifunktionen in [134] sehr schön auf den eigentlichen Kern reduziert. In diesem Kontext darf auch der große Einfluss der Spieltheorie auf die ersten Schritte hin zur Dualität nicht unerwähnt bleiben, vgl. hierzu die grundlegende Arbeit von Gale, Kuhn und Tucker [50]. Der Darstellung des Zusammenhangs zwischen Matrixspielen und linearer Optimierung ist Abschnitt 2.8 gewidmet. Wenn man die störungstheoretische Interpretation der Dualität auf ihren eigentlichen Gehalt reduziert, so erkennt man, dass die geometrische Form des Dualproblems völlig unabhängig ist von der speziellen Gestalt des Primalproblems, sie benutzt ausschließlich die Minimalwertfunktion des gestörten Primalproblems. Dies werden wir später mehrfach ausnutzen. So gewinnt man bei der Branch and Bound-Methode aus Abschnitt 3.4 mit diesem geometrischen Dualitätsbegriff untere Schranken für den Minimalwert beliebiger, auch nichtkonvexer Probleme. Im Abschnitt 5.4 über Sensitivität und Dualität konvexer Optimierungsprobleme werden wir die gleiche geometrische Interpretation des Dualproblems verwenden. Natürlich werden sich dabei alle Dualitätsresultate der linearen Optimierung noch einmal als Spezialfall ergeben mit Ausnahme derjenigen, die allein Folge der polyedrischen Struktur linearer Probleme sind. Schließlich haben die notwendigen Optimalitätsbedingungen der differenzierbaren Optimierung aus Abschnitt 6.3 ganz wesentlich auch dualitätstheoretische Grundlagen, sind doch die Karush-Kuhn-Tucker-Bedingungen nichts anderes als Dualitätsaussagen für das lokal in einer Optimallösung konvexifizierte Problem.
2.1
Problemstellung
Lineare Optimierungsprobleme mit endlich vielen reellwertigen Entscheidungsvariablen und endlich vielen Nebenbedingungen haben die folgende Form. Lineares Optimierungsproblem 2.1.1. Vorgegeben seien c 2 Rn , b 2 Rm , eine reelle m n-Matrix A und ganze Zahlen m0 2 ¹0; 1; : : : ; mº und n0 2 ¹0; 1; : : : ; nº.
26
Kapitel 2 Lineare Optimierung
Minimiere n X
cj xj
j D1
unter den Nebenbedingungen n X
aij xj bi
.i D 1; : : : ; m0 /;
aij xj D bi
.i D m0 C 1; : : : ; m/
j D1 n X j D1
und den Vorzeichenbedingungen xj 0
.j D 1; : : : ; n0 / Š
Die Darstellung eines konkreten Problems als lineares Optimierungsproblem 2.1.1 ist keineswegs eindeutig. Führen wir z. B. so genannte Schlupfvariablen s1 ; : : : ; sm0 ein, so ist das Problem 2.1.1 äquivalent zu: Minimiere n X
cj xj
j D1
unter den Nebenbedingungen n X
aij xj C si D bi
.i D 1; : : : ; m0 /;
j D1 n X
aij xj D bi
.i D m0 C 1; : : : ; m/
j D1
und den Vorzeichenbedingungen xj 0
.j D 1; : : : ; n0 /;
si 0
.i D 1; : : : ; m0 / Š
27
Abschnitt 2.1 Problemstellung
Schreiben wir überdies jede nicht vorzeichenbeschränkte Variable als Differenz zweier vorzeichenbeschränkter Variablen, xj D xjC xj
.j D n0 C 1; : : : ; n/;
so wird das Problem 2.1.1 äquivalent zu: Minimiere 0
n X
cj xj C
n X
cj .xjC xj /
j Dn0 C1
j D1
unter den Nebenbedingungen 0
n X
aij xj C
n X
aij .xjC xj / C si D bi
.i D 1; : : : ; m0 /;
j Dn0 C1
j D1 0
n X j D1
aij xj C
n X
aij .xjC xj / D bi
.i D m0 C 1; : : : ; m/;
j Dn0 C1
xj 0
.j D 1; : : : ; n0 /;
xjC 0
.j D n0 C 1; : : : ; n/;
xj 0
.j D n0 C 1; : : : ; n/;
si 0
.i D 1; : : : ; m0 / Š
Somit ist das lineare Optimierungsproblem 2.1.1 äquivalent zur folgenden so genannten primalen Normalform, wobei wir hier und auch im Folgenden die Matrixschreibweise verwenden und „“ komponentenweise zu verstehen ist. Primale Normalform 2.1.2. Vorgegeben seien c 2 Rn ; b 2 Rm und die reelle mnMatrix A. Minimiere c >x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
28
Kapitel 2 Lineare Optimierung
Beispiel 2.1.3 (Transformation auf primale Normalform). Betrachte das folgende lineare Optimierungsproblem: Maximiere x1 2x2 unter den Nebenbedingungen x1 1; x1 2x2 0; x1 C x2 D 1; x2 0 Š Das Problem liegt nicht in primaler Normalform vor und soll auf letztere transformiert werden. Die Variable x1 wird ersetzt durch x1 D x1C x1
mit
x1C ; x1 0:
Für die Ungleichungsnebenbedingungen führen wir Schlupfvariablen s1 ; s2 0 ein mit .x1C x1 / C s1 D 1; x1C x1 2x2 C s2 D 0: Schließlich erhalten wir ein Minimierungsproblem in primaler Normalform durch Multiplikation der Zielfunktion mit 1: 0 C1 x1 B x C B 1 C C Minimiere .1; 1; 2; 0; 0/ B B x2 C @ s1 A s2 0 C1 0 C1 x1 0 1 x1 0 1 C B x C 1 1 0 1 0 B 1 x B 1 C B 1 C @ 1 1 2 0 1 A B x2 C D @ 0 A ; B x2 C 0R5 Š u. d. N. B C C B @ s1 A 1 1 1 0 0 @ s1 A 1 s2 s2
2.2
Geometrie linearer Optimierungsprobleme
Zur Illustration wird das lineare Optimierungsproblem aus Beispiel 1.1.1 mit zwei Variablen graphisch gelöst. Der Landwirt aus Beispiel 1.1.1 muss das folgende lineare Optimierungsproblem lösen:
29
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
Minimiere f .x1 ; x2 / D 100x1 250x2 unter den Nebenbedingungen x1 C x2 40; 40x1 C 120x2 2400; 6x1 C 12x2 312; x1 ; x2 0 Š Zur Untersuchung des zulässigen Bereichs definieren wir die linearen Funktionen g1 .x1 ; x2 / WD x1 C x2 ; g2 .x1 ; x2 / WD 40x1 C 120x2 ; g3 .x1 ; x2 / WD 6x1 C 12x2 : Zunächst wird die erste Restriktion g1 .x1 ; x2 / D x1 C x2 40 untersucht, vgl. Abbildung 2.1. x2 40
H
30
ng1 D .1; 1/>
20
HC
10
0
H 10
20
30
40
50
60
70
x1
Abbildung 2.1. Geometrie der Restriktion g1 .x1 ; x2 / D x1 C x2 40: Normalenvektor ng1 D .1; 1/> (Länge ist skaliert), Hyperebene H und Halbräume H C und H . Alle Punkte in H sind zulässig bezüglich dieser Restriktion.
30
Kapitel 2 Lineare Optimierung
Die Gleichung g1 .x1 ; x2 / D x1 C x2 D 40 definiert eine Hyperebene, im R2 ist dies die Gerade H WD ¹.x1 ; x2 /> 2 R2 W x1 C x2 D 40º: Der Koeffizientenvektor ng1 D .1; 1/> ist der Normalenvektor der Hyperebene H und zeigt in Richtung steigender Werte der Funktion g1 . Er ist gleichzeitig auch der Gradient von g1 . Wird also ein Punkt in H in Richtung ng1 verschoben, so führt dies auf einen Punkt .x1 ; x2 /> mit g1 .x1 ; x2 / > 40. Wird ein Punkt in H in die entgegengesetzte Richtung verschoben, so führt dies auf einen Punkt .x1 ; x2 /> mit g1 .x1 ; x2 / < 40. Die Hyperebene H besitzt die beiden (abgeschlossenen) Halbräume H WD ¹.x1 ; x2 /> 2 R2 W x1 C x2 40º; H C WD ¹.x1 ; x2 /> 2 R2 W x1 C x2 40º: Offenbar sind die Punkte im Inneren von H C nicht zulässig, während diejenigen in H die Restriktion x1 C x2 40 erfüllen. Entsprechend können die weiteren Restriktionen inklusive x1 0 und x2 0 untersucht werden. Der zulässige Bereich ist in Abbildung 2.2 skizziert und ergibt sich als Durchschnitt der Halbräume H für die jeweiligen Restriktionen. x2 40
ng3 D .6; 12/> 30
ng1 D .1; 1/> 20
ng2 D .40; 120/> 10
0
10
20
30
40
50
60
70
x1
Abbildung 2.2. Zulässiger Bereich des linearen Optimierungsproblems: Durchschnitt von Halbräumen für die durch g1 , g2 , g3 , x1 0 und x2 0 definierten Restriktionen (Längen der Normalenvektoren sind skaliert).
31
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
x2 40
30
20
10
0
f W 100x1 250x2 D 5500 10
20
30
40
50
60
70
x1
nf D .100; 250/> f W 100x1 250x2 D 3500 Abbildung 2.3. Graphische Lösung: Bewege Zielfunktionsgerade in Richtung nf , solange der Durchschnitt mit dem zulässigen Bereich nicht leer ist. Die optimale Lösung ist .x1 ; x2 /> D .30; 10/> .
Bisher wurde die Zielfunktion nicht betrachtet. Die gestrichelte Gerade in Abbildung 2.3 entspricht der Geraden f .x1 ; x2 / D 100x1 250x2 D 3500; d. h. alle Punkte auf dieser Geraden besitzen den Zielfunktionswert 3500. Die durchgezeichnete Gerade entspricht der Geraden f .x1 ; x2 / D 100x1 250x2 D 5500; d. h. alle Punkte auf dieser Geraden besitzen den Zielfunktionswert 5500. Offenbar steigen die Funktionswerte von f in Richtung des Normalenvektors bzw. Gradienten nf D .100; 250/> . Da f minimiert werden soll, muss die Gerade in Richtung nf verschoben werden, und zwar solange, wie sie noch zulässige Punkte enthält. In diesem Beispiel ergibt sich die optimale Lösung x1 D 30 und x2 D 10 mit Zielfunktionswert f .x1 ; x2 / D 5500. Die optimale Lösung wird in einer Ecke des zulässigen Bereichs angenommen. In diesem Beispiel sind die Ecken des zulässigen Bereichs offenbar durch die Punkte .0; 0/, .0; 20/, .30; 10/ und .40; 0/ gegeben. Allgemein definiert jeder Koeffizientenvektor a 2 Rn mit wenigstens einer nichttrivialen Komponente zusammen mit einer rechten Seite b 2 R eine Hyperebene H D ¹x 2 Rn W a> x D bº
32
Kapitel 2 Lineare Optimierung
mit Normalenvektor a, einen positiven Halbraum H C D ¹x 2 Rn W a> x bº und einen negativen Halbraum H D ¹x 2 Rn W a> x bº; wobei der Normalenvektor in den positiven Halbraum H C zeigt, vgl. Abbildung 2.4.
H D ¹x W a> x D bº H D ¹x W a> x bº
H C D ¹x W a> x bº
a
Abbildung 2.4. Geometrie der Restriktion a> x b: Normalenvektor a, Hyperebene H und Halbräume H C und H .
Den trivialen Fall a D 0Rn wollen wir ausdrücklich zulassen, in diesem Fall ist ¹x 2 Rn W a> x D bº der ganze Rn , falls b D 0, und leer, falls b ¤ 0, ¹x 2 Rn W a> x bº der ganze Rn , falls b 0, und leer, falls b < 0. Da auch jede Vorzeichenbedingung xj 0 in der Form .e j /> x 0 geschrieben werden kann mit dem j -ten kanonischen Einheitsvektor e j des Rn , ist jede zulässige Menge eines linearen Optimierungsproblems mit endlich vielen Entscheidungsvariablen und endlich vielen Nebenbedingungen eine konvexe polyedrische Menge im Sinne der folgenden Definition. Definition 2.2.1. Jeder Durchschnitt endlich vieler Halbräume und Hyperebenen im Rn heißt konvexe polyedrische Menge. Zu jeder konvexen polyedrischen Menge M im Rn existieren also Zeilenvektoren ai mit ai> 2 Rn und reelle Zahlen bi .i D 1; : : : ; m/ mit M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º:
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
33
Die Fälle m0 D 0, m0 D m, M D ; oder M D Rn werden ausdrücklich zugelassen. Jede konvexe polyedrische Menge M Rn ist eine konvexe abgeschlossene Teilmenge des Rn . Ist M beschränkt, so heißt M auch konvexes Polyeder. Für eine beliebige nichtleere Teilmenge F Rn heißt die kleinste lineare Mannigfaltigkeit, in der F enthalten ist, affine Hülle von F , in Zeichen aff.F /. Die Dimension dim.F / von F ist definitionsgemäß gleich der Dimension von aff.F /. Dimensionssatz 2.2.2. Die konvexe polyedrische Menge M besitze die Darstellung M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º und sei nicht leer. Zerlege die Indexmenge ¹1; : : : ; mº D I< [ ID in zwei disjunkte Teilmengen I< und ID . Dabei enthalte I< die Indizes i 2 ¹1; : : : ; m0 º der Ungleichungen, zu denen ein x 2 M existiert mit ai x < bi (slack inequalities), dies sind also Ungleichungen, die einen Schlupf in M zulassen. ID enthalte alle übrigen Indizes, also die Indizes aller Gleichungen sowie der Ungleichungen, die keinen Schlupf in M zulassen (strenge Nebenbedingungen). Der Rang der Koeffizientenmatrix .ai /i 2ID sei gleich r und definitionsgemäß gleich 0 im Falle ID D ;. Dann ist dim.M / D n r: Beweis. Ist ID ¤ ;, so liegt M offenbar in der Lösungsmannigfaltigkeit des linearen Gleichungssystems ai x D bi
.i 2 ID /:
Also ist dieses lineare Gleichungssystem lösbar; und da seine Koeffizientenmatrix den Rang r besitzt, hat seine Lösungsmannigfaltigkeit die Dimension n r. Folglich gilt stets dim.M / n r:
34
Kapitel 2 Lineare Optimierung
Ist nun I< D ;, so ist M gleich dieser Lösungsmannigfaltigkeit und darum dim.M / D n r: Ist I< ¤ ;, so existiert zu jedem i 2 I< ein x i 2 M mit a i x i < bi : Für den Mittelwert x WD
1 X i x ; jI< j i 2I
0 hinreichend klein ist, gilt auch ai .x C y j / < bi
.i 2 I< /
für alle j D 1; : : : ; n r. Hieraus folgt sofort dim.M / n r: Ganz wesentlich für das Verständnis der Geometrie linearer Optimierungsprobleme sind Randmengen (Facetten, Kanten, Ecken) konvexer polyedrischer Mengen.
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
35
Definition 2.2.3. Eine Teilmenge F des Rn heißt q-dimensionale Facette der konvexen polyedrischen Menge M , falls gilt: (i) F ist eine q-dimensionale konvexe Teilmenge von M . (ii) Aus x 2 F; y; z 2 M; 0 < ˛ < 1 und x D ˛y C .1 ˛/z folgt stets y; z 2 F . Eine 0-dimensionale Facette von M heißt Ecke von M . Eine 1-dimensionale Facette von M heißt Kante von M . Eine konvexe polyedrische Menge liegt also stets „auf einer Seite“ ihrer Facetten. Der folgende Satz beschreibt eine äquivalente Eigenschaft, insbesondere zeigt er, dass Facetten selbst konvexe polyedrische Mengen sind. Satz 2.2.4. Die q-dimensionalen Facetten der konvexen polyedrischen Menge M sind genau die q-dimensionalen konvexen polyedrischen Mengen, deren Darstellung man erhält, indem man in einer Darstellung von M einige Ungleichungen durch Gleichungen ersetzt. Beweis. a) F sei eine q-dimensionale Facette der konvexen polyedrischen Menge M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º: IF sei die Menge der Indizes i 2 ¹1; : : : ; mº mit ai x D bi für alle x 2 F . Definiere die konvexe polyedrische Menge FQ WD ¹x 2 Rn W ai x bi .i … IF /; ai x D bi .i 2 IF /º; dann ist natürlich F FQ . Sei z 2 FQ beliebig gewählt. Nach Definition von IF existiert zu jedem i … IF ein x i 2 F mit ai x i < bi : Für den Mittelwert x WD
1 X i x jIFc j i …IF
36
Kapitel 2 Lineare Optimierung
mit IFc D ¹1; : : : ; mº n IF gilt dann x 2 F und ai x < bi
.i … IF /;
ai x D bi
.i 2 IF /:
Für hinreichend kleines > 0 ist dann y WD x .z x/ 2 FQ : Wegen x 2 F; y; z 2 FQ M und xD
1 yC z 1C 1C
ist notwendig y D z D x 2 F . Da z 2 FQ beliebig gewählt wurde, ist F D FQ : b) F sei eine q-dimensionale konvexe polyedrische Teilmenge von M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º der Form F D ¹x 2 Rn W ai x bi .i 2 I /; ai x D bi .i … I /º mit einer Indexmenge I ¹1; : : : ; m0 º. F ist dann natürlich eine q-dimensionale Teilmenge von M . Seien x 2 F; y; z 2 M , und es sei x D ˛y C .1 ˛/z mit 0 < ˛ < 1. Dann gilt ai y bi ; ai z bi
.i D 1; : : : ; m/:
Wäre nun ai y < bi oder ai z < bi für ein i … I , so erhielten wir den Widerspruch bi D ai x D ˛ai y C .1 ˛/ai z < bi : Dieser Widerspruch beweist y; z 2 F . Die am Anfang dieses Abschnitts illustrierte graphische Lösung lässt vermuten, dass die Ecken der zulässigen Menge eine fundamentale Bedeutung haben. Für das Simplexverfahren, das in den folgenden Abschnitten vorgestellt wird, erweisen sich auch die Kanten der zulässigen Menge als wichtig. Wir studieren daher Ecken und Kanten konvexer polyedrischer Mengen etwas genauer.
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
37
Satz 2.2.5. Die konvexe polyedrische Menge M besitze die Darstellung M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º; und es sei p 2 M . p ist genau dann Ecke von M , wenn es n linear unabhängige Koeffizientenvektoren ai1 ; : : : ; ain gibt mit aij p D bij
.j D 1; : : : ; n/:
Beweis. a) Sei p Ecke von M . Nach Satz 2.2.4 ist p eine 0-dimensionale konvexe polyedrische Menge der Gestalt ¹pº D ¹x 2 Rn W ai x bi .i 2 I /; ai x D bi .i … I /º mit einer Indexmenge I ¹1; : : : ; m0 º. Nach dem Dimensionssatz 2.2.2 ist der Rang des Systems der strengen Nebenbedingungen von p gleich n. Es gibt also n linear unabhängige ai1 ; : : : ; ain mit aij p D bij
.j D 1; : : : ; n/:
b) Sei p 2 M , und es gebe n linear unabhängige Koeffizientenvektoren ai1 ; : : : ; ain mit aij p D bij
.j D 1; : : : ; n/:
Seien y; z 2 M und p D ˛y C .1 ˛/z mit gewissem 0 < ˛ < 1. Für jedes i 2 ¹i1 ; : : : ; in º ist dann ai p D ˛ai y C .1 ˛/ai z D bi : Wegen ˛ > 0; 1 ˛ > 0 und ai y bi ;
ai z bi
38
Kapitel 2 Lineare Optimierung
ist notwendig auch ai y D bi ;
ai z D bi :
Da die Matrix .ai /i Di1 ;:::;in den Rang n besitzt, folgt y D z D p: Beispiel 2.2.6. Gegeben seien die Ungleichungen x1 C 4x2 24; 3x1 C x2 21; x1 C x2 9;
x1 0; x2 0:
Mit den Matrizen 0
1 B 3 B ADB B 1 @ 1 0
1 4 1 C C 1 C C; 0 A 1
1 24 B 21 C B C C bDB B 9 C; @ 0 A 0 0
xD
x1 x2
ist der zulässige Bereich M D ¹x 2 R2 W Ax bº das in der Abbildung 2.5 grau getönte konvexe Polyeder. Prinzipiell kann man nun alle Ecken von M folgendermaßen berechnen: Wähle ein Paar von Nebenbedingungen mit linear unabhängigen Koeffizientenvektoren aus und erfülle diese Nebenbedingungen in Gleichungsform. Dieses Gleichungssystem besitzt stets genau eine Lösung p. Anschließend teste man, ob p auch alle übrigen Nebenbedingungen erfüllt. Ist dies der Fall, so ist p Ecke von M . Der Punkt p D .6; 3/ löst z. B. die Gleichungen 3p1 C p2 D 21;
p1 C p2 D 9;
die Koeffizientenvektoren dieser beiden Gleichungen sind linear unabhängig, und auch alle anderen Nebenbedingungen sind erfüllt. p ist also Ecke von M . Analog können die verbleibenden Eckpunkte .0; 0/, .0; 6/, .7; 0/ und .4; 5/ gewonnen werden. allgemeinen Fall von m Nebenbedingungen und n Entscheidungsvariablen sind mIm n Gleichungssysteme zu analysieren. Die Berechnung aller Ecken der zulässigen Menge ist also kein geeigneter Weg zur Lösung linearer Optimierungsprobleme.
39
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
x2
3x1 C x2 D 21
.0; 6/ .4; 5/
x1 C 4x2 D 24
.6; 3/ .0; 0/
x1 C x2 D 9 x1
.7; 0/ Abbildung 2.5. Zulässiges Polyeder
Wir untersuchen noch etwas eingehender Ecken, die bei der primalen Normalform auftreten können. Dann ist die zulässige Menge M D ¹x 2 Rn W Ax D b; x 0Rn º mit einer Matrix A 2 Rmn und b 2 Rm . Die Koeffizientenvektoren der Gleichungsnebenbedingungen sind also gerade die Zeilenvektoren ai mit ai> 2 Rn
.i D 1; : : : ; m/
der Matrix A. Die Spaltenvektoren von A bezeichnen wir mit a j 2 Rm
.j D 1; : : : ; n/:
Sei p D .p1 ; : : : ; pn /> 2 M beliebig. Es bezeichne JC WD ¹j 2 ¹1; : : : ; nº W pj > 0º die Indexmenge der positiven Komponenten von p und J c WD ¹1; : : : ; nº n JC D ¹j 2 ¹1; : : : ; nº W pj D 0º
40
Kapitel 2 Lineare Optimierung
die Indexmenge der verschwindenden Komponenten von p. Wegen p 2 M gilt b D Ap D
n X
aj pj D
j D1
X
aj pj :
j 2JC
Dies ist ein lineares Gleichungssystem, welches die Komponenten pj mit j 2 JC eindeutig festlegt, falls die Spalten aj , j 2 JC , linear unabhängig sind. In diesem Fall heißt p zulässige Basislösung. Insbesondere besteht JC dann aus höchstens m Indizes. Definition 2.2.7 (zulässige Basislösung). Seien A 2 Rmn , b 2 Rm und M D ¹x 2 Rn W Ax D b; x 0Rn º gegeben. p 2 M heißt zulässige Basislösung von M , falls die Spaltenvektoren ¹aj W j 2 JC º mit JC D ¹j 2 ¹1; : : : ; nº W pj > 0º linear unabhängig sind. Satz 2.2.8. p ist genau dann Ecke für die zulässige Menge der primalen Normalform 2.1.2, wenn p zulässige Basislösung ist. Beweis. a) Sei p zulässige Basislösung für M D ¹x 2 Rn W Ax D b; x 0Rn º: Dann löst p das Gleichungssystem X c aj pj D b; pj D 0 .j 2 JC /: j 2JC
Da die Vektoren aj .j 2 JC / linear unabhängig sind, besitzt die Koeffizientenmatrix dieses Gleichungssystems den Rang n. Also ist p Ecke gemäß Satz 2.2.5. b) Sei p Ecke von M . Dann löst p ebenfalls das Gleichungssystem X c aj pj D b; pj D 0 .j 2 JC /: j 2JC
Gemäß Satz 2.2.5 sind notwendigerweise unter den Zeilenvektoren der Koeffizientenmatrix n linear unabhängige. Also besitzt diese Koeffizientenmatrix den Rang n. Folglich sind die Vektoren aj .j 2 JC / linear unabhängig. Mittels des Gaußschen Eliminationsverfahrens kann man durch Streichen linear abhängiger Zeilen stets erreichen, dass die Koeffizientenmatrix A vollen Zeilenrang m besitzt. Die folgende Definition setzt dies implizit mit voraus. Definition 2.2.9. Sei p eine zulässige Basislösung. (i) Jedes System ¹aj W j 2 J º von m linear unabhängigen Spalten von A, welches jene Spalten aj mit pj > 0 enthält, heißt Basis von p.
41
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
(ii) Sei ¹aj W j 2 J º eine Basis von p. Die Indexmenge J heißt Basisindexmenge, die Indexmenge J c WD ¹1; : : : ; nº n J heißt Nichtbasisindexmenge, die Matrix c c AJ WD .aj /j 2J heißt Basismatrix, die Matrix AJ WD .aj /j 2J heißt Nichtbasismatrix, die Komponenten des Vektors pJ WD .pj /j 2J heißen Basiskomponenten und die des Vektors pJ c WD .pj /j 2J c Nichtbasiskomponenten. Auch für beliebige Vektoren x 2 Rn werden wir die Bezeichnung xJ für den Spaltenvektor mit den Komponenten xj .j 2 J / verwenden. Die Anordnung der Indizes in J ist dabei fest vorgegeben, und die Matrixmultiplikation A J xJ D
X
aj xj
j 2J
ist im Sinne der üblichen Summenkonvention zu verstehen. Falls der Rang von A gleich m ist, könnte man für die primale Normalform mit folgendem Algorithmus alle Ecken berechnen. Algorithmus 2.2.10 (Berechnung eines Eckpunkts). (1) Wähle m linear unabhängige Spalten aj (j 2 J ) mit J ¹1; : : : ; nº von A und setze J c D ¹1; : : : ; nº n J . (2) Setze xJ c D 0Rnm und löse das lineare Gleichungssystem AJ xJ D b: (3) Falls xJ 0Rm gilt, ist x zulässige Basislösung: STOP. Falls es einen Index j 2 J mit xj < 0 gibt, dann ist x nicht zulässig. Gehe zu (1) und wiederhole die Prozedur mit einer anderen Wahl von linear unabhängigen Spalten von A. Wir verdeutlichen den Algorithmus an einem Beispiel. Beispiel 2.2.11. Betrachte M D ¹x 2 R4 W Ax D b; x 0R4 º mit AD Es gibt
4 2
2 3 1 0 1 0 0 1
6 bD : 2
;
D 6 mögliche Kombinationen von zwei Spalten von A: J1 D ¹1; 2º J2 D ¹1; 3º
2
> 2 ; x D 2; ; 0; 0 ; 3
J1 1
bD
J2 1
2 bD ; 2
) .A / ) .A /
2 3
1
x 2 D .2; 0; 2; 0/> ;
42
Kapitel 2 Lineare Optimierung J3 1
J3 D ¹1; 4º
) .A /
J4 D ¹2; 3º
AJ4 ist singulär; 2 J5 1 ) .A / b D ; 2 6 J6 1 ) .A / b D ; 2
J5 D ¹2; 4º J6 D ¹3; 4º
bD
3 1
; x 3 D .3; 0; 0; 1/> ;
)
x 5 D .0; 2; 0; 2/> ; x 6 D .0; 0; 6; 2/> :
x 3 ist nicht zulässig. Die Eckpunkte des zulässigen Bereichs sind also gegeben durch x1; x2; x5; x6. Ein naiver Ansatz zur Lösung des linearen Optimierungsproblems besteht n in der Berechnung aller zulässigen Basislösungen. Hiervon gibt es höchstens m , was gerade die Anzahl der Möglichkeiten ist, m Spalten aus insgesamt n Spalten auszuwählen. Diese Vorgehensweise ist nicht effizient. Zudem kann allein durch Betrachtung der endlich vielen Ecken des zulässigen Bereichs nicht entschieden werden, ob die Zielfunktion auf M überhaupt nach unten beschränkt ist. Man vgl. hierzu auch die Abbildung 2.6, in der verschiedene Konstellationen skizziert sind, die in der linearen Optimierung auftreten können.
M
M
c
M
c
c
M
c
Abbildung 2.6. Verschiedene Geometrien des zulässigen Bereichs M (grau), Höhenlinie der Zielfunktion (Gerade), eindeutige optimale Lösung (links), unendlich viele optimale Lösungen (rechts oben) und keine optimale Lösung (rechts unten).
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
43
Im Folgenden sei M wieder eine allgemeine konvexe polyedrische Menge der Gestalt M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º; und K sei eine Kante von M . K hat dann die Gestalt K D ¹x 2 Rn W ai x bi .i … IK /; ai x D bi .i 2 IK /º; wobei IK die Indexmenge der strengen Nebenbedingungen von K ist. Da K eindimensional ist, befinden sich nach dem Dimensionssatz 2.2.2 unter den Koeffizienten ai .i 2 IK / genau n 1 linear unabhängige. Wegen K ¹x 2 Rn W ai x D bi .i 2 IK /º hat K die Gestalt K D ¹p C z 2 Rn W 2 ƒº; wobei p 2 K fest gewählt und z eine nichttriviale Lösung des homogenen Systems ai z D 0
.i 2 IK /
ist. Die Parametermenge ƒ ist ein abgeschlossenes Intervall, dessen Größe durch die Ungleichungen festgelegt wird ai .p C z/ bi
. 2 ƒ; i … IK /:
Diese sind äquivalent zu max
ai z0 ai z ai z i…IK
wobei, wie in der Optimierung üblich, das Minimum über eine leere Menge als C1 und das Maximum über eine leere Menge als 1 definiert wird. Wenn man noch berücksichtigt, dass jede Ecke von K auch Ecke von M ist, erhalten wir zusammenfassend das folgende Resultat. Satz 2.2.12. Es sei K D ¹p C z 2 Rn W 2 ƒº eine Kante der konvexen polyedrischen Menge M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º mit festem p 2 K, Richtungsvektor z 2 Rn und abgeschlossenem Intervall ƒ.
44
Kapitel 2 Lineare Optimierung
Dann ist z eine nichttriviale Lösung des homogenen Systems ai z D 0
.i 2 IK /;
wobei IK die Indexmenge der strengen Nebenbedingungen von K ist, unter denen sich genau n 1 linear unabhängige befinden. Gibt es unter den Zahlen ai z
.i … IK /
(i) negative und positive, so ist K die Verbindungsstrecke zwischen zwei Ecken von M , (ii) negative, aber keine positiven, so ist K eine Kantenhalbgerade, die von einer Ecke von M ausgeht und in Richtung z weist, (iii) keine negativen, aber positive, so ist K eine Kantenhalbgerade, die von einer Ecke von M ausgeht und in Richtung z weist, (iv) weder negative noch positive, so ist K eine Kantengerade. In letzterem Falle ist ai z D 0
.i D 1; : : : ; m/
und der Rang aller Nebenbedingungen, d. h. der Rang der Matrix A mit den Zeilen ai .i D 1; : : : ; m/, kleiner als n. Interessanterweise reichen Ecken, Kantenhalbgeraden und lineare Unterräume aus, um konvexe polyedrische Mengen vollständig zu beschreiben. Dies ist der Inhalt des folgenden grundlegenden Satzes, den wir aus [87] zitieren, wo auch ein sehr ausführlicher und durchsichtiger Beweis zu finden ist. Finite Basis Theorem 2.2.13. Die konvexe polyedrische Menge M D ¹x 2 Rn W ai x bi .i D 1; : : : ; m0 /; ai x D bi .i D m0 C 1; : : : ; m/º sei nicht leer. Der Rang der Nebenbedingungen von M sei gleich r, die volle Koeffizientenmatrix j j D1;:::;n A D .ai /i D1;:::;m D .ai /i D1;:::;m D .aj /j D1;:::;n
mit den Zeilenvektoren ai .i D 1; : : : ; m/ und den Spaltenvektoren aj .j D 1; : : : ; n/ besitze also den Rang r. aj
.j 2 J /
seien r linear unabhängige Spalten von A.
45
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
Definiere die (nicht leere) konvexe polyedrische Menge M0 durch M0 WD M \ ¹x 2 Rn W xj D 0
.j … J /º;
den n r-dimensionalen linearen Unterraum L durch L WD ¹x 2 Rn W Ax D 0Rm º: Es seien p1; : : : ; ps die Ecken von M0 und, soweit vorhanden, z1 ; : : : ; zt die Richtungsvektoren der Kantenhalbgeraden von M0 . Dann ist s 1 und M gleich der Menge der Punkte s X D1
˛ p C
t X
ˇ z C w
D1
mit ˛ 0
. D 1; : : : ; s/;
s X
˛ D 1;
D1
ˇ 0
. D 1; : : : ; t /;
w 2 L: Geometrisch bedeutet dies, dass M die Summe der konvexen Hülle der endlich vielen Ecken von M0 , des durch die Richtungsvektoren der endlich vielen Kantenhalbgeraden von M0 erzeugten konvexen Kegels mit Scheitel 0Rn und des linearen Unterraums L ist. Im Spezialfall der primalen Normalform ist der Rang aller Nebenbedingungen (einschließlich der Vorzeichenbedingungen!) immer gleich der vollen Raumdimension n. Damit lautet die Indexmenge J D ¹1; : : : ; nº im Finite Basis Theorem und darf nicht mit der Basisindexmenge einer Basislösung verwechselt werden. Daher ist dann auch M0 D M und L D ¹0Rn º. Das Finite Basis Theorem garantiert für die primale Normalform also insbesondere die Existenz einer Ecke, sofern M nicht leer ist. Den Beweis des Finite Basis Theorems unterdrücken wir, zumal wir den folgenden Existenzsatz für Optimallösungen in den nächsten Abschnitten konstruktiv mit dem Simplexverfahren beweisen werden.
46
Kapitel 2 Lineare Optimierung
Existenzsatz 2.2.14. Das lineare Optimierungsproblem Minimiere c > x unter den Nebenbedingungen x 2 Rn und ai x bi
.i D 1; : : : ; m0 /;
ai x D bi
.i D m0 C 1; : : : ; m/ Š
besitzt genau dann eine Optimallösung, wenn die Menge M der zulässigen Lösungen nicht leer und die Zielfunktion auf M nach unten beschränkt ist. Beweis. Wir verwenden die Bezeichnungen aus dem Finite Basis Theorem. Sei M ¤ ; und c > x für x 2 M nach unten beschränkt. Dann ist die Menge ¹p 1 ; : : : ; p s º der Ecken von M0 nicht leer. ¹z 1 ; : : : ; z t º bezeichne die endliche (gegebenenfalls auch leere) Menge der Richtungsvektoren der Kantenhalbgeraden von M0 . Die zulässige Menge besitzt dann die Darstellung s X
˛ p C
D1
t X
ˇ z C w
D1
P mit ˛ 0 . D 1; : : : ; s/; sD1 ˛ D 1; ˇ 0 . D 1; : : : ; t /; w 2 L. Da die Zielfunktion auf M nach unten beschränkt ist, ist notwendig c >z 0
. D 1; : : : ; t /;
c >w D 0
.w 2 L/:
Hieraus folgt für alle zulässigen Punkte c>
s X
˛ p C
D1
t X
s X ˇ z C w ˛ c > p
D1
D1
s X
˛ min¹c > p 1 ; : : : ; c > p s º
D1
D min¹c > p 1 ; : : : ; c > p s º: Jede Ecke p von M0 mit c > p D min¹c > p 1 ; : : : ; c > p s º ist also Minimallösung. Das folgende Korollar beschreibt die Menge der Optimallösungen des allgemeinen linearen Optimierungsproblems 2.2.14. Geometrisch ist dies gerade die „optimale Facette“ der zulässigen Menge.
Abschnitt 2.2 Geometrie linearer Optimierungsprobleme
47
Korollar 2.2.15. Die Menge M der zulässigen Punkte für das allgemeine lineare Optimierungsproblem 2.2.14 sei nicht leer und die Zielfunktion auf M nach unten beschränkt. Sei ¹p1 ; : : : ; ps º die (nichtleere) Menge der optimalen Ecken von M0 und ¹z1 ; : : : ; zt º die (eventuell leere) Menge der Richtungsvektoren derjenigen Kantenhalbgeraden von M0 mit c > z D 0
. D 1; : : : ; t /:
Dann besteht die Menge der Minimallösungen aus allen Punkten s X
˛ p C
D1
mit ˛ 0 . D 1; : : : ; s /;
Ps
D1 ˛
t X
ˇ z C w
D1
D 1; ˇ 0 . D 1; : : : ; t /; w 2 L.
Für die primale Normalform gilt auch hier M0 D M und L D ¹0Rn º. Insbesondere befindet sich immer auch eine Ecke unter den Minimallösungen, falls eine Minimallösung existiert. Nach diesen Vorbereitungen können wir nun das geometrische Konzept des allgemeinen Simplexverfahrens beschreiben, welches ausnutzt, dass stets auch eine Ecke unter den optimalen Lösungen zu finden ist. Konzeptionelles Simplexverfahren 2.2.16. Phase 0: Bringe das lineare Optimierungsproblem auf eine geeignete Normalform und beseitige dabei lineare Abhängigkeiten in den Nebenbedingungen. Phase I: Berechne eine Ecke p der zulässigen Menge M . Stellt sich hierbei heraus, dass die zulässige Menge leer ist, so beende die Rechnung. Phase II: S 1: Ist für p ein geeignetes hinreichendes Optimalitätskriterium erfüllt, so beende die Rechnung, p ist dann eine optimale Ecke. S 2: Berechne einen Richtungsvektor z für eine von p ausgehende Kante K von M mit c > z < 0, längs derer die Zielfunktion c > x also strikt fällt.
48
Kapitel 2 Lineare Optimierung
(i) Ist K unbeschränkt, so beende die Rechnung. Die Zielfunktion ist dann auf M nicht nach unten beschränkt, und es existiert keine Optimallösung. (ii) Ist K beschränkt, so berechne den Endpunkt p 0 von K. p 0 ist dann eine Ecke von M mit c > p 0 < c > p. Setze p WD p 0 und gehe zu S 1. In Abhängigkeit von der Struktur des zugrunde liegenden Problems und der Organisation der einzelnen Rechenschritte erhält man eine ganze Reihe von Varianten des Simplexverfahrens, z. B. das primale, duale oder primalduale Simplexverfahren, in klassischer, revidierter oder stabilisierter Form. Einige dieser Verfahren werden in den folgenden Abschnitten vorgestellt.
2.3
Primales Simplexverfahren
Das zu lösende lineare Optimierungsproblem sei in der primalen Normalform gegeben. Im Gegensatz zu Abschnitt 2.1 fordern wir jetzt zusätzlich, dass A vollen Zeilenrang m besitzt. Dies kann in der Phase 0 des eigentlichen Algorithmus z. B. mit Hilfe des Gaußschen Eliminationsverfahrens erreicht werden. Primale Normalform 2.3.1. Vorgegeben seien c 2 Rn ; b 2 Rm und die reelle m n-Matrix A mit vollem Zeilenrang m. (P)
Minimiere c >x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
In diesem Falle ist M D ¹x 2 Rn W Ax D b; x 0Rn º die Menge der zulässigen Lösungen . Wir wollen in den folgenden Abschnitten konstruktiv sämtliche einschlägigen Existenz- und Dualitätsaussagen der linearen Optimierung mit dem Simplexalgorithmus beweisen. Dazu beginnen wir mit Phase II des primalen Simplexverfahrens. Danach werden wir zeigen, wie man in Phase I mit dem Algorithmus aus Phase II, aber abgeänderter Zielfunktion, eine zulässige Basislösung für den Start von Phase II finden kann.
49
Abschnitt 2.3 Primales Simplexverfahren
Primales Simplexverfahren 2.3.2. p sei zulässige Basislösung für das Problem 2.3.1 mit zugehöriger Basis AJ , es ist also Ap D b;
p 0Rn ;
pk D 0 .k … J /; AJ D .aj /j 2J
regulär:
Wir versuchen, ausgehend von p, längs Kanten der zulässigen Menge M zulässige Punkte zu finden mit kleinerem Zielfunktionswert, vgl. Abbildung 2.7.
p0
x k s./ p Abbildung 2.7. Idee des Basiswechsels beim Simplexverfahren: Bestimme eine Suchrichtung x k , so dass die Zielfunktion entlang des Strahls s./ D p x k monoton fällt.
Definiere dazu für 0 die Kante s./ D p x k mit As./ D b; sk ./ D
für ein k … J;
sj ./ D 0 .j … J; j ¤ k/: Dies ist gleichbedeutend mit xjk D 0 .j … J; j ¤ k/; xkk D 1; Ax k D 0Rm ;
50
Kapitel 2 Lineare Optimierung
bzw. bei sinngemäßer Verwendung der Matrixschreibweise AJ xJk D ak : Wegen c > s./ D c > .p x k / D c > p .cJ> xJk ck / lässt sich längs s./ der Zielfunktionswert auf diese Weise höchstens dann verringern, wenn gilt cJ> xJk ck > 0: Die Koeffizienten ck cJ> xJk nennt man auch reduzierte Kosten. Fall 1. Es gelte cJ> xJk ck 0 für alle k 2 ¹1; : : : ; nº n J . Sei z 2 M ein beliebiger zulässiger Punkt, Az D b; z 0Rn : Dann besitzt z wegen c
AJ zJ C AJ zJ c D b D AJ pJ die Darstellung zJ D pJ .AJ /1 AJ zJ c : c
Also ist c > z D cJ> pJ cJ> xJJ zJ c C cJ>c zJ c c
D c > p .cJ> xJJ cJ>c /zJ c X D c >p .cJ> xJk ck /zk c
k2J c
c > p: Da z 2 M beliebig gewählt wurde, ist p bereits eine optimale zulässige Basislösung.
51
Abschnitt 2.3 Primales Simplexverfahren
Fall 2. Es gebe einen Index k 2 ¹1; : : : ; nº n J mit cJ> xJk ck > 0: Dann ist zunächst zu untersuchen, wie groß 0 gewählt werden kann, so dass s./ D p x k zulässig bleibt. Nach Konstruktion gilt As./ D b
. 0/;
und es ist s./ D p x k 0Rn gleichbedeutend mit pj xjk 0 .j 2 J /: Fall 2˛. Sei xjk 0 für alle j 2 J . Dann ist s./ zulässig für alle 0 und daher die Zielfunktion auf M nicht nach unten beschränkt, lim c > s./ D c > p lim .cJ> xJk ck /
!1
!1
D 1: Fall 2ˇ. Es gebe einen Index j 2 J mit xjk > 0: Dann ist pj xjk 0 .j 2 J / genau dann, wenn 2 Œ0; 0 mit 0 D min
j 2J xjk >0
pj xjk
:
52
Kapitel 2 Lineare Optimierung
Fall 2ˇ1 . Sei 0 > 0: Definiere p 0 D s.0 / D p 0 x k ; dann ist p 0 nach Konstruktion zulässig, und es gilt c > p 0 D c > p 0 .cJ> xJk ck / < c > p: Sei l 2 J ein Basisindex mit xlk > 0 und 0 D
pl xlk
D min
j 2J xjk >0
pj xjk
:
Dann ist pj0 D pj 0 xjk 0 .j 2 J; j ¤ l/; pl0 D 0; pk0 D 0 > 0; pj0 D 0
.j … J; j ¤ k/:
Definiere J 0 D .J n ¹lº/ [ ¹kº: Wegen AJ xJk D
X
xjk aj D ak
j 2J
und xlk > 0 ist nach dem Austauschsatz von Steinitz span¹aj W j 2 J º D span¹aj W j 2 J 0 º; 0
also ist AJ regulär und damit p 0 eine zulässige Basislösung mit kleinerem Zielfunktionswert. Fall 2ˇ2 . Sei 0 D 0: Dieser Fall tritt dann ein, wenn es j 2 J gibt mit xjk > 0 und pj D 0. Dann ist p eine so genannte entartete Basislösung.
53
Abschnitt 2.3 Primales Simplexverfahren
Setzt man voraus, dass es nur nichtentartete Basislösungen gibt, dass also alle Basiskomponenten positiv ausfallen, so kann der letzte Fall nicht eintreten. Im Allgemeinen benötigt man aber Zusatzvorschriften, die das Auftreten von Zyklen verhindern. Solche Anti-Zyklusregeln untersuchen wir im nächsten Abschnitt. Wir fassen die einzelnen Schritte zusammen: Algorithmus 2.3.3 (Phase II des Primalen Simplexverfahrens). (0) Sei eine zulässige Basislösung p mit Basisindexmenge J und regulärer Basismatrix AJ gegeben. c
j j 2J c
(1) Berechne xJJ D .xi /i 2J , pJ D .pi /i 2J und J c D .j /j 2J c gemäß xJJ D .AJ /1 AJ ; c
c
pJ D .AJ /1 b;
J>c D cJ> xJJ cJ>c : c
(2) Überprüfung der Optimalität: Gilt j 0 für alle j 2 J c , dann beende das Verfahren. Die aktuelle zulässige Basislösung p ist optimal. Der Zielfunktionswert ist cJ> pJ . (3) Überprüfung der Unbeschränktheit: Gibt es einen Index k mit k > 0 und xik 0 für alle i 2 J , dann beende das Verfahren. Das Problem besitzt keine Lösung, und die Zielfunktion ist auf der zulässigen Menge nicht nach unten beschränkt. (4) Bestimme Pivotelemente: Wähle einen Index k 2 J c mit k > 0. k definiert die Pivotspalte. Wähle einen Index l 2 J mit xlk > 0 und ² ³ pl pi k D min k W xi > 0; i 2 J : xlk xi l definiert die Pivotzeile. (5) Führe Basiswechsel durch: Setze J WD .J n ¹lº/ [ ¹kº und J c WD .J c n ¹kº/ [ ¹lº. (6) Gehe zu (1). Da es nur endlich viele Basisindexmengen gibt, gibt es auch nur endlich viele zulässige Basislösungen. Der eben beschriebene Algorithmus ist also endlich, falls man eine der Anti-Zyklusregeln aus Abschnitt 2.4 beachtet. Insgesamt haben wir damit konstruktiv gezeigt: Satz 2.3.4. Das Optimierungsproblem 2.3.1 besitze wenigstens eine zulässige Basislösung. Dann ist das primale Simplexverfahren mit Anti-Zyklusregel endlich. Es liefert entweder eine optimale zulässige Basislösung oder die Information, dass die Zielfunktion auf der zulässigen Menge nicht nach unten beschränkt ist.
54
Kapitel 2 Lineare Optimierung
Wir zeigen noch, wie man in der so genannten Phase I des Verfahrens konstruktiv eine zulässige Basislösung bestimmen kann. Durch Multiplikation einiger Gleichungsnebenbedingungen mit 1 können wir erreichen, dass b 0Rm ausfällt. Betrachte damit das Hilfsproblem Ax C Em y D b; x 0Rn ;
y 0Rm
mit der modifizierten Zielfunktion m X
yi :
i D1
Offenbar ist x D 0Rn ; y D b eine zulässige Basislösung mit der m-reihigen Einheitsmatrix Em als Basis. Außerdem ist die Zielfunktion auf der zulässigen Menge durch 0 nach unten beschränkt. Also liefert das primale Simplexverfahren bei Beachtung einer Anti-Zyklusregel nach endlich vielen Schritten eine optimale zulässige Basislösung x; N y: N P so besitzt das Ausgangsproblem 2.3.1 keine zuläsIst der Minimalwert m i D1 yNi > 0,P N zulässig für das Ausgangssige Lösung. Ist der Minimalwert m i D1 yNi D 0, so ist x problem 2.3.1, und die zu positiven Komponenten xNj > 0 gehörenden Spalten aj von A sind linear unabhängig, da x; N yN Basislösung des Hilfsproblems war. Sind weniger als m Komponenten von xN positiv, d. h. war x; N yN eine entartete optimale Basislösung des Hilfsproblems, so ergänze man ¹a j W xNj > 0º N
durch weitere Spalten von A zu einer Basis AJ für das Ausgangsproblem 2.3.1. Da A vollen Zeilenrang m besitzt, ist dies stets möglich. In jedem Falle ist xN eine zulässige Basislösung für das Ausgangsproblem 2.3.1. Insgesamt wurde damit konstruktiv der folgende Satz bewiesen. Satz 2.3.5. Vorgelegt sei das lineare Optimierungsproblem in der primalen Normalform 2.3.1. Dann tritt genau einer der folgenden drei Fälle ein: a) Es gibt keine zulässigen Lösungen. b) Die Zielfunktion ist auf der zulässigen Menge nicht nach unten beschränkt. c) Es gibt eine optimale zulässige Basislösung.
55
Abschnitt 2.3 Primales Simplexverfahren
Wir stellen noch die Rekursionsformeln für den Basiswechsel im primalen Simplexverfahren zusammen. 0
Rekursionsformeln für das primale Simplexverfahren 2.3.6. Die Basis AJ entstehe aus der Basis AJ gemäß Phase II, Fall 2ˇ durch Ersetzen des Index l 2 J durch den Index k … J . Dann sind durch die Formeln pk0 D
pl
pi0 D pi
; k
xl
cJ>0 pJ0 0 D cJ> pJ 0j xk D
xk0l D
j
xl
pl xlk
pl xik
ŒcJ> xJk ck ;
; k
xi0j D xij
1
xi0l D
xl
; k
xl
0j
cJ>0 xJ 0 cj D cJ> xJ cj j
cJ>0 xJ0l 0 cl D
1 xlk
.i 2 J 0 n ¹kº/;
xlk
j
xl xik xlk
xik
xlk j xl > k ŒcJ xJ xlk
.i 2 J 0 n ¹kº; j … J 0 [ ¹lº/; .i 2 J 0 n ¹kº/;
ck
.j … J 0 [ ¹lº/;
ŒcJ> xJk ck
nacheinander die neue Basislösung p 0 , der zugehörige Wert cJ>0 pJ0 0 der Zielfunktion, 0c 0 0j die Lösungen xJ0J0 der der neuen Basis entsprechenden Systeme AJ xJ 0 D aj .j … 0j J 0 /, die für die Untersuchung von p 0 auf Optimalität benötigten Zahlen cJ>0 xJ 0 cj 0 .j … J / gegeben. Beweis. Die Formeln für p 0 und cJ>0 pJ0 0 entnehme man Phase II, Fall 2ˇ. Die Vektoj j ren xJ bzw. xJ 0 lösen die Systeme j
AJ xJ D aj
bzw.
0
0j
AJ xJ 0 D aj
.j D 1; : : : ; n/:
Hieraus folgt für j 2 ¹1; : : : ; nº j
0
0j
0Rm D AJ xJ AJ xJ 0 D AJ n¹lº xJj n¹lº AJ n¹kº xJ0j0 n¹kº C al xlj ak xk0j X j 0j 0j j 0j D ai Œxi xi xik xk C al Œxl xlk xk ; 0
i 2J 0 n¹kº
56
Kapitel 2 Lineare Optimierung
wobei ak mittels alter Basis J ausgedrückt wurde. Also ist notwendig j
0j
xk D
xl
0j
j xl xik
j
xi D xi
; k
xl
.i 2 J 0 n ¹kº/:
xlk
Weiter folgt 0j cJ>0 xJ 0
cj D
cJ>0 n¹kº C ck
h
i
j
j xJ 0 n¹kº
xlj xlk
xl
xk k J 0 n¹kº
xl
j
j
cj C cl xl cl xl
xlk xlk
j
D cJ> xJj cj
xl
xlk
ŒcJ> xJk ck :
Für j D l ergeben sich Vereinfachungen aus xll D 1;
xil D 0
.i 2 J n ¹lº D J 0 n ¹kº/:
Alle wesentlichen Daten für das primale Simplexverfahren können in Tableauform festgehalten werden, wobei das Tableau für die zulässige Basislösung p mit der Basis AJ folgendermaßen besetzt wird: Jc xJJ
J
c cJ> xJJ
c
pJ cJ>c
cJ> pJ
Hat man sich für eine Pivotspalte k 2 J c entschieden, so werden die Quotienten
pj xjk
mit j 2 J; xjk > 0 benötigt, die in einer zusätzlichen Spalte des Tableaus aufgelistet werden können. Die Rekursionsformeln liefern dann für die neue Basislösung p0 mit der Basisindexmenge J 0 D .J n ¹lº/ [ ¹kº das folgende Tableau, wobei die Abkürzung c J>c D cJ> xJJ cJ>c verwendet wurde: j 2 J c n ¹kº i 2 J n ¹lº k
j
j xik xl k xl xlj xlk
xi
j
j
k xl xlk
l
xik xlk
1 xlk
kk xl
pi
xik pl xlk
pl xlk
cJ> pJ
k pl xlk
57
Abschnitt 2.3 Primales Simplexverfahren
Wir erläutern diesen Tableauwechsel anhand des Agrarbeispiels aus [28]. Beispiel 2.3.7. Gegeben sei das folgende Optimierungsproblem: Minimiere 250x1 45x2 unter den Nebenbedingungen x1 50; x2 200; x1 C 0:2x2 72; 150x1 C 25x2 10 000; x1 0; x2 0 Š Durch Einführung von Schlupfvariablen x3 ; x4 ; x5 ; x6 erhalten wir die primale Normalform: Minimiere .250; 45; 0; 0; 0; 0/ x unter den Nebenbedingungen x 2 R6 ; x 0R6 und 0
1 B 0 B @ 1 150
0 1 0:2 25
1 0 0 0
0 1 0 0
0 0 1 0
1 0 1 0 50 B C 0C C x D B 200 C Š A @ 0 72 A 1 10 000
Als zulässige Basislösung erhalten wir 1 0 B 0 C B C B 50 C C pDB B 200 C ; B C @ 72 A 10 000 0
als zugehörige Basisindexmenge J D ¹3; 4; 5; 6º.
58
Kapitel 2 Lineare Optimierung
Als Starttableau erhalten wir: 1
2
3
1
0
50
50
4
0
1
200
–
5
1
0.2
72
72
6
150
25
10 000
1000=15
250
45
0
Die hinreichende Bedingung ist nicht erfüllt, wir können einen Nichtbasisindex k D 1 wählen mit cJ> xJk ck > 0. Weiter existiert ein j 2 J mit xjk > 0. Wir bestimmen in einer Nebenrechnung l 2 J mit pl xlk
pj
D min
xjk
j 2J xjk >0
und erhalten l D 3 . Das Pivotelement für den ersten Austauschschritt ist also x31 D 1 : Damit können wir den Tableauwechsel schematisch durchführen und erhalten: 3
2
1
1
0
50
–
4
0
1
200
200
5
1
0.2
22
110
6
150
25
2500
100
250
45
12 500
Wiederum lässt sich ein Nichtbasisindex k D 2 wählen mit cJ> xJ2 c2 > 0, und wiederum existieren j 2 J mit xjk > 0. Die Nebenrechnung liefert als Pivotzeilenindex
59
Abschnitt 2.3 Primales Simplexverfahren
l D 6 . Damit erhalten wir als neues Tableau: 3
6
1
1
0
50
50
4
6
0:04
100
100=6
5
0:2
0:008
2
10
2
6
0.04
100
–
20
1:8
17 000
Als nächstes Tableau erhalten wir mit k D 3 und l D 5 : 5
6
1
5
0.04
40
4
30
0.2
40
3
5
0:04
10
2
30
0:2
160
100
1
17 200
Jetzt gilt für alle k 2 J c D ¹5; 6º cJ> xJk cj 0; also ist das Optimalitätskriterium erfüllt, und wir erhalten als Optimallösung p1 D 40 p2 D 160 p3 D 10 p4 D 40 p5 D 0 p6 D 0 und als Optimalwert c > p D 17 200: Kann die Startbasislösung nicht wie im vorigen Beispiel direkt abgelesen werden, so muss zunächst in Phase I ein Hilfsproblem gelöst werden.
60
Kapitel 2 Lineare Optimierung
Beispiel 2.3.8 (Bestimmung einer zulässigen Basislösung). Betrachte Ax D b, x 0R3 mit 0 1 x1 1 1 2 1 AD ; bD ; x D @ x2 A : 1 1 0 1 x3 Zur Bestimmung einer zulässigen Basislösung lösen wir das folgende Hilfsproblem mit dem Simplexverfahren: Minimiere y1 C y2 u. d. N. Ax C E2 y D b; x 0R3 ; y D .y1 ; y2 /> 0R2 Š Das Simplexverfahren liefert die folgenden Tableaus, wobei x4 WD y1 und x5 WD y2 gesetzt wurden. Starttableau: 1
2
3
4
1
1
2
1
1
5
1
1
0
1
1
0
2
2
2
1
5
3
4
2
1
2
0
0
2
1
1
0
1
–
2
2
2
0
Pivotzeile und -spalte: l D 5 , k D 2 . Tableau 1:
Pivotzeile und -spalte: l D 4 , k D 1 . Tableau 2:
1 2
4
5
3
1 2 1 2
12
1
0
1 2
1
1
1
1
0
0
Dieses Tableau ist optimal mit Zielfunktionswert 0 und y1 D y2 D 0.D x4 D x5 /. Daher erfüllt p D .p1 ; p2 ; p3 /> D .0; 1; 0/> die Restriktionen Ap D b und p 0R3 . p ist zulässige Basislösung mit Basisindexmenge J D ¹1; 2º und Nichtbasisindexmenge J c D ¹3º.
61
Abschnitt 2.3 Primales Simplexverfahren
Nun soll die Zielfunktion c > x D x1 C 2x2 C x3 minimiert werden. Das Starttableau ist durch Tableau 2 gegeben, wenn die zu y1 und y2 (bzw. x4 und x5 ) gehörenden Spalten gelöscht werden. Da nun eine andere Zielfunktion als im Hilfsproblem betrachtet wird, muss die untere Zeile des Tableaus neu berechnet werden: 0 D 2; cJ> pJ D .1; 2/ 1 c 1 cJ> xJJ cJ>c D .1; 2/ .1/ D 2: 1 Starttableau: 3 1
1
0
0
2
1
1
1
2
2
1 1 1 2
0 1 2
Pivotzeile und -spalte: l D 1 , k D 3 . Tableau 1: 3 2
Dieses Tableau ist optimal mit Basislösung p3 D 0, p2 D 1, p1 D 0 und Zielfunktionswert 2. Bemerkung 2.3.9. In diesem Beispiel war bereits die Startbasislösung für die Phase II optimal, aber der Optimalitätstest hat für die Startbasis versagt. Deswegen war ein weiterer Basiswechsel nötig, um eine „bessere“ Basis zu generieren. Solche Phänomene können nur bei entarteten Basislösungen auftreten. Bemerkung 2.3.10. Am Ende der Phase I kann es vorkommen, dass einige Komponenten von y Basisvariable sind. In diesem Fall definieren die Spalten von A, die zu den Basiskomponenten pi (i 2 J ) gehören, keine volle Basismatrix. Es müssen zusätzliche linear unabhängige Spalten aj von A mit j 2 J c bestimmt werden, um eine volle Basismatrix zu erhalten. Dies kann durch zusätzliche Simplexschritte erreicht werden mit dem Ziel, die Komponenten von y in die Nichtbasis zu schieben.
62
Kapitel 2 Lineare Optimierung
Bemerkung 2.3.11 (Aufwand des Simplexverfahrens). Klee und Minty [95] haben an einem Beispiel – dem so genannten Klee und Minty-Würfel – gezeigt, dass das Simplexverfahren im schlimmsten Fall exponentielle Komplexität besitzt und somit nicht zur Klasse der polynomialen Algorithmen gehört. Dies war ein enttäuschendes Resultat aus theoretischer Sicht und trug maßgeblich zur Entwicklung von InnerePunkte-Verfahren bei, für die unter geeigneten Voraussetzungen eine polynomiale Komplexität gezeigt werden kann, vgl. [94, 91, 169]. Die Tatsache, dass das Simplexverfahren – selbst für große Probleme – immer noch eines der am häufigsten benutzten Verfahren im Operations Research ist, zeigt, dass die worst case-Komplexität in der Praxis in der Regel nicht beobachtet wird. Tiefer gehende Untersuchungen von Borgwardt [21] zeigen: Falls die Eingabedaten A, b und c sinnvoll verteilt sind, ist die erwartete Komplexität des Simplexverfahrens polynomial.
2.4
Vermeidung von Zyklen
Bisher wurde im primalen Simplexverfahren nicht spezifiziert, welche Pivotzeile bzw. -spalte gewählt werden soll, wenn mehrere Auswahlmöglichkeiten vorhanden sind. Eine übliche Wahl geht auf Dantzig zurück und wählt diejenige Pivotspalte k mit cJ> xJk ck D max¹cJ> xJ cj W cJ> xJ cj > 0; j 2 J c º: j
j
(2.1)
Hoffmann [81] und Marshall und Suurballe [113] zeigten an einem Beispiel, dass diese Wahl zu Zyklen im Simplexverfahren führen kann, so dass das Verfahren nicht immer terminiert. Dieser Fall tritt allerdings nur in entarteten Basislösungen auf. Beispiel 2.4.1 (Schleifenbildung beim Simplexverfahren). Das folgende Beispiel wurde von Marshall und Suurballe [113] zum Nachweis von Zyklen im Simplexverfahren verwendet: Minimiere
c>x
u. d. N.
Ax D b; x 0R7 Š
Die Daten lauten (x5 ; x6 ; x7 sind Schlupfvariable) 0 1 0 1 10 x1 B 57 C B x2 C B C B C 0 1 0 1 B 9C B x3 C 0:5 5:5 2:5 9 1 0 0 0 B C B C C ; A D @ 0:5 1:5 0:5 1 0 1 0 A ; b D @ 0 A ; x D B x4 C : 24 cDB B C B C B 0C B x5 C 1 0 0 0 0 0 1 1 B C B C @ 0A @ x6 A x7 0 Anwendung des Simplexverfahrens, wobei die Pivotspalte stets gemäß (2.1) gewählt wird, führt auf die folgenden Tableaus. Beachte, dass das letzte Tableau bis auf
63
Abschnitt 2.4 Vermeidung von Zyklen
Permutationen der Spalten dem ersten Tableau entspricht. Folglich führt eine wiederholte Wahl derselben Pivotelemente zu einem Zyklus. Starttableau: 1
2
3
4
5
0:5
5:5
2:5
9
0
0
6
0.5
1:5
0:5
1
0
0
7
1
0
0
0
1
1
10
57
9
24
0
Pivotzeile und -spalte: l D 5 , k D 1 . Tableau 1: 5
2
3
4
1
2
11
5
18
0
–
6
1
4
2
8
0
0
7
2
11
5
18
1
1 11
20
53
41
204
0
Pivotzeile und -spalte: l D 6 , k D 2 . Tableau 2: 5
6
3
4
1
0:75
2.75
0:5
4
0
0
2
0:25
0.25
0.5
2
0
0
7
0.75
2:75
0:5
4
1
–
6:75
13:25
14.5
98
0
Pivotzeile und -spalte: l D 1 , k D 3 . Tableau 3: 5
6
1
4
3
1:5
5.5
2
8
0
–
2
0.5
2:5
1
2
0
0
7
0
0
1
0
1
–
15
93
29
18
0
64
Kapitel 2 Lineare Optimierung
Pivotzeile und -spalte: l D 2 , k D 4 . Tableau 4: 5
6
1
2
3
0:5
4:5
2
4
0
0
4
0.25
1:25
0:5
0.5
0
0
7
0
0
1
0
1
–
10.5
70:5
20
9
0
Pivotzeile und -spalte: l D 3 , k D 5 . Tableau 5: 3
6
1
2
5
2
9
4
8
0
–
4
0:5
1
0.5
1:5
0
0
7
0
0
1
0
1
–
21
24
22
93
0
Pivotzeile und -spalte: l D 4 , k D 6 . Tableau 6: 3
4
1
2
5
2:5
9
0.5
5:5
0
6
0:5
1
0.5
1:5
0
7
0
0
1
0
1
9
24
10
57
0
Es ist interessant zu beobachten, dass alle Tableaus dieselbe entartete Basislösung p D .0; 0; 0; 0; 0; 0; 1/> beschreiben, obwohl sich die Tableaus selbst unterscheiden. Geometrisch bleibt das Verfahren also in derselben Ecke des zulässigen Bereichs hängen. Zunächst beschreiben wir die störungstheoretische Interpretation des lexikographischen Simplexverfahrens, bei dem das Auftreten von Zyklen vermieden wird. Es trete also der Fall ein, dass ein Schritt des primalen Simplexverfahrens die aktuelle zulässige Basislösung p ungeändert lässt, p 0 D p:
65
Abschnitt 2.4 Vermeidung von Zyklen
Jeder Basisindex l 2 J mit xlk > 0 und pl D 0 liefert zwar eine neue Basis AJ
0
von p mit J 0 D .J n ¹lº/ [ ¹kº: Man muss aber vermeiden, dass dieselbe Basis von p mehrfach auftritt, da der Algorithmus dann in eine unendliche Schleife gerät. Dies kann man durch eine besondere Auswahlstrategie für den aus der Basisindexmenge zu entfernenden Index l erreichen. Lexikographischer Basiswechsel 2.4.2. Wir stören das Optimierungsproblem, um die Entartung aufzuheben. Sei pO irgendeine fest gewählte zulässige Basislösung mit Basisindexmenge JO , z. B. die gerade untersuchte p, und p./ O W Œ0; 1/ ! Rn die Abbildung mit 1 1 : p./ O JO D pOJO C @ :: A ; m 0
p./ O j D 0 .j … JO /: Dann erfüllt p./ O die Bedingungen: 0
1 1 : O JO D A pOJO C A @ :: A ; Ap./ O D A p./ m JO
p./ O j > 0 .j 2 JO ;
JO
JO
0 < < 1/;
insbesondere ist also p.0/ O die ursprünglich gegebene Basislösung p. O p./ O ist also für jedes > 0 eine nichtentartete zulässige Basislösung für das Problem mit gestörter rechter Seite 0
1 1 : O b./ D b C AJ @ :: A m und zugehöriger Basisindexmenge JO .
66
Kapitel 2 Lineare Optimierung
Diese Störung der rechten Seite bewirkt auch eine Störung sämtlicher später berechneter Basislösungen. Wir nehmen induktiv an, dass sich die aktuelle Basislösung p einbetten lässt in die einparametrige Familie p./ W Œ0; 0 ! Rn mit 0
1 1 : Ap./ D b C A @ :: A ; m JO
p./j > 0
.j 2 J;
0 < 0 /;
p./j D 0
.j … J /
für alle 0 0 mit gewissem 0 > 0. Beachte, dass dann notwendigerweise 0
1 1 : O p./J D .AJ /1 b C .AJ /1 AJ @ :: A m 0 11 : O D pJ C xJJ @ :: A m gilt. Nummerieren wir die Indizes von JO , JO D ¹s1 ; : : : ; sm º; so wird deutlich, dass p./j D pj C
m X
s
xj
.j 2 J /
D1
polynomial vom Störparameter abhängt. Betrachte jetzt für 0 < 0 0 ./ D min
j 2J xjk >0
D min
j 2J xjk >0
p./j xjk pj C
Pm
s D1 xj : xjk
67
Abschnitt 2.4 Vermeidung von Zyklen
Für hinreichend kleines 0 < 1 0 wird das Minimum für einen Index l 2 J mit xlk > 0 angenommen, der unabhängig von 2 .0; 1 ist: Unter den Polynomen P s pj C m D1 xj .j 2 J; xjk > 0/ xjk suche man nämlich dasjenige mit möglichst vielen verschwindenden führenden Koeffizienten s
pj D 0; xjs1 D 0; : : : ; xj N D 0; wobei überdies der erste nicht verschwindende Koeffizient s
pj
bzw.
xjk
N xj C1
xjk
minimal ist. Beachte, dass der erste nicht verschwindende Koeffizient positiv ist wegen p./ 0Rn .0 0 /. Dies bedeutet gerade, dass man das so genannte lexikographische Minimum der Vektoren ! s1 xjsm pj xj ; ;:::; k xjk xjk xj für alle j 2 J mit xjk > 0 bestimmt. Die Berechnung von l ist also ohne Spezifizierung von und ohne Kenntnis von 1 durchführbar. Durch diese Vorschrift ist l auch eindeutig bestimmt. Gäbe es nämlich einen weiteren Index lQ 2 J mit x kQ > 0, für den das Minimum angenommen wird, so wäre l
pl xlk
;
xls1 xlk
;:::;
xlsm xlk
! D
plQ x kQ
;
l
x sQ1 l x kQ l
;:::;
x sQm l
x kQ
! ;
l
O O O Q Zeile von xJJ , daher xJJ singulär im also die l-te Zeile von xJJ ein Vielfaches der l-ten Widerspruch zu O
O
AJ xJJ D AJ : O
Da xJJ regulär ist, ist auch pl xlk
;
xls1 xlk
;:::;
xlsm xlk
! ¤ 0RmC1 ;
68
Kapitel 2 Lineare Optimierung
also ist notwendig für hinreichend kleines 0 < 1 0 P s pl C m D1 xl 0 ./ D > 0 .0 < 1 /: xlk Also erhält man wie im Fall 2ˇ1 des primalen Simplexverfahrens 2.3.2 vermöge p 0 ./ D p./ 0 ./x k eine zulässige Basislösung mit der Basisindexmenge J 0 D .J n ¹lº/ [ ¹kº und kleinerem Zielfunktionswert für 0 < 1 als für p./. Wir zeigen, dass auch p 0 ./ nichtentartet ist für 0 < 1 . Da l eindeutig bestimmt ist, ist P s pl C m D1 xl 0 ./ D xlk P s pj C m D1 xj < xjk für alle j 2 J n ¹lº mit xjk > 0. Damit folgt für 0 < 1 p 0 ./j D p./j 0 ./xjk D pj C
m X
s
xj 0 ./xjk
D1
>0 für alle j 2 J n ¹lº mit xjk > 0. Weiter folgt für 0 < 1 p 0 ./j D p./j 0 ./xjk p./j > 0 für alle j 2 J n ¹lº mit xjk 0, da p./ auf .0; 1 / nicht entartet ist. Schließlich folgt p 0 ./k D 0 ./ > 0 .0 < 1 /:
Abschnitt 2.4 Vermeidung von Zyklen
69
Damit ist induktiv bewiesen, dass alle im Verlaufe des Verfahrens auftretenden zulässigen Basislösungen, beginnend mit p./, O auf einem hinreichend kleinen Intervall 0 < Q nichtentartet sind. Also musste für 0 < Q der Zielfunktionswert jeweils strikt verringert worden sein, solange die Zusatzvorschrift beachtet wird und der Algorithmus nicht mit einem der Fälle 1 oder 2˛ abbricht. Insbesondere kann dann keine Basis mehrfach auftreten. Wir wollen noch eine weitere überraschend einfache Anti-Zyklusregel beweisen, vgl. hierzu [16]. Wir betrachten dazu das primale Simplexverfahren 2.3.2 ohne lexikographischen Basiswechsel und nehmen an, dass das Verfahren eine unendliche Folge von zulässigen Basen AJ0 ; AJ1 ; AJ2 ; : : : erzeugt. Da es nur endlich viele Basisindexmengen gibt, nämlich höchstens m n , muss eine Basis mehrfach auftreten, J D J
. C 2; minimal/:
Die zugehörigen Basislösungen sind durch die Basis eindeutig bestimmt, pJc D 0Rnm ; pJ D .AJ /1 b; und damit gleich. Insbesondere sind auch die Zielfunktionswerte c > p D cJ> pJ gleich. Zwischen J und J ist also kein echter Abstieg erfolgt, der Schrittweitenparameter 0 im Simplexverfahren wurde also stets auf 0 gesetzt. Damit sind alle zu den Basen AJ ; AJC1 ; : : : ; AJ gehörigen Basislösungen gleich p. Es sei kO der größte Pivotspaltenindex, der zwischen J und J in eine Basis aufgenommen wurde, lO der zugehörige Pivotzeilenindex. Die zugehörige aktuelle Basis sei JO , d. h. O [ ¹kº: O D .JO n ¹lº/ JC1 O
70
Kapitel 2 Lineare Optimierung
Da sich im Verlaufe des Zyklus auch JO wiederholt, muss später kO auch wieder aus einer Basisindexmenge entfernt werden, die zugehörige aktuelle Basis sei JQ , d. h. Q [ ¹kº Q JC1 D .JQ n ¹lº/ Q mit O lQ D k: Q
Definiere xJkQ durch Q
Q
AJQ xJkQ D ak und, wie im primalen Simplexverfahren, Q
Q .j … JQ ; j ¤ k/;
xjk D 0 Q
x kQ D 1; k
Q
s./ D p x k
. 2 R/:
Dies ist gerade der (im Simplexschritt 2ˇ2 nicht erfolgreiche) Kandidat für eine Abstiegshalbgerade. s./ ist so konstruiert, dass As./ D b: Damit gilt für beliebige Basis AJ c
AJ s./J C AJ s./J c D b D AJ pJ ; also s./J D pJ .AJ /1 AJ s./J c c
und c > s./ D cJ> pJ cJ> xJJ s./J c C cJ>c s./J c X j D c>p .cJ> xJ cj /s./j : c
j 2J c
Unabhängig davon, ob s./ alle Vorzeichenbedingungen erfüllt oder nicht, lässt sich der Zielfunktionswert für s./ also auf zwei Weisen berechnen: X .cJ>O xJj O cj /s./j c > s./ D c > p c j 2J O
D c >p
X
c j 2J Q
.cJ>Q xJQ cj /s./j : j
71
Abschnitt 2.4 Vermeidung von Zyklen
Da das Simplexverfahren beim Übergang von JQ zu JC1 nicht abgebrochen ist, ist Q Q
cJ>Q xJkQ ckQ > 0: Nach Definition von s./ ist Q
s./j D pj xjk D pj D 0
Q .j … JQ ; j ¤ k/
und s./kQ D : Also ist Q
c > s./ D c > p .cJ>Q xJkQ ckQ / < c > p für > 0. Dies ist das gemäß der zweiten Darstellung zu erwartende Resultat. Wir analysieren jetzt die erste Darstellung. a) In JO wurde kO aufgenommen, es ist also kO 2 JcO
O
cJ>O xJkO ckO > 0:
und
Weiter ist kO 2 JQ und Q
s./kO D pkO x kO : k
Da kO zwischenzeitlich auch Nichtbasisindex war und aus JQ entfernt wird, ist min
j 2J Q Q x k >0 j
pj
D
Q xjk
pkO Q
x kO
D 0;
k
Q
insbesondere pkO D 0; x kO > 0. Damit wird k
Q
s./kO D x kO < 0 für > 0: k
Also ist der Summand O
.cJ>O xJkO ckO /s./kO < 0 für > 0:
(2.2)
72
Kapitel 2 Lineare Optimierung
O b) Sei jetzt j 2 JcO ; j > k. kO war der größte zwischen J und J in eine Basis aufgenommene Index, und zwischen J und J kommt auch JQ vor. Wegen j > kO wird j zwischen J und J und damit auch im ganzen Zyklus nicht mehr in eine Basis aufgenommen, es ist also j 2 JQc ; j ¤ kQ und darum Q
xjk D 0;
Q
s./j D pj xjk D 0:
pj D 0;
Also ist der Summand .cJ>O xJj O cj /s./j D 0 . 2 R/: O c) Schließlich sei j 2 JcO , j < k. Beachte die folgende Zusatzvorschrift für die Auswahl aller Pivotspaltenindizes: Wähle stets den kleinsten möglichen Pivotspaltenindex. Wegen j < kO ist dann cJ>O xJO cj 0: j
Wegen j 2 JcO ist pj D 0, damit Q
s./j D xjk
. 2 R/:
Q so ist x kQ D 0, also c)1 Ist j 2 JQc , j ¤ k, j s./j D 0 . 2 R/: Q
Q so ist x k D 1, also Ist j 2 JQc ; j D k, j s./j D . 2 R/: c)2 Sei j 2 JQ . Beachte, dass kO aus JQ zu entfernen ist. Es ist also min
i2J Q Q x k >0 i
Q
mit pkO D 0; x kO > 0. k
pi Q xik
D
pkO Q
x kO k
D0
73
Abschnitt 2.4 Vermeidung von Zyklen
Beachte die weitere Zusatzvorschrift für die Auswahl aller Pivotzeilenindizes: Wähle stets den kleinsten möglichen Pivotzeilenindex. Wegen j < kO liefert j dann obiges Minimum nicht. Es ist dann also entweder Q
xjk 0 und damit s./j 0 . 0/ oder Q
xjk > 0 und pj Q
xjk
> 0:
Dann ist also pj > 0. Wegen j 2 JcO kann diese letzte Situation also nicht eintreten. Insgesamt ist damit gezeigt c > s./ > c > p für > 0. Dieser Widerspruch zu (2.2) beweist, dass keine Zyklen auftreten können, sofern die beiden Zusatzvorschriften beachtet werden. Damit haben wir die folgende Anti-Zyklusregel bewiesen. Blandsche Anti-Zyklusregel 2.4.3. Wähle bei jedem Basiswechsel für jeden Pivotspaltenindex und für jeden Pivotzeilenindex den kleinstmöglichen Index. Dann ist der Simplexalgorithmus endlich. Das primale Simplexverfahren 2.3.2 sollte allerdings nur dann auf seine lexikographische Variante 2.4.2 umschalten oder die Blandsche Anti-Zyklusregel 2.4.3 verwenden, wenn sich die Gefahr einer Schleifenbildung abzeichnet. Außer in konstruierten Beispielen oder ganz speziell strukturierten Problemklassen ist dies nur sehr selten der Fall.
74
2.5
Kapitel 2 Lineare Optimierung
Revidiertes primales Simplexverfahren
Wir verwenden die Bezeichnungen und Resultate aus Abschnitt 2.3. Offenbar können sämtliche benötigten Informationen mit Hilfe der Daten A; b; c und der Basis AJ j
gewonnen werden, ohne dass alle Vektoren xJ für j 2 ¹1; : : : ; nº n J überhaupt berechnet werden müssen. Satz 2.5.1. p sei eine zulässige Basislösung mit der Basis AJ , dann ist AJ pJ D b: y 2 Rm sei Lösung des Systems .AJ /> y D cJ : Fall 1. Gilt dann für alle Indizes j 2 ¹1; : : : ; nº n J .aj /> y cj ; so ist p optimal. Man beachte hierbei, dass j .aj /> y cj D .aj /> ..AJ /> /1 cJ cj D .xJ /> cJ cj
.j 2 ¹1; : : : ; nº n J /
gerade die für den Optimalitätstest im primalen Simplexverfahren benötigten Werte sind. Fall 2. Andernfalls wähle einen Index k 2 ¹1; : : : ; nº n J mit .ak /> y > ck : Im Allgemeinen wählt man einen Index k, der minimalen reduzierten Kosten entspricht, für den also gilt ck .ak /> y D minŒcj .aj /> y: j …J
Berechne die Lösung xJk des Systems AJ xJk D ak :
75
Abschnitt 2.5 Revidiertes primales Simplexverfahren
Fall 2˛. Gilt xjk 0
.j 2 J /;
so ist der Wert des in primaler Normalform gegebenen Problems gleich 1. Fall 2ˇ1 . Gilt xjk > 0 für ein j 2 J und min
j 2J xjk >0
pj xjk
> 0;
so berechne l 2 J mit xlk > 0 und pl xlk
D min
j 2J xjk >0
pj xjk
:
Dann ist 0
AJ mit J 0 D .J n ¹lº/ [ ¹kº Basis einer neuen zulässigen Basislösung p 0 D p
pl k x xlk
mit
c > p 0 < c > p: Fall 2ˇ2 . Gilt xjk > 0 und pj D 0 für ein j 2 J; 0
so wähle l 2 J mit xlk > 0 und pl D 0. Dann ist AJ mit J 0 D .J n ¹lº/ [ ¹kº eine neue Basis für p. Dieser Satz ist identisch mit dem Vorgehen beim primalen Simplexverfahren, wenn man den Optimalitätstest entsprechend modifiziert. Bei Bedarf kann man auch hier die lexikographische Variante oder die Blandsche Anti-Zyklusregel zur Vermeidung von Zyklen heranziehen. Wir beschreiben im Folgenden mehr die algorithmische Seite des Verfahrens und nehmen dabei an, dass keine Zyklen auftreten. Algorithmus 2.5.2 (Primales revidiertes Simplexverfahren). (0) Phase 0: Transformiere das lineare Optimierungsproblem auf primale Normalform mit vollem Zeilenrang m.
76
Kapitel 2 Lineare Optimierung
(1) Phase I: Bestimme eine zulässige Basislösung p mit Basisindexmenge J und regulärer Basismatrix AJ für die primale Normalform. Falls keine zulässige Lösung existiert, beende das Verfahren. (2) Phase II: (i) Berechne pJ D .pi /i 2J , y 2 Rm und J c D .j /j 2J c als Lösung von AJ pJ D b;
.AJ /> y D cJ ;
J>c D y > AJ cJ>c : c
(ii) Überprüfung der Optimalität: Gilt j 0 für alle j 2 J c , dann beende das Verfahren. Die aktuelle zulässige Basislösung p ist optimal. Der Zielfunktionswert ist cJ> pJ . (iii) Bestimme Pivotspaltenindex: Wähle einen Index k 2 J c mit k > 0. (iv) Berechne Pivotspalte: Löse das lineare Gleichungssystem AJ xJk D ak . (v) Überprüfung der Unbeschränktheit: Gilt xjk 0 für alle j 2 J , dann beende das Verfahren. Das Problem besitzt keine Lösung, und die Zielfunktion ist auf der zulässigen Menge nicht nach unten beschränkt. (vi) Bestimme Pivotzeilenindex: Wähle einen Index l 2 J mit xlk > 0 und ² ³ pl pj k D min k W xj > 0; j 2 J : xlk xj (vii) Führe Basiswechsel durch: Setze J WD .J n ¹lº/ [ ¹kº und J c WD .J c n ¹kº/ [ ¹lº. (viii) Gehe zu (i). Beispiel 2.5.3 (revidiertes Simplexverfahren). Wir lösen das Problem: Minimiere 3x1 4x2 unter den Nebenbedingungen 2x1 C x2 C x3 D 8; 4x1 C x2 C x4 D 10; x1 ; x2 ; x3 ; x4 0 Š Phase I: Eine zulässige Basislösung ist gegeben durch pJ D .8; 10/> , pJ c D 0R2 mit J D ¹3; 4º und J c D ¹1; 2º.
77
Abschnitt 2.5 Revidiertes primales Simplexverfahren
Phase II: Iteration 0: Mit J D ¹3; 4º und J c D ¹1; 2º gilt c 1 0 2 1 AJ D ; AJ D ; 0 1 4 1 und
p3 p4
D
8 10
;
cJ D
0 yD ; 0
0 ; 0
1 2
cJ c D
3 4
3 D : 4
Der Optimalitätstest ist nicht erfüllt, so dass wir die Pivotspalte k D 1 2 J c mit k D 3 > 0 wählen können. Die Pivotspalte lautet dann 1 x3 2 D : 4 x41 Als Pivotzeile ergibt sich l D 4 2 J wegen 8 p3 D D 4; 2 x31
10 p4 D D 2:5: 4 x41
Iteration 1: Basiswechsel führt auf J D ¹3; 1º und J c D ¹4; 2º, und wir erhalten 1 2 0 1 0 0 J Jc A D ; A D ; cJ D ; cJ c D 0 4 1 1 3 4 und
p3 p1
D
3 2:5
;
yD
0 34
;
4 2
1 D 4
3 13
:
Der Optimalitätstest ist nicht erfüllt, so dass wir die Pivotspalte k D 2 2 J c mit k D 13 4 > 0 wählen können. Die Pivotspalte lautet dann 2 1 2 x3 : D x12 4 1 Als Pivotzeile ergibt sich l D 3 2 J . Iteration 2: Basiswechsel führt auf J D ¹2; 1º und J c D ¹4; 3º, und wir erhalten c 1 2 0 1 4 0 ; AJ D ; cJ D ; cJ c D AJ D 1 4 1 0 3 0
78
Kapitel 2 Lineare Optimierung
und
p2 p1
D
6 ; 1
yD
1 2
13 5
;
4 3
D
1 2
5 13
:
Der Optimalitätstest ist nicht erfüllt, so dass wir die Pivotspalte k D 4 2 J c mit k D 52 > 0 wählen können. Die Pivotspalte lautet dann
x24 x14
D
1 2
2 1
:
Als Pivotzeile ergibt sich l D 1 2 J . Iteration 3: Basiswechsel führt auf J D ¹2; 4º und J c D ¹1; 3º, und wir erhalten J
A D
1 0 1 1
Jc
D
;
A
D
8 ; 2
2 1 4 0
;
cJ D
4 0
;
c
Jc
D
3 0
und
p2 p4
yD
4 0
;
1 3
D
5 4
:
Das Optimalitätskriterium ist erfüllt. Die optimale Lösung lautet p D .0; 8; 0; 2/> mit Zielfunktionswert c > x D 32. Das revidierte Simplexverfahren benötigt nur die Lösung von drei linearen Gleichungssystemen AJ pJ D b;
AJ xJk D ak ;
.AJ /> y D cJ :
Beim revidierten primalen Simplexverfahren in seiner ursprünglichen Form berechnet man alle benötigten Daten mittels der Inversen j j D1;:::;m
VJ D .vi /i 2J
D .AJ /1
von AJ , und zwar nach den folgenden Formeln. 0
Rekursionsformeln für das revidierte Simplexverfahren 2.5.4. Die Basis AJ entstehe aus der Basis AJ gemäß Satz 2.5.1, Fall 2ˇ1 oder Fall 2ˇ2 , durch Ersetzen des
79
Abschnitt 2.5 Revidiertes primales Simplexverfahren
Index l 2 J durch den Index k … J . Dann sind durch die Formeln pk0 D
pl
pi0 D pi
; k
xl
cJ>0 pJ0 0 D cJ> pJ 0j vk D
vlj xl
vl xlk
.y 0 /> aj cj 0
xJ0k0 D VJ0 0 ak
xlk
xlk
.i 2 J 0 n ¹kº/;
Œy > ak ck ;
vi0j D vij
; k
.y 0 /> D y >
pl
pl xik
vlj xik xlk
.i 2 J 0 n ¹kº; j D 1; : : : ; m/;
Œy > ak ck ;
.j 2 ¹1; : : : ; nº n J 0 /; 0
nacheinander die neue Basislösung p0 , der neue Zielfunktionswert cJ>0 pJ0 0 , die neue inverse Basis VJ0 0 , der neue Vektor y 0 , die für die Untersuchung von p 0 auf Optimalität benötigten Zahlen .y 0 /> aj cj .j … J 0 /, die aus y 0 direkt berechnet werden können, 0 0 und die zum neuen Pivotspaltenindex k 0 gehörige Darstellung xJ0k0 von ak bezüglich 0 der neuen Basis AJ gegeben. Natürlich kann man auch, gegebenenfalls zur Kontrolle, mittels der neuen inversen Basis VJ0 0 pJ0 0 D VJ0 0 b;
y 0 D VJ0>0 cJ 0 ;
0
xJ0k0 D VJ0 0 ak
0
und damit alle anderen Größen direkt berechnen. Das ist zwar aufwändiger, aber dafür ein Ansatzpunkt für eine Stabilisierung des Verfahrens, wie wir noch sehen werden. Im Folgenden beschäftigen wir uns mit der konkreten Durchführung des revidierten Simplexverfahrens. Der vom Algorithmus benötigte Speicherplatzbedarf lässt sich am besten aus der folgenden Tableaudarstellung der Rekursionsformeln 2.5.4 ersehen. Die alte inverse Basis VJ , die alte Basislösung pJ , der Vektor y und der Zielfunktionswert cJ> pJ liefern das Tableau: j 2 ¹1; : : : ; mº i 2J
vij
pi
l!
-----------
---
0
yj
cJ> pJ
80
Kapitel 2 Lineare Optimierung
Der Pivotspaltenindex k und der Pivotzeilenindex l liefern uns die .mC1/.mC1/O Matrix TO JO mit J
JO n¹lº JO n¹lº DEO ; TO O J
J
8 1 ˆ ˆ xlk ˆ ˆ < k x TOil D xik ˆ l ˆ ˆ > k ˆ : y a kck xl
.i D l/ .i 2 J n ¹lº/ ; .i D 0/
wobei JO D J [ ¹0º. Multiplikation dieser Matrix mit dem alten Tableauinhalt und Ersetzen von l durch k liefern das neue Tableau: j 2 ¹1; : : : ; mº i2
0j
J0
vi
pi0
k!
-----------
---
0
yj0
cJ>0 pJ0 0
Zur Bestimmung des neuen Pivotspaltenindex k 0 werden in einer Nebenrechnung die Größen .y 0 /> aj cj
.j 2 ¹1; : : : ; nº n J 0 / 0
0
direkt berechnet. Der neue Pivotzeilenindex l 0 ergibt sich aus pJ0 0 und xJ0k0 D VJ0 0 ak . Zusätzlich zu diesen Nebenrechnungen ist also die Umformung eines .m C 1/ .m C 1/-Tableaus erforderlich, während das klassische primale Simplexverfahren die Umformung eines .m C 1/ .n m C 1/-Tableaus erfordert. Überdies liefert das revidierte primale Simplexverfahren explizit in jedem Schritt die inverse Basis. Wie wir in Abschnitt 2.6 sehen werden, kann der Vektor y als (im Allgemeinen unzulässige) duale Basislösung interpretiert werden. Ist das Optimalitätskriterium erfüllt, so ist diese duale Basislösung für die duale Normalform 2.6.4 zulässig und daher auch optimal für das Dualproblem. O Speichert man jeweils nur die wesentliche Spalte der Transformationsmatrix TO JO , J so kann man den Speicherbedarf noch weiter reduzieren, vgl. die multiplikative Form des revidierten Simplexverfahrens in [51]. Eine zulässige Startbasis findet man ganz entsprechend wie beim primalen Simplexverfahren mit Hilfe künstlicher Variablen. Eine interessante Kombination von artificial basis-Technik und penalty-Methode wird in [51] und in [87] beschrieben. Zur numerischen Durchführung der Phase I vgl. auch [87] und [10] sowie [158]. Wir deuten abschließend noch Möglichkeiten zur Stabilisierung des revidierten Simplexverfahrens an. Eine ausführlichere Darstellung findet man in [10] und [157].
81
Abschnitt 2.5 Revidiertes primales Simplexverfahren
Außer einigen Nebenrechnungen zur Bestimmung des Pivotspaltenindex k und des Pivotzeilenindex l sind offenbar für jeden Basiswechsel des revidierten Simplexverfahrens drei lineare Gleichungssysteme zu lösen: AJ pJ D b; .AJ /> y D cJ ; AJ xJk D ak : Diese Systeme lassen sich leicht lösen, wenn eine Zerlegung FAJ D R der Basis AJ bekannt ist mit einer nichtsingulären m-reihigen Matrix F und einer m-reihigen oberen Dreiecksmatrix R , dann ist nämlich RpJ D F b; R > z D cJ ;
y D F > z;
RxJk D F ak : Man wird natürlich versuchen, mit Hilfe der Zerlegung der alten Basis AJ und mit möglichst geringem Aufwand eine entsprechende Zerlegung 0
F 0 AJ D R0 0
der neuen Basis AJ mit J 0 D .J n ¹lº/ [ ¹kº zu gewinnen. Dies gelingt mit geeigneten Modifikationstechniken, vgl. [158]. Sei z. B.
1 FAJ D R D
j1
jm
m
Im Tableau erscheinen die Basisindizes geordnet, J D ¹j1 ; : : : ; jm º:
82
Kapitel 2 Lineare Optimierung
Ist der Pivotzeilenindex l D j , der Pivotspaltenindex k, so empfiehlt sich für die neuen Basisindizes die Anordnung ® ¯ 0 J 0 D j10 ; : : : ; jm D ¹j1 ; : : : ; j1 ; jC1 ; : : : ; jm ; kº : Dann ist nämlich j1
j1
jC1
jm
k
:: :
:: :
:: :
:: :
:: :
:: :
C1 :: :
:: :
:: :
:: :
1 :: : 0
FAJ D RQ D
1
m Q deren Subdiagonalelemente eine obere Hessenberg-Matrix R, j0
j0
rC1 ; : : : ; rmm1
durch eine Folge von Givens-Rotationen T.;C1/ ; : : : ; T.m1;m/ annulliert werden können,
1 T.m1;m/ T.;C1/ RQ D R0 D
j10
0 jm
m
Die transformierte Matrix R0 ist dann ebenfalls eine nichtsinguläre obere Dreiecksmatrix. Definieren wir also F 0 D T.m1;m/ T.;C1/ F; 0
R0 D T.m1;m/ T.;C1/ F AJ ;
83
Abschnitt 2.6 Dualität und Sensitivität
so erhalten wir die neue Zerlegung 0
F 0 AJ D R0 und mit ihr alle notwendigen Daten für den nächsten Simplexschritt. Programme für diese Variante des Simplexverfahrens findet man in [10]. Dort und in [157] findet man auch Methoden zur Bestimmung einer Basis (Phase 0 des Verfahrens) und zur Bestimmung einer zulässigen Basis (Phase I des Verfahrens).
2.6
Dualität und Sensitivität
In der Theorie der Matrixspiele lösen Spieler und Gegenspieler jeweils ein spezifisches lineares Optimierungsproblem. Damit stellt sich die Frage, ob auch allgemeineren linearen Optimierungsproblemen ein weiteres so genanntes duales Optimierungsproblem zugeordnet werden kann und welche Eigenschaften dieses Problempaar hat. Es gibt auch weitere Anwendungen, bei denen sich neben dem Ausgangsproblem, dem Primalproblem, die Formulierung und Lösung eines zweiten Problems, des Dualproblems, geradezu aufdrängt, vgl. hierzu das Beispiel 2.6.1. Duale Optimierungsprobleme sind aus folgenden Gründen wichtig:
Duale Programme liefern untere Schranken für den Minimalwert des primalen Problems.
Gelegentlich ist das duale Programm einfacher zu lösen als das primale Problem.
Das duale Optimierungsproblem erlaubt, Änderungen des Minimalwerts des Primalproblems bei Störungen der Problemdaten abzuschätzen.
Diesen letzten Aspekt, die so genannte Sensitivität des Ausgangsproblems gegenüber Störungen, werden wir zunächst im Beispiel 2.6.2 auch geometrisch illustrieren. Er ist für die Ökonomie von besonderer Bedeutung. Hier modelliert die Zielfunktion oft die Kosten und, etwa in der primalen Normalform, die rechte Seite b Kapazitäten. Eine grundlegende Frage ist dann: Wie wirkt sich eine Variation der rechten Seite b (also im Budget, in den Ressourcen, . . . ) auf die minimalen Kosten aus? Der in diesem Zusammenhang wichtige ökonomische Begriff der Schattenpreise kann dualitätstheoretisch interpretiert werden. Der störungstheoretische Aspekt wird die Grundlage für unsere Darstellung der Dualitätstheorie sein. Beispiel 2.6.1. Eine Firma produziert drei Produkte P1 , P2 und P3 . Der Gewinn pro Einheit der Produkte betrage 10, 5 bzw. 5:5 Geldeinheiten. Die Produktion benötigt Rohmaterialien B1 , B2 , B3 und B4 , von denen 1500, 200, 1200 und 900 Einheiten verfügbar sind. Zur Herstellung einer Einheit der jeweiligen Produkte werden die in
84
Kapitel 2 Lineare Optimierung
der folgenden Tabelle angegebenen Mengen an Rohmaterialien benötigt. P1 P2 P3 B1 B2 B3 B4
30 5 20 10
10 0 10 20
50 3 50 30
Es bezeichne xi , i D 1; 2; 3, die produzierten Mengen der Produkte Pi , i D 1; 2; 3. Die Firma möchte ihren Gewinn maximieren und muss daher das folgende primale Problem lösen: Maximiere 10x1 C 5x2 C 5:5x3 unter den Nebenbedingungen 30x1 C 10x2 C 50x3 1500; 5x1 C 3x3 200; 20x1 C 10x2 C 50x3 1200; 10x1 C 20x2 C 30x3 900; x1 ; x2 ; x3 0 Š
Angenommen, eine zweite Firma bietet der ersten Firma an, alle Rohmaterialien aufzukaufen. Die zweite Firma bietet den Preis yi 0 pro Einheit des Rohmaterials Bi , i D 1; : : : ; 4. Natürlich möchte die zweite Firma ihre Kosten 1500y1 C 200y2 C 1200y3 C 900y4 minimieren. Des Weiteren wird die erste Firma das Angebot nur dann akzeptieren, wenn die Preise pro Einheit der Produkte Pj , j D 1; 2; 3, größer oder gleich dem (nicht realisierten) Gewinn cj , j D 1; 2; 3, aus dem Verkauf der Produkte sind, d. h. es muss gelten 30y1 C 5y2 C 20y3 C 10y4 10; 10y1 C 10y3 C 20y4 5; 50y1 C 3y2 C 50y3 C 30y4 5:5:
85
Abschnitt 2.6 Dualität und Sensitivität
Insgesamt muss die zweite Firma also das folgende so genannte duale Problem lösen: Minimiere 1500y1 C 200y2 C 1200y3 C 900y4 unter den Nebenbedingungen 30y1 C 5y2 C 20y3 C 10y4 10; 10y1 C 10y3 C 20y4 5; 50y1 C 3y2 C 50y3 C 30y4 5:5; y1 ; y2 ; y3 ; y4 0 Š Wir illustrieren die Störung linearer Optimierungsprobleme geometrisch anhand eines einfachen Beispiels mit zwei Entscheidungsvariablen. Beispiel 2.6.2 (vgl. Beispiel 1.1.1). Ein Landwirt möchte 40 Hektar mit Zuckerrüben und Weizen bepflanzen. Er hat hierfür 2400 Euro und 312 Arbeitstage zur Verfügung. Für jeden Hektar belaufen sich seine Anpflanzungskosten auf 40 Euro für Zuckerrüben und auf 120 Euro für Weizen. Für Zuckerrüben benötigt er 6 Arbeitstage pro Hektar und für Weizen 12 Arbeitstage pro Hektar. Der Gewinn beläuft sich auf 100 Euro pro Hektar für Zuckerrüben und auf 250 Euro pro Hektar für Weizen. Der Landwirt möchte 2400 Euro investieren, aber zusätzlich unvorhergesehene Ausgaben in seiner Kalkulation berücksichtigen. Er nimmt daher an, dass 2400 C ı Euro zur Verfügung stehen, wobei ı 2 R eine durch unvorhergesehene Ausgaben verursachte Störung bezeichnet. Natürlich möchte der Landwirt seinen Gewinn maximieren. Dies führt auf das folgende lineare Optimierungsproblem, vgl. Abschnitt 2.2: Minimiere f .x1 ; x2 / D 100x1 250x2 unter den Nebenbedingungen x1 C x2 40; 40x1 C 120x2 2400 C ı; 6x1 C 12x2 312; x1 ; x2 0 Š In Abschnitt 2.2 wurde das ungestörte Problem mit ı D 0 graphisch gelöst, vgl. Abbildung 2.8.
86
Kapitel 2 Lineare Optimierung
x2 40
30
6x1 C 12x2 D 312 20
10
40x1 C 120x2 D 2400
x1
0
10
20
30
40
x1 C x2 D 40
50
60
70
f W 100x1 250x2 D 5500
Abbildung 2.8. Lösung des ungestörten Problems mit ı D 0. Die optimale Lösung lautet .x1 ; x2 /> D .30; 10/> mit Zielfunktionswert 5500.
Die optimale Lösung ist eine Ecke der zulässigen Menge und erfüllt die ersten beiden Nebenbedingungen ohne Schlupf, alle übrigen strikt. Was geschieht, wenn Störungen ı 6D 0 auftreten? ı beeinflusst nur die zweite Nebenbedingung, wobei deren Steigung nicht verändert wird. Eine Änderung in ı führt also zu einer Parallelverschiebung der Geraden 40x1 C 120x2 D 2400. Abbildung 2.9 zeigt die Situation für ı D 600. x2 40
30
f W 100x1 250x2 D 4375 20
6x1 C 12x2 D 312
10
x1 0
10
20
30
40
x1 C x2 D 40
50
60
70
40x1 C 120x2 D 2400 600
Abbildung 2.9. Lösung des Problems für ı D 600. Die optimale Lösung lautet .x1 ; x2 /> D .37:5; 2:5/> mit Zielfunktionswert 4375.
87
Abschnitt 2.6 Dualität und Sensitivität
Offenbar haben sich der zulässige Bereich und die optimale Lösung verändert, aber die optimale Lösung erfüllt immer noch die ersten beiden Nebenbedingungen ohne Schlupf, die übrigen Nebenbedingungen strikt. Was geschieht, wenn wir ı weiter reduzieren? Abbildung 2.10 zeigt die Situation für ı D 1200. x2 40
x1 C x2 D 40
30
20
f W 100x1 250x2 D 3000 10
6x1 C 12x2 D 312
0
10
20
30
40
50
60
70
x1
40x1 C 120x2 D 2400 1200 Abbildung 2.10. Lösung des Problems für ı D 1200. Die optimale Lösung lautet .x1 ; x2 /> D .30; 0/> mit Zielfunktionswert 3000.
Jetzt erfüllt die Optimallösung die zweite Nebenbedingung und die zweite Vorzeichenbedingung ohne Schlupf, alle übrigen Nebenbedingungen strikt. Die Struktur der Optimallösung hat sich also geändert, was sich auch im qualitativen Verhalten der Minimalwerte niederschlägt. Eine graphische Lösung des Problems für alle Werte von ı liefert die Minimallösungen 8 0 ˆ ; falls 720 ı; ˆ 26 ˆ ˆ ˆ 1 ˆ 36 20 ı ˆ ˆ ; falls 160 ı < 720; ˆ 1 ˆ ı 8C 40 ˆ x unter den Nebenbedingungen x 2 Rn und Ax D b; x 0Rn Š
89
Abschnitt 2.6 Dualität und Sensitivität
Wir betrachten den Ressourcenvektor b 2 Rm als Parameter und bezeichnen mit w W Rm ! R [ ¹C1º [ ¹1º; w.b/ WD inf¹c > x W Ax D b; x 0Rn º .b 2 Rm /; die Minimalwertfunktion der zugehörigen Schar gestörter Optimierungsprobleme. Es wird also .P / D .Pb / als so genanntes parametrisches Optimierungsproblem aufgefasst. Dabei ist definitionsgemäß w.b/ WD C1, falls die zulässige Menge von .Pb / leer ist, und w.b/ WD 1, falls die Zielfunktion auf der zulässigen Menge von .Pb / nicht nach unten beschränkt ist. Als ungestörtes oder Referenzproblem wählen wir (PbO ) mit speziellem bO 2 Rm . Jede affine Minorante der Minimalwertfunktion lässt sich schreiben als O C º ¹.b; r/ 2 Rm R W r D y > .b b/ mit gewissen y 2 Rm ; 2 R und O C w.b/ .b 2 Rm /; y > .b b/ vgl. Abbildung 2.12.
r w.b/
Optimalwert O C º ¹.b; r/ 2 Rm R W r D y > .b b/
y 1
bO
Rm
Abbildung 2.12. Graphische Interpretation des dualen Problems: Approximation der Minimalwertfunktion von unten durch eine (dualoptimale) Hyperbene mit Normalenvektor .y; 1/> sowie weitere dualzulässige Hyperebenen (fett gestrichelt).
90
Kapitel 2 Lineare Optimierung
O Wir maximieren noch den Wert aller dieser Minoranten im Referenzpunkt b. Wegen O C w.b/ .b 2 Rm / y > .b b/ ” O C c>x y > .b b/
.x 2 Rn W Ax D b; x 0Rn / .b 2 Rm /
” O C c>x y > .Ax b/
.x 0Rn /
” y > A c > (komponentenweise)
und
y > bO
ist dies gleichbedeutend mit der Maximierung von y > bO unter den Nebenbedingungen y 2 Rm und y > A c > . Damit erhalten wir als Dualproblem zur primalen Normalform die folgende Duale Normalform 2.6.4. (D) Maximiere b>y unter den Nebenbedingungen y 2 Rm und A> y c Š Sei nun x primalzulässig und y dualzulässig, dann folgt b > y D .Ax/> y D x > A> y x > c: Ist also x primalzulässig, y dualzulässig und b > y D c > x; so ist x optimal für (P) und y optimal für (D), und es gilt xj > 0
H)
.aj /> y D cj
bzw. .aj /> y < cj für alle j D 1; : : : ; n.
H)
xj D 0
91
Abschnitt 2.6 Dualität und Sensitivität
Ist x primalzulässig, y dualzulässig und gilt xj > 0
H)
.aj /> y D cj
.j D 1; : : : ; n/;
so ist b>y D c>x und x optimal für (P), y optimal für (D). Damit haben wir bewiesen: Schwacher Dualitätssatz 2.6.5. Ist x zulässig für (P) und y zulässig für (D), so gilt b > y c > x: Ist x zulässig für (P), y zulässig für (D) und b > y D c > x; so ist x optimal für (P) und y optimal für (D). Für primalzulässiges x und dualzulässiges y ist b > y D c > x gleichbedeutend mit der Complementary Slackness Condition xj > 0
H)
.aj /> y D cj
.j D 1; : : : ; n/:
In Phase II, Fall 1, des Simplexverfahrens haben wir die hinreichende Optimalitätsbedingung für eine zulässige Basislösung p mit Basis AJ bewiesen: cJ> xJj cj 0 .j 2 J c /: Außerdem ist natürlich cJ> xJ cj D cJ> eJ cj j
j
D cj cj D 0
.j 2 J /:
Dies kann wegen j cJ> xJ D cJ> .AJ /1 aj >
D .aj /> .AJ /1 cJ D .aj /> q mit >
q WD .AJ /1 cJ folgendermaßen interpretiert werden: q ist zulässig für (D).
92
Kapitel 2 Lineare Optimierung
Weiter gilt für die Zielfunktionswerte b > q D .Ap/> q D .AJ pJ /> q D pJ> .AJ /> q D pJ> cJ D c > p; d. h. die Zielfunktionswerte sind gleich. Nach dem schwachen Dualitätssatz ist p optimal für (P) und q optimal für (D). q ist eine Ecke der zulässigen Menge der dualen Normalform (D), denn m linear unabhängige Ungleichungsnebenbedingungen in (D) mit Indizes aus J sind als Gleichungen erfüllt, vgl. hierzu den Satz 2.2.5. Solche Ecken heißen auch dualzulässige Basislösung mit Basisindexmenge J und der Basis AJ . Sie spielen eine wesentliche Rolle im dualen Simplexverfahren, das wir im Abschnitt 2.7 behandeln werden. Damit haben wir mit dem primalen Simplexverfahren konstruktiv den folgenden Hauptsatz der linearen Optimierung bewiesen. Hauptsatz der linearen Optimierung 2.6.6. Die primale Normalform (P) besitze zulässige Lösungen, und die Zielfunktion von (P) sei auf der zulässigen Menge nach unten beschränkt. Letzteres ist der Fall, wenn die duale Normalform (D) eine zulässige Lösung besitzt. Dann besitzt (P) auch eine optimale primale Basislösung pJ D .AJ /1 b; pj D 0
.j … J /
mit Basisindexmenge J , für die ´ cj cJ> .AJ /1 aj D cj
.j 2 J c / .j 2 J /
erfüllt ist, und (D) eine optimale duale Basislösung q mit .a j /> q cj
.j 2 J c /;
.AJ /> q D cJ ; d. h. mit gleicher Basisindexmenge J , und die Zielfunktionswerte b >q D c >p sind gleich.
93
Abschnitt 2.6 Dualität und Sensitivität
Betrachte jetzt das allgemeine lineare Optimierungsproblem: Allgemeines Primalproblem 2.6.7. Q Minimiere (P) c>x unter den Nebenbedingungen x 2 Rn ´ n X bi .i D 1; : : : ; m0 /; aij xj D bi .i D m0 C 1; : : : ; m/; j D1 xj 0 .j D 1; : : : ; n0 / Š Dieses Problem ist äquivalent zur folgenden primalen Normalform: Minimiere 0
n X
cj xj C
n X
0
cj .xjC
xj /
j Dn0 C1
j D1
C
m X
0 si
i D1
unter den Nebenbedingungen 0
n X
aij xj C
n X
aij .xjC xj / si D bi
.i D 1; : : : ; m0 /;
j Dn0 C1
j D1 0
n X j D1
aij xj C
n X
aij .xjC xj / D bi
.i D m0 C 1; : : : ; m/;
j Dn0 C1
xj 0 xjC 0; xj 0 si 0
.j D 1; : : : ; n0 /; .j D n0 C 1; : : : ; n/; .i D 1; : : : ; m0 / Š
Die zugehörige duale Normalform ist: Maximiere b>y unter den Nebenbedingungen y 2 Rm und .aj /> y cj
.j D 1; : : : ; n0 /;
.aj /> y cj
.j D n0 C 1; : : : ; n/;
.aj /> y cj
.j D n0 C 1; : : : ; n/;
yi 0
.i D 1; : : : ; m0 / Š
94
Kapitel 2 Lineare Optimierung
Damit erhalten wir das allgemeine Dualproblem: Allgemeines Dualproblem 2.6.8. Q (D) Maximiere b>y unter den Nebenbedingungen y 2 Rm und ´ n X cj .j D 1; : : : ; n0 /; aij yi D cj .j D n0 C 1; : : : ; n/; i D1 yi 0 .i D 1; : : : ; m0 / Š Q Damit erhält man das Dualisierungschema für Primalprobleme der Form (P): PQ
!
Q D
Minimierung
Maximierung
Kostenvektor
rechte Seite
rechte Seite
Kostenvektor
A
A>
Ungleichung „“
Vorzeichenbedingung „“
Gleichung
freie Variable
Vorzeichenbedingung „“
Ungleichung „“
freie Variable
Gleichung
Q nochmals dualisieren will, so schreibt man (D) Q am besten in der Wenn man nun (D) Form: Minimiere b > y unter den Nebenbedingungen y 2 Rm und ´ n X cj .j D 1; : : : ; n0 /; aij yi D cj .j D n0 C 1; : : : ; n/; i D1 yi 0
.i D 1; : : : ; m0 / Š
Anwendung des obigen Dualisierungsschemas liefert dann wieder das ursprüngliQ Damit ist gezeigt: che Problem (P).
95
Abschnitt 2.6 Dualität und Sensitivität
Satz 2.6.9. Doppelte Dualisierung des allgemeinen linearen Optimierungsproblems Q liefert wiederum das Problem .P/. Q .P/ Wie die Herleitung des schwachen Dualitätssatzes 2.6.5 zeigt, gilt er auch für das Q und (D). Q Die Complementary Slackness Condiallgemeine duale Problempaar (P) tion muss entsprechend angepasst werden. Die Existenzaussage im starken Dualitätssatz 2.6.6 bleibt erhalten, da die Rangvoraussetzung für die äquivalente primale Normalform durch Streichung von Gleichungen immer erfüllbar ist. Damit gilt auch für das allgemeine duale Problempaar der folgende Q und y zulässig für .D/, Q so Existenz- und Dualitätssatz 2.6.10. Ist x zulässig für .P/ gilt b > y c > x: Q y zulässig für .D/ Q und Ist x zulässig für .P/, b > y D c > x; Q und y optimal für .D/. Q so ist x optimal für .P/ Für primalzulässiges x und dualzulässiges y ist b > y D c > x gleichbedeutend mit der Complementary Slackness Condition n X
aij xj > bi
yi D 0
.i D 1; : : : ; m0 /;
H) .aj /> y D cj
.j D 1; : : : ; n0 /:
H)
j D1
xj > 0
Q besitze zulässige Lösungen, und Das allgemeine lineare Optimierungsproblem .P/ Q sei auf der zulässigen Menge nach unten beschränkt. die Zielfunktion von .P/ Q und .D/ Q auch Optimallösungen, und die Werte beider Probleme Dann besitzen .P/ sind gleich. Wir untersuchen noch die Minimalwertfunktion w W Rm ! R [ ¹C1º [ ¹1º; w.b/ WD inf¹c > x W Ax D b; x 0Rn º .b 2 Rm /; für die primale Normalform (Pb ) etwas genauer. Dabei benutzen wir einige Begriffe und Resultate aus der konvexen Analysis, die auch im Kapitel 5 eine wichtige Rolle spielen. Definition 2.6.11. Die Menge epi.w/ D ¹.b; r/ 2 Rm R W w.b/ rº heißt Epigraph von w.
96
Kapitel 2 Lineare Optimierung
Die Menge dom.w/ D ¹b 2 Rm W w.b/ < 1º heißt Domäne oder effektiver Definitionsbereich von w. Jedes y 2 Rm mit w.b/ C y > h w.b C h/ .h 2 Rm / heißt Subgradient von w im Punkte b 2 Rm . Die Menge @w.b/ aller Subgradienten von w in b heißt Subdifferential von w in b. Das Subdifferential ist der Ersatz für die im Allgemeinen fehlende gewöhnliche Ableitung von w, vgl. hierzu auch die Abbildung 2.11. Satz 2.6.12. Sei w die Minimalwertfunktion der primalen Normalform und w.b/ 2 R. y 2 Rm ist genau dann Optimallösung für die duale Normalform (D), wenn y Subgradient von w in b ist. Beweis. Es ist y 2 @w.b/ genau dann, wenn C y > h .h 2 Rm / affine Minorante von w ist, d. h. wenn gilt C y > h w.b C h/ .h 2 Rm /; mit maximalem Wert D w.b/ im Referenzpunkt b. Die Aussage folgt also unmittelbar aus unserer geometrischen Interpretation der dualen Normalform, vgl. S. 90, kann aber auch leicht direkt nachgerechnet werden.
Für konvexe Probleme mit Standardstörung wird in Satz 5.4.2 bewiesen, dass die Minimalwertfunktion konvex ist. Für lineare Probleme gilt eine stärkere Aussage. Satz 2.6.13. Sei w die Minimalwertfunktion der primalen Normalform. Dann ist ihr Epigraph eine konvexe polyedrische Menge im RmC1 . Als Projektion von epi.w/ auf den Rm ist dann auch dom.w/ eine konvexe polyedrische Menge im Rm . Beweis. Definiere die konvexe polyedrische Menge im Rn Rm R K WD ¹.x; b; r/ 2 Rn Rm R W Ax D b; x 0Rn ; r c > xº:
97
Abschnitt 2.6 Dualität und Sensitivität
(i) Sei .b; r/ 2 epi.w/ beliebig gewählt, also r w.b/. Ist w.b/ D 1, so existieren x 2 Rn mit Ax D b; x 0Rn ; r c > x. Dann ist also .x; b; r/ 2 K. Ist w.b/ 2 R, so existiert nach dem Hauptsatz 2.6.6 eine Optimallösung x 2 Rn mit Ax D b; x 0Rn ; c > x D w.b/ r. Also ist dann ebenfalls .x; b; r/ 2 K. (ii) Sei .x; b; r/ 2 K beliebig gewählt, also Ax D b; x 0Rn ; r c > x. Dann ist c > x w.b/ und daher r w.b/. Also ist .b; r/ 2 epi.w/. (iii) Damit erhält man also epi(w) durch Projektion von K auf den RmC1 und dom(w) durch anschließende Projektion auf den Rm . (iv) Die Behauptung folgt aus der Tatsache, dass jede lineare Transformation einer konvexen polyedrischen Menge selbst eine konvexe polyedrische Menge ist. Dies beweist man am einfachsten mit dem Finite Basis Theorem. Genauso wie in Lemma 5.3.16 für beliebige reellwertige konvexe Funktionen kann man zeigen: Lemma 2.6.14. Sei die Minimalwertfunktion w der primalen Normalform reell in b 2 Rm . Dann sind die Differenzenquotienten w.b C h/ w.b/ schwach monoton fallend für ! 0C, und die Richtungsableitungen w.b C h/ w.b/ !0C
w 0 .b/.h/ D lim
existieren für alle h 2 Rm . Vereinbarungsgemäß werden dabei die Werte 1 und C1 zugelassen. Da w eine konvexe polyedrische Funktion ist, kann man mehr zeigen. Insbesondere erhält man eine Darstellung der Richtungsableitung, mit der man die Richtungsableitung im Prinzip berechnen kann. Wir wollen diese Darstellung im Folgenden herleiten. Sei dazu w.b/ 2 R. Da dann nach dem Hauptsatz 2.6.6 die duale Normalform eine Optimallösung hat, besitzt der Epigraph von w eine affine Minorante, nämlich einen Subgradienten in b. Also ist w dann reell auf seiner Domäne. w ist dann also nirgends gleich 1 und nicht identisch gleich C1. Solche konvexen Funktionen nennt man eigentlich konvex. Wähle jetzt einen Zuwachs h 2 Rm mit b C h 2 dom.w/, dann ist b C h 2 dom.w/;
w.b C h/ 2 R .0 1/:
98
Kapitel 2 Lineare Optimierung
Damit folgt w.b C h/ w.b/ .b C h/> q b > q D h> q
.0 < 1/
für jede duale Optimallösung q von (D) D (Db ), da q auch zulässig für die Probleme (DbCh ) ist. Hieraus folgt mit Lemma 2.6.14, dass die Richtungsableitung w 0 .b/.h/ reell ist und dass gilt w 0 .b/.h/ h> q für alle dualen Optimallösungen q von (D). Dann gilt natürlich auch w 0 .b/.h/ sup¹h> q 2 R W q ist optimal für (D)º:
(2.3)
Dieses Resultat können wir mit den folgenden Begriffen aus der konvexen Analysis auch noch etwas eleganter formulieren. Definition 2.6.15. Sei C eine beliebige Teilmenge des Rm . Dann heißt ´ 0 .z 2 C / ıC .z/ WD 1 .z … C / Indikatorfunktion von C und ıC .y/ WD sup y > z
.y 2 Rm /
z2C
Stützfunktion von C . Anmerkung. Diese Bezeichnung hat ihren Ursprung in der Tatsache, dass man in als so genanntes konjugiertes konvexes Funktional von ı der konvexen Analysis ıC C interpretieren kann. Mit dem Begriff der Stützfunktion und Satz 2.6.12 erhält das bislang bewiesene Resultat (2.3) die Form .h/ .h 2 dom.w/ b/: w 0 .b/.h/ ı@w.b/
(2.4)
Da linke und rechte Seite positiv homogen bezüglich h sind, gilt diese Ungleichung auch für alle h 2 Rm der Gestalt h D .z b/ mit 0 und z 2 dom.w/. Dies ist gerade der durch dom.w/b erzeugte (konvexe polyedrische) Kegel RC .dom.w/b/ mit Scheitel 0Rm .
99
Abschnitt 2.6 Dualität und Sensitivität
Ist h … RC .dom.w/ b/, so ist b C h … dom.w/ für alle > 0, also ist dann zwar w.b/ 2 R, aber w.b C h/ D C1 für alle > 0, d. h. es ist w0 .b/.h/ D C1. Da w eine konvexe polyedrische Funktion ist und w.b/ 2 R angenommen wurde, ist sogar w 0 .b/ D ı@w.b/ ;
(2.5)
vgl. [134], Thm. 23.10. Damit gilt also Satz 2.6.16. Die Minimalwertfunktion w der primalen Normalform (P) sei reell im Punkte b 2 dom.w/. Dann besitzt die Richtungsableitung von w in b die Darstellung w 0 .b/.h/ D max¹h> q W q ist optimal für (D)º
.h 2 RC .dom.w/ b//
und ist gleich C1 für alle h … RC .dom.w/ b/. Das Maximum wird angenommen, da die Menge N0 der Optimallösungen von (D) wegen w.b/ 2 R nicht leer ist und h> q .q 2 N0 / für jedes h 2 RC .dom.w/ b/ auf N0 nach oben beschränkt ist. Da N0 selbst eine konvexe polyedrische Menge ist, nämlich gerade die optimale Facette der zulässigen Menge von (D), vgl. die Darstellung in Korollar 2.2.15, ist für die Berechnung der Richtungsableitung also ein weiteres lineares Optimierungsproblem zu lösen. Dessen Maximum wird auch in einer der Ecken von N0 und damit in einer optimalen Ecke von (D) angenommen, da für (P) und damit auch für (D) die Rangvoraussetzung erfüllt ist. Korollar 2.6.17. Besitzt (D) genau eine optimale Ecke q, O so ist w 0 .b/.h/ D qO > h .h 2 RC .dom.w/ h//: Anmerkung. In diesem Sinne bestimmen also die Komponenten qOi der Optimallösung qO des Dualproblems (D) die „Kosten“ einer Änderung der Ressourcen bi des Primalproblems (P). Sie heißen daher in der Ökonomie auch Schattenpreise. Ist b ein Randpunkt von dom.w/, so können kleinste Störungen des Ressourcenvektors b „in falscher Richtung“ das Primalproblem (P) unzulässig machen. Insbesondere sei man also vorsichtig mit gewöhnlichen Differenzierbarkeitsvoraussetzungen für die Minimalwertfunktion w. Nach bekannten Resultaten aus der konvexen Analysis, vgl. [134], Thm. 25.1 und Cor. 25.1.1, ist w in einem Punkt b 2 Rm mit w.b/ 2 R genau dann differenzierbar in b, wenn @w.b/ einpunktig ist. Dann liegt überdies b im Inneren int.dom.w// von dom.w/. Somit gilt:
100
Kapitel 2 Lineare Optimierung
Satz 2.6.18. Die Minimalwertfunktion w des Primalproblems (P) sei reell in b 2 Rm . w ist genau dann differenzierbar in b, wenn das Dualproblem (D) genau eine Optimallösung q besitzt. Ist dies der Fall, so ist b 2 int.dom.w// und qD
> @w @w .b/; : : : ; .b/ D rw.b/ @y1 @ym
der Gradient von w in b. Alle diese Resultate können am Beispiel 2.6.2 illustriert werden, das wir abschließend noch einmal aufgreifen. Beispiel 2.6.19 (Fortsetzung von Beispiel 2.6.2). Das Primalproblem lautet nach Einführung von Schlupfvariablen: (P)
Minimiere 100x1 250x2 unter den Nebenbedingungen x 0R5 und x1 C x2 C x3 D 40; 40x1 C 120x2 C x4 D 2400 C ı; 6x1 C 12x2 C x5 D 312 Š
Das Dualproblem lautet dann: (D)
Maximiere 40y1 C .2400 C ı/y2 C 312y3 unter den Nebenbedingungen y1 C 40y2 C 6y3 100; y1 C 120y2 C 12y3 250; y1 0; y2 0; y3 0 Š
Wir wählen drei typische Werte für ı aus und wenden obige Resultate an. Die benötigten optimalen Ecken der zugehörigen Dualprobleme können mit etwas Geschick mit dem Simplexverfahren berechnet werden. a) Für ı D 0 besitzt (D) als einzige optimale Ecke q 1 D .25; 1:875; 0/> . Da die Zielfunktion 40y1 C .2400 C ı/y2 C 312y3 nur positive Koeffizienten hat, ist die Menge aller Optimallösungen auch beschränkt, d. h. es gibt keine Kantenhalbgeraden in der optimalen Facette von (D). Damit ist q 1 die einzige Optimallösung von (D). Die Minimalwertfunktion w ist also im gewöhnlichen Sinne differenzierbar in b D .40; 2400; 312/> , und ihr Gradient ist gleich q 1 . Insbesondere ergibt sich für die
101
Abschnitt 2.6 Dualität und Sensitivität
Richtungsableitung in Richtung des zweiten kanonischen Einheitsvektors e 2 w 0 .b/.e 2 / D .q 1 /> e 2 D 1:875: b) Für ı D 800 besitzt (D) die beiden optimalen Ecken q 1 und q 2 D .0; 2:5; 0/. Damit besitzt die Minimalwertfunktion in b D .40; 1600; 312/> die Richtungsableitungen w 0 .b/.e 2 / D max¹.q 1 /> e 2 ; .q 2 /> e 2 º D max¹1:875; 2:5º D 1:875 und w 0 .b/.e 2 / D max¹.q 1 /> .e 2 /; .q 2 /> .e 2 /º D max¹1:875; 2:5º D 2:5: c) Für ı D 2400 besitzt (D) die einzige optimale Ecke q 2 . Damit besitzt die Minimalwertfunktion in b D .40; 0; 312/> die Richtungsableitung in der Richtung e 2 w 0 .b/.e 2 / D .q 2 /> e 2 D 2:5: Wir berechnen für diesen Fall noch die optimale Facette von (D). Wegen w.q 2 / D 0 ist q genau dann optimal für (D), wenn q das System löst 40y1 C 312y3 D 0; y1 C 40y2 C 6y3 100; y1 C 120y2 C 12y3 250; y1 0; y2 0; y3 0: Notwendigerweise ist also q1 D q3 D 0 und q2 2:5. Die optimale Facette hat also die Gestalt q 2 e 2
. 0/;
besitzt also eine Kantenhalbgerade. Damit erhalten wir formal, wenn wir auch C1 als Wert für die Richtungsableitung zulassen, w 0 .b/.e 2 / D sup .q 2 e 2 /> .e 2 / D C1: 0
Dieses Resultat ist wegen Gleichung (2.5) richtig im Sinne der konvexen Analysis, entspricht aber auch der Intuition, da das Problem (D) für ı D 2400 gerade noch zulässig ist, aber bei jeder noch so kleinen Störung in Richtung e 2 unzulässig wird.
102
2.7
Kapitel 2 Lineare Optimierung
Duales Simplexverfahren
Vorgelegt sei wiederum die Primale Normalform 2.7.1. c 2 Rn , b 2 Rm und die reelle m n-Matrix A vom Rang m seien fest vorgegeben. Minimiere c>x unter den Nebenbedingungen x 2 Rn und Ax D b; x 0Rn Š Die Idee des dualen Simplexverfahrens besteht gerade darin, den konzeptionellen Simplexalgorithmus 2.2.16 auf das zugehörige Dualproblem anzuwenden, vgl. [103]. Duale Normalform 2.7.2. Maximiere b>y unter den Nebenbedingungen y 2 Rm und A> y c Š Gemäß Satz 2.2.5 ist y 2 Rm genau dann eine Ecke der zulässigen Menge für die duale Normalform 2.7.2, wenn y dualzulässig ist und m linear unabhängige Spalten aj
.j 2 J /
von A existieren mit .aj /> y D cj
.j 2 J /:
Definition 2.7.3. y sei eine Ecke der zulässigen Menge für 2.7.2. Dann heißt jedes System AJ D .aj /j 2J von m linear unabhängigen Spalten von A mit .AJ /> y D cJ Basis von y.
103
Abschnitt 2.7 Duales Simplexverfahren
Um Verwechslungen mit dem primalen Simplexverfahren zu vermeiden, führen wir folgende Sprechweisen ein: Sprechweisen 2.7.4. AJ D .aj /j 2J bestehe aus m linear unabhängigen Spalten von A. Dann heiße AJ Basis von x 2 Rn , wobei AJ xJ D b; xj D 0 .j 2 ¹1; : : : ; nº n J /; und von y 2 Rm , wobei .AJ /> y D cJ : x heißt primale Basislösung, y heißt duale Basislösung. Ist x zulässig für 2.7.1, so heißt x primalzulässige Basislösung und AJ primalzulässige Basis. Ist y zulässig für 2.7.2, so heißt y dualzulässige Basislösung und AJ dualzulässige Basis. Beim primalen Simplexverfahren wird eine Folge .i/
AJ ; p .i/ ; y .i/
.i D 0; 1; 2; : : :/
.i/
von primalzulässigen Basen AJ , zugehörigen primalzulässigen Basislösungen p .i/ und dualen Basislösungen y .i/ erzeugt. Der Optimalitätstest verlangt gerade die Über.i/ prüfung, ob y .i/ eine dualzulässige Basislösung und damit AJ eine dualzulässige Basis ist. Beim dualen Simplexverfahren wird eine Folge .i/
AJ ; p .i/ ; y .i/
.i D 0; 1; 2; : : :/
.i/
von dualzulässigen Basen AJ , zugehörigen dualzulässigen Basislösungen y .i/ und primalen Basislösungen p .i/ erzeugt. Der Optimalitätstest verlangt jetzt die Überprü.i/ fung, ob p .i/ eine primalzulässige Basislösung und damit AJ eine primalzulässige Basis ist. Satz 2.7.5. y sei eine dualzulässige Basislösung mit der Basis AJ , dann ist .AJ /> y D cJ : p 2 Rn mit pj D 0 .j 2 ¹1; : : : ; nº n J / löse das System AJ pJ D b:
104
Kapitel 2 Lineare Optimierung
Gilt dann für alle Indizes j 2 J pj 0; so ist y dualoptimal und p primaloptimal. Gibt es einen Index l 2 J mit pl < 0; so definiere y l 2 Rm durch .AJ /> y l D eJl : Setze I D ¹ 0 W .aj /> .y y l / cj .j … J /º; K D ¹y y l W 2 I º: j
Mit den Lösungen xJ der Systeme j AJ xJ D aj
.j D 1; : : : ; n/
gilt j .aj /> y D cJ> xJ ;
.aj /> y l D xlj
.j D 1; : : : ; n/;
und es liegt genau einer der folgenden Fälle vor: j
˛/ xl 0 für alle j … J: In diesem Falle ist I D Œ0; 1/ und K eine unbeschränkte Kante von N WD ¹y 2 Rm W A> y cº: Die duale Zielfunktion ist auf K nicht nach oben beschränkt. j ˇ1 / Es gibt ein j … J mit xl < 0; min
In diesem Falle ist I D Œ0; 0 mit
j …J j x 0:
xl
cJ> xJj cj xlj
>0
und K eine beschränkte Kante von N . Der Endpunkt y 0 D y 0 y l
105
Abschnitt 2.7 Duales Simplexverfahren
von K ist eine dualzulässige Basislösung, und es gilt b > y 0 D b > y 0 b > y l D b > y 0 pJ> .AJ /> y l D b > y 0 pl > b > y: Ist k … J ein Nichtbasisindex mit xlk < 0 und cJ> xJk ck xlk
D min
cJ> xJj cj xlj
j …J j x xJk ck D 0; 0
so ist AJ mit J 0 D ¹kº [ J n ¹lº eine Basis von y. Der Beweis läuft ähnlich wie beim primalen Simplexverfahren. Genauso wie beim primalen Simplexverfahren erhält man hier zwei Varianten, das j klassische duale Simplexverfahren, bei dem man die Daten mittels der Vektoren xJ berechnet, und das revidierte duale Simplexverfahren, bei dem man die Daten mittels der inversen Basis berechnet. Tableauwechsel fürs klassische duale Simplexverfahren 2.7.6. Die alten Vektoren j xJ .j … J /, die alte Basislösung pJ , der Zielfunktionswert cJ> pJ und die negativen reduzierten Kosten cJ> xJj cj .j … J / liefern das Tableau: k
j …J
# i 2J
xij
pi
cJ> xJj cj
cJ> pJ
l!
Dabei ist b > y D pJ> .AJ /> y D pJ> cJ D cJ> pJ .
106
Kapitel 2 Lineare Optimierung
Der Pivotzeilenindex l und der Pivotspaltenindex k liefern uns die .mC1/.mC1/O Matrix TO JO mit JO D J [ ¹0º und J
JO n¹lº JO n¹lº O l DEO ; Ti D TO O J
J
8 ˆ ˆ ˆ ˆ ˆ
k ˆ ˆ : cJ xJkck k
xl
.i D 0/
Multiplikation dieser Matrix mit den Nichtpivotspalten, Ersetzung der Pivotspalte durch TO l und Vertauschung von l und k liefert das neue Tableau: j … J0
l #
0j
i 2 J0
xi
pi0
cJ>0 xJ0j0 cj
cJ>0 pJ0 0
k!
Offenbar ist dieser Tableauwechsel formal identisch mit demjenigen für das klassische primale Simplexverfahren. Zur algorithmischen Durchführung des revidierten dualen Simplexverfahrens vgl. man [87], S. 389–397. Lautet das Primalproblem ursprünglich: 0
Minimiere c > z unter den Nebenbedingungen z 2 Rn , Bz b; z 0Rn0 Š 0
mit c 2 Rn , b 2 Rm und m n0 -Matrix B, so entsteht durch Einführung von m nichtnegativen Schlupfvariablen s1 ; : : : ; sm das Problem: Minimiere c > z unter den Nebenbedingungen Bz s D b; z 0Rn0 ;
s 0Rm Š
A ist in diesem Falle also eine m .n0 C m/-Matrix der speziellen Gestalt A D .B j Em /;
107
Abschnitt 2.7 Duales Simplexverfahren 0
und die Variablen x 2 Rn Cm besitzen die natürliche Partitionierung z : xD s Die zugehörige duale Normalform lautet: Maximiere b > y unter den Nebenbedingungen y 2 Rm und B > y c; y 0Rm Š Ist nun c 0Rn0 , so ist yO D 0Rm eine dualzulässige Basislösung mit der Basis 0
0
A¹n C1;:::;n Cmº D Em : Andere Möglichkeiten zur Bestimmung dualzulässiger Ausgangsbasislösungen findet man in [87], S. 398–405. Ein großer Vorteil der dualen Simplexmethode besteht darin, dass man die bereits gewonnenen Informationen bei Hinzunahme einer weiteren Restriktion für das Primalproblem mitverwenden kann, vgl. [87], S. 406–408. Abschließend fassen wir die wesentlichen Inhalte der Tableaus für das primale und duale Simplexverfahren noch einmal zusammen. Das primale Simplexverfahren arbeitet mit Tableaus des folgenden Typs j 2 Jc i 2J
xij
pi
cJ> xJj cj
cJ> pJ
p ist primalzulässige Basislösung. In einer Nebenrechnung wird zunächst überprüft, ob j cJ> xJ cj 0 .j 2 J c /:
Ist dies der Fall, so ist p primaloptimal. Gibt es k 2 J c mit cJ> xJk ck > 0;
108
Kapitel 2 Lineare Optimierung
so wird in einer Nebenrechnung l 2 J bestimmt mit pl
xlk > 0 und
xlk
D min
j 2J x k >0 j
pj xjk
:
(2.6)
Die neue Basisindexmenge ist dann .J n ¹lº/ [ ¹kº: Der Tableauinhalt ist also offenbar formal der gleiche wie beim dualen Simplexverfahren, nur die Interpretation ist eine andere. Beim dualen Simplexverfahren ist y D ..AJ /> /1 cJ eine dualzulässige Basislösung, d. h. .aj /> y cj D .aj /> ..AJ /> /1 cJ cj D cJ> xJ cj 0 .j 2 J c / j
ist von selbst erfüllt. Ist pJ D .AJ /1 b 0Rm ; so ist y bereits dualoptimal. Gibt es l 2 J mit pl < 0; so wird in einer Nebenrechnung k 2 J c bestimmt mit xlk < 0 und
cJ> xJk ck xlk
j
D minc
j 2J j x xJ cj xlj
:
Die neue Basisindexmenge ist dann .J n ¹lº/ [ ¹kº: Zusammenfassend lautet das duale Simplexverfahren wie folgt. Algorithmus 2.7.7 (duales Simplexverfahren). (1) Phase I: Bestimme eine dualzulässige Basislösung y mit .AJ /> y D cJ ;
J>c D y > AJ cJ>c 0Rnm c
(2.7)
109
Abschnitt 2.7 Duales Simplexverfahren
und Basisindexmenge J , Nichtbasisindexmenge J c , Basismatrix AJ und Nichtc basismatrix AJ . Falls kein dualzulässiger Punkt existiert, beende das Verfahren. (2) Phase II: j j 2J c
c
(i) Berechne xJJ D .xi /i 2J , pJ D .pi /i 2J und D .j /j 2J c gemäß xJJ D .AJ /1 AJ ; c
c
y D ..AJ /1 /> cJ ;
pJ D .AJ /1 b; > D y > AJ cJ>c : c
(ii) Überprüfung der Optimalität: Falls pi 0 für alle i 2 J , beende das Verfahren erfolgreich. Die aktuelle duale Basislösung y ist optimal, und die zugehörige primale Optimallösung lautet pJ mit pJ c WD 0Rnm . Der Zielfunktionswert beträgt b > y. (iii) Überprüfung auf Unbeschränktheit: j Falls es einen Index l mit pl < 0 und xl 0 für alle j 2 J c gibt, dann besitzt das duale Problem keine Lösung, und die Zielfunktion ist auf der dualzulässigen Menge nicht nach oben beschränkt. (iv) Bestimme Pivotelemente: Wähle einen Index l mit pl < 0. l definiert die Pivotzeile. Wähle einen Index k mit xlk < 0 und ² ³ j k j c D min j W xl < 0; j 2 J : xlk xl k definiert die Pivotspalte. (v) Basiswechsel: Setze J WD .J n ¹lº/ [ ¹kº und J c WD .J c n ¹kº/ [ ¹lº. (vi) Gehe zu (i). Beispiel 2.7.8. Betrachte das lineare Optimierungsproblem in primaler Normalform: Minimiere
c>x
u. d. N.
Ax D b; x 0R7 Š
Dabei sind x5 , x6 , x7 Schlupfvariable, und es ist 0 1 5 B3C B C 0 1 0 1 B3C 14 6 1 2 4 1 0 0 B C C @ A @ 3 2 1 5 0 1 0 A : cDB B 6 C ; b D 25 ; A D B0C 14 2 1 0 2 0 0 1 B C @0A 0
110
Kapitel 2 Lineare Optimierung
Eine dualzulässige Basislösung ist durch die Basisindexmenge J D ¹5; 6; 7º gegeben. Der duale Simplexalgorithmus liefert folgendes Resultat. Beachte, dass die Transformationsregeln dieselben wie beim primalen Simplexverfahren sind. Lediglich die Pivotelemente werden anders gewählt. Starttableau: 1
2
3
4
5
6
1
2
4
14
6
3
2
1
5
25
7
2
1
0
2
14
5
3
3
6
0
–
3 2
3
6 5
Pivotzeile und -spalte: l D 6 , k D 4 Tableau 1: 1
2
3
6
5
3:6
0:6
1.2
0.8
6
4
0:6
0.4
0.2
0:2
5
7
0:8
0.2
0:4
0.4
4
8:6
0:6
1:8
1:2
30
8:6 3:6
1
–
–
Pivotzeile und -spalte: l D 5 , k D 2 Tableau 2: 1
5
3
6
2
6
5=3
2
4=3
10
4
3
2=3
1
1=3
1
7
2
1=3
0
2=3
2
5
1
3
2
36
Dieses Tableau ist optimal, da p D .0; 10; 0; 1; 0; 0; 2/> primalzulässig ist. Der optimale Zielfunktionswert beträgt 36. Eine zugehörige duale Lösung ist durch das lineare Gleichungssystem .AJ /> y D cJ gegeben und lautet y D .1; 2; 0/> .
111
Abschnitt 2.7 Duales Simplexverfahren
Beim revidierten primalen Simplexverfahren arbeitet man mit Rekursionsformeln für die inverse Basis .AJ /1 bzw. mit Faktorisierungstechniken für die Basis AJ , und die Tableaus lassen sich kompakter schreiben. Beim revidierten primalen Simplexverfahren kann man alle relevanten Daten in der Form speichern j 2 ¹1; : : : ; mº .AJ /1
i 2J
pi cJ> pJ D b > y
yj Dabei ist pJ D .AJ /1 b;
pj D 0
.j 2 J c /
stets primalzulässige Basislösung. Für y D ..AJ /> /1 cJ wird überprüft, ob .aj /> y cj
.j 2 J c /:
Ist dies der Fall, so ist p primaloptimal. Gibt es k 2 J c mit .ak /> y > ck ; so wird zunächst xJk D .AJ /1 ak berechnet und dann l 2 J mit (2.6). Beachte, dass nach Konstruktion stets gilt cJ> pJ D b > y: Hat sich beim Optimalitätstest für p also y als dualzulässig herausgestellt, so ist y nach dem schwachen Dualitätssatz 2.6.5 dualoptimal. Beim revidierten dualen Simplexverfahren ist das Tableau formal gleich. Es ist y D ..AJ /> /1 cJ dualzulässige Basislösung,
´ j >
.a / y
D cj cj
.j 2 J / : .j 2 J c /
112
Kapitel 2 Lineare Optimierung
Ist pJ D .AJ /1 b 0Rm ; pj D 0 .j 2 J c /; so ist y dualoptimal (und p primaloptimal). Gibt es l 2 J mit pl < 0; so wird zunächst J xlJ D .AJ /1 l A c
c
berechnet und dann k 2 J c mit (2.7).
2.8
Matrixspiele und lineare Optimierung
In diesem Abschnitt diskutieren wir Matrixspiele und deren Verbindung zur linearen Optimierung und Dualitätstheorie. Wir beschränken uns auf 2-Personen-Matrixspiele. Eine ausführlichere Darstellung findet sich in [112]. Gegeben seien zwei Spieler X und Y . Der Spieler X kann aus Zahlen ¹1; : : : ; mº auswählen und Spieler Y aus den Zahlen ¹1; : : : ; nº. Wählt Spieler X die Zahl i 2 ¹1; : : : ; mº und Spieler Y die Zahl j 2 ¹1; : : : ; nº, so zahlt der Spieler Y einen vor Beginn des Spiels festgelegten Betrag aij 2 R an Spieler X. Negative Werte von aij bedeuten, dass Spieler Y von Spieler X den Betrag jaij j bekommt. Dies definiert ein so genanntes Nullsummenspiel, da der Gewinn von X gerade der Verlust von Y ist und in der Summe null resultiert. Definition 2.8.1 (Auszahlungsmatrix). Die Matrix j D1;:::;n
A D .aij /i D1;:::;m 2 Rmn heißt Auszahlungsmatrix des Matrixspiels. Der Spieler X heißt Zeilenspieler und der Spieler Y Spaltenspieler des Matrixspiels. Zunächst betrachten wir zur Illustration ein einfaches Matrixspiel. Beispiel 2.8.2. Die Auszahlungsmatrix sei gegeben durch 0 1 2 2 3 9 A D @ 6 5 4 6 A: 7 6 2 1
Abschnitt 2.8 Matrixspiele und lineare Optimierung
113
Es stellt sich nun die Frage, welche Zeilen- bzw. Spaltenwahl für Zeilen- und Spaltenspieler möglichst gut sind. Der Zeilenspieler möchte seinen Gewinn maximieren, während der Spaltenspieler seinen Verlust minimieren möchte. Hier entsteht offenbar ein Konflikt. Den höchsten Gewinn von 9 kann der Zeilenspieler durch Wahl von Zeile 1 erreichen, falls der Spaltenspieler die 4. Spalte wählt. Allerdings kennt der Spaltenspieler die Auszahlungsmatrix und wird daher vermeiden, die 4. Spalte zu wählen, auch wenn in der 3. Zeile dieser Spalte der geringste Verlust für den Spaltenspieler lockt. Wählt der Spaltenspieler stattdessen z. B. die 1. Spalte, so erhält der Zeilenspieler lediglich den Betrag 2. Allerdings kennt auch der Zeilenspieler die Auszahlungsmatrix und würde daher nicht die 1. Zeile wählen. Welche Wahl sollen der Zeilen- und Spaltenspieler treffen? Offenbar gilt es hier, unter allen Möglichkeiten das Bestmögliche zu erreichen. Es gilt, einen optimalen Kompromiss zu finden. Aus der Sicht des Spaltenspielers ergeben sich folgende Auszahlungsbeträge, wenn angenommen wird, dass der Spaltenspieler zuerst seine Wahl bekannt gibt und der Zeilenspieler darauf für ihn optimal reagieren kann: Spalte 1:
7 D max¹2; 6; 7º
Spalte 2:
6 D max¹2; 5; 6º
Spalte 3:
4 D max¹3; 4; 2º
Spalte 4:
9 D max¹9; 6; 1º:
Der für den Spaltenspieler optimale Kompromiss ist also die Wahl der 3. Spalte mit einem minimalen maximalen Verlust von 4. Aus der Sicht des Zeilenspielers ergeben sich folgende Auszahlungsbeträge, wenn angenommen wird, dass der Zeilenspieler zuerst seine Wahl bekannt gibt und der Spaltenspieler darauf für ihn optimal reagieren kann: Zeile 1:
2 D min¹2; 2; 3; 9º
Zeile 2:
4 D min¹6; 5; 4; 6º
Zeile 3:
1 D min¹7; 6; 2; 1º:
Der für den Zeilenspieler optimale Kompromiss ist also die Wahl der 2. Zeile mit einem maximalen minimalen Gewinn von 4. In diesem Beispiel ist ein so genannter Sattelpunkt (Gleichgewichtslage) durch den Eintrag 4 in Zeile 2 und Spalte 3 gegeben. Dieser Eintrag ist gleichzeitig das Maximum über alle Einträge in der 3. Spalte und das Minimum über alle Einträge in der 2. Zeile. Sobald einer der beiden Spieler von dieser Wahl abweicht, wird ein geringerer Gewinn bzw. höherer Verlust riskiert.
114
Kapitel 2 Lineare Optimierung
Im Beispiel haben der Zeilen- und Spaltenspieler jeweils folgende Probleme gelöst, um den Sattelpunkt zu bestimmen: u D v D
max
min aij
(Zeilenspieler);
(2.8)
min
max aij
(Spaltenspieler):
(2.9)
i D1;:::;m j D1;:::;n
j D1;:::;n i D1;:::;m
Definition 2.8.3 (Sattelpunkt,Wert). Der Eintrag ai0 ;j0 heißt Sattelpunkt der Auszahlungsmatrix A, falls ai0 ;j0 D v D u gilt. Ist ai0 ;j0 Sattelpunkt der Auszahlungsmatrix, so heißt ai0 ;j0 Spielwert des Matrixspiels, und i0 und j0 heißen optimale Strategien. Das Matrixspiel heißt gerecht (fair), falls v D u D 0 gilt. Falls die Auszahlungsmatrix A einen Sattelpunkt besitzt, stellt dieser die Lösung des Matrixspiels dar. Leider besitzt nicht jede Auszahlungsmatrix einen Sattelpunkt, wie das folgende Beispiel zeigt: 0
1 2 2 3 9 A D @ 6 5 6 6 A: 7 6 2 1 In diesem Fall ist das zugehörige Matrixspiel offenbar nicht mehr so einfach zu lösen, da es keine für beide Spieler im Sinne einer Gleichgewichtslösung optimale Wahl von Zeilen und Spalten gibt. Abhilfe kann geschaffen werden, indem das Matrixspiel nun mehrfach gespielt wird. Dabei wählt Spieler X mit einer Wahrscheinlichkeit 0 xi 1 (i D 1; : : : ; m) die i-te Zeile der Auszahlungsmatrix, während Spieler Y mit Wahrscheinlichkeit 0 yj 1 (j D 1; : : : ; n) die j -te Spalte von A wählt. Definition 2.8.4 (gemischte Strategien, reine Strategien). Vektoren x D .x1 ; : : : ; xm /> 2 Rm ; y D .y1 ; : : : ; yn /> 2 Rn mit m X i D1
xi D 1; x 0Rm
und
n X j D1
yj D 1; y 0Rn
115
Abschnitt 2.8 Matrixspiele und lineare Optimierung
heißen (gemischte) Strategien des Spielers X bzw. Y . Die Mengen aller gemischten Strategien von X und Y sind definiert als m ° ± X xj D 1 ; SX WD x 2 Rm W x 0Rm ; j D1 n ° ± X SY WD y 2 Rn W y 0Rn ; yj D 1 : j D1
Die Strategien e i 2 Rm (i D 1; : : : ; m) für den Zeilenspieler und e j 2 Rn (j D 1; : : : ; n) für den Spaltenspieler heißen reine Strategien für den Zeilen- bzw. Spaltenspieler, wobei e i und e j den i-ten bzw. j -ten Einheitsvektor bezeichnen. Die Mengen SX und SY sind offenbar konvex und kompakt. Darüber hinaus lässt sich jede Strategie als Konvexkombination von reinen Strategien darstellen. Diese definieren gerade die Eckpunkte von SX und SY , welche Standardsimplizes im Rm bzw. im Rn darstellen. Da die beiden Spieler ihre Entscheidungen gemäß einer Wahrscheinlichkeitsverteilung treffen, ist es sinnvoll, die erwartete Auszahlung f .x; y/ an Spieler X zu ermitteln, wenn Spieler X die Strategie x und Spieler Y die Strategie y wählt: f .x; y/ D
m X i D1
xi .
n X
aij yj / D
j D1
n X
yj
m X
j D1
aij xi D x > Ay:
i D1
Spieler X möchte den erwarteten Gewinn maximieren, wobei allerdings die Strategien des Spielers Y zu berücksichtigen sind. Analog zu (2.8) muss X das folgende Problem lösen: max . min x > Ay/:
x2SX y2SY
Entsprechend zu (2.9) muss Spieler Y das folgende Problem lösen: min . max x > Ay/:
y2SY x2SX
Da SX und SY kompakt sind, sind die Ausdrücke wohldefiniert. Definition 2.8.5. Die Strategie x 2 SX heißt optimal für den Zeilenspieler, wenn min .x /> Ay D max . min x > Ay/ DW u
y2SY
x2SX y2SY
gilt. Die Zahl u heißt Spielwert des Zeilenspielers.
116
Kapitel 2 Lineare Optimierung
Die Strategie y 2 SY heißt optimal für den Spaltenspieler, wenn max x > Ay D min . max x > Ay/ DW v y2SY x2SX
x2SX
gilt. Die Zahl v heißt Spielwert des Spaltenspielers. Das Spiel heißt gerecht (fair), wenn u D v D 0 gilt. Zunächst untersuchen wir, wie optimale Strategien berechnet werden können, und verwenden dazu folgenden Hilfssatz 2.8.6. Für jede Strategie y D .y1 ; : : : ; yn /> 2 SY gilt max x > Ay D
x2SX
n X
max
i D1;:::;m
aij yj :
j D1
Für jede Strategie x D .x1 ; : : : ; xm /> 2 SX gilt min x > Ay D
y2SY
m X
min
j D1;:::;n
aij xi :
i D1
Beweis. Sei i0 2 ¹1; : : : ; mº mit n X
ai0 ;j yj D
j D1
Mit xi 0 und >
Pm
x Ay D
i D1 xi m X i D1
xi
n X
max
i D1;:::;m
aij yj :
j D1
D 1 folgt n X
aij yj
j D1
m X
xi
n X
i D1
ai0 ;j yj D
j D1
n X
ai0 ;j yj
j D1
für alle x 2 SX . Maximierung bezüglich x 2 SX liefert max x > Ay
x2SX
n X
ai0 ;j yj :
j D1
Andererseits gilt für die reine Strategie e i0 2 SX die Ungleichung max x > Ay .e i0 /> Ay D
x2SX
n X
ai0 ;j yj :
j D1
Insgesamt folgt die erste Behauptung. Die zweite Behauptung zeigt man analog.
117
Abschnitt 2.8 Matrixspiele und lineare Optimierung
Zur Bestimmung einer optimalen Strategie muss der Zeilenspieler die Zielfunktion fX .x/ WD min x > Ay y2SY
über x 2 SX maximieren. Nach Hilfssatz 2.8.6 gilt für jedes x 2 SX die Beziehung fX .x/ D min x > Ay D y2SY
min
j D1;:::;n
m X
aij xi ;
i D1
so dass der Zeilenspieler das folgende Optimierungsproblem lösen muss: max
m X
min
x2SX j D1;:::;n
aij xi :
i D1
Dieses Optimierungsproblem lässt sich wie folgt als lineares Optimierungsproblem schreiben. Satz 2.8.7 (optimale Strategie des Zeilenspielers). Zur Bestimmung einer optimalen Strategie muss der Zeilenspieler X das folgende lineare Optimierungsproblem lösen: Maximiere u unter den Nebenbedingungen m X
aij xi u
.j D 1; : : : ; n/;
i D1 m X
xi D 1;
i D1
xi 0
.i D 1; : : : ; m/ Š
Mit e D .1; : : : ; 1/> 2 Rn lautet dieses Problem in Kurzform Maximiere
u u. d. N.
A> x ue; x 2 SX Š
Zur Bestimmung einer optimalen Strategie muss der Spaltenspieler die Zielfunktion fY .y/ WD max x > Ay x2SX
über y 2 SY minimieren. Nach Hilfssatz 2.8.6 gilt für jedes y 2 SY die Beziehung fY .y/ D max x > Ay D x2SX
max
i D1;:::;m
n X j D1
aij yj ;
118
Kapitel 2 Lineare Optimierung
so dass der Spaltenspieler das folgende Optimierungsproblem lösen muss: min
max
n X
y2SY i D1;:::;m
aij yj :
j D1
Dieses Optimierungsproblem lässt sich wieder als lineares Optimierungsproblem schreiben. Satz 2.8.8 (optimale Strategie des Spaltenspielers). Zur Bestimmung einer optimalen Strategie muss der Spaltenspieler Y das folgende lineare Optimierungsproblem lösen: Minimiere v unter den Nebenbedingungen n X
aij yj v
.i D 1; : : : ; m/;
j D1 n X
yj D 1;
j D1
yj 0
.j D 1; : : : ; n/ Š
Mit e D .1; : : : ; 1/> 2 Rm lautet dieses Problem in Kurzform Minimiere
v
u. d. N. Ay ve; y 2 SY Š
Beispiel 2.8.9. Gegeben sei das Matrixspiel mit der Auszahlungsmatrix 0 1 1 0 1 1 A D @ 0 1 1 1 A : 1 1 0 0 Man überprüft leicht, dass A keinen Sattelpunkt enthält. Das lineare Optimierungsproblem des Zeilenspielers aus Satz 2.8.7 lautet Maximiere u. d. N.
u x3 u;
x1
x2 x3 u; x1 C x2
u;
x1 x2
u;
x1 C x2 C x3 D 1; x1 ; x2 ; x3 0 Š
119
Abschnitt 2.8 Matrixspiele und lineare Optimierung
Dieses lineare Optimierungsproblem besitzt die Lösung 1 ; x3 D 0; u D 0: 2 Der Zeilenspieler wählt also jeweils mit Wahrscheinlichkeit 1=2 die erste bzw. zweite Zeile. Das lineare Optimierungsproblem des Spaltenspielers aus Satz 2.8.8 lautet x1 D x2 D
v
Minimiere u. d. N.
y3 C y4 v;
y1
y2 C y3 y4 v; y1 y2
v;
y1 C y2 C y3 C y4 D 1; y1 ; y2 ; y3 ; y4 0 Š Dieses lineare Optimierungsproblem besitzt die Lösung 1 ; v D 0: 2 Der Spaltenspieler wählt also jeweils mit Wahrscheinlichkeit 1=2 die dritte bzw. vierte Spalte. Wegen u D v D 0 ist dieses Spiel fair. y1 D y2 D 0;
y3 D y4 D
Die linearen Optimierungsprobleme in Satz 2.8.7 und Satz 2.8.8 sind dual zueinander, vgl. Übung 2.9.30. Dies erlaubt eine spieltheoretische Interpretation der Dualität, in der der Gegenspieler als dualer Spieler zum primalen Spieler aufgefasst wird, und führt direkt zum Hauptsatz für Matrixspiele. Satz 2.8.10 (Hauptsatz der Matrixspiele). Es existieren optimale Strategien x 2 SX und y 2 SY , und es gilt max . min x > Ay/ D min . max x > Ay/ D .x /> Ay :
x2SX y2SY
y2SY x2SX
Beweis. Die Existenz optimaler Strategien folgt mit den Sätzen 2.8.7 und 2.8.8, da die darin definierten linearen Optimierungsprobleme auf Grund der Kompaktheit ihrer zulässigen Bereiche und der Stetigkeit ihrer linearen Zielfunktionen stets eine Lösung besitzen (Satz von Weierstraß). Seien also x und y optimale Strategien für den Zeilen- bzw. Spaltenspieler. Dann ist u WD min .x /> Ay D max . min x > Ay/; y2SY
x2SX y2SY
>
v WD max x Ay D min . max x > Ay/; x2SX
y2SY x2SX
120
Kapitel 2 Lineare Optimierung
wobei u und v die optimalen Zielfunktionswerte in den linearen Optimierungsproblemen aus den Sätzen 2.8.7 und 2.8.8 bezeichnen. Nach dem starken Dualitätssatz gilt u D v . Die letzte Beziehung folgt aus max x > Ay .x /> Ay min .x /> Ay: y2SY
x2SX
Wir zeigen noch, dass die optimalen Strategien einen Sattelpunkt der Erwartungswerte definieren. Satz 2.8.11 (Sattelpunktsatz). x 2 SX und y 2 SY sind genau dann optimale Strategien für den Zeilen- bzw. Spaltenspieler, wenn x > Ay .x /> Ay .x /> Ay für alle x 2 SX und y 2 SY gilt. Beweis. a) Für optimale Strategien x und y folgt aus dem Hauptsatz der Matrixspiele x > Ay max x > Ay D .x /> Ay D min .x /> Ay .x /> Ay y2SY
x2SX
für alle x 2 SX und y 2 SY . b) Sei x 2 SX und y 2 SY mit x > Ay .x /> Ay .x /> Ay
für alle x 2 SX ; y 2 SY :
Es ist also .x /> Ay D min .x /> Ay DW fX .x / y2SY
und .x /> Ay D max x > Ay DW fY .y /: x2SX
Daher ist y ; v WD fY .y / zulässig für das Minimierungsproblem 2.8.8 und x ; u WD fX .x / zulässig für das Dualproblem 2.8.7, und die Zielfunktionswerte sind gleich. Nach dem schwachen Dualitätssatz sind y und x optimal.
2.9
Aufgaben
Aufgabe 2.9.1. Zeigen Sie: Der zulässige Bereich eines linearen Optimierungsproblems ist konvex.
121
Abschnitt 2.9 Aufgaben
Aufgabe 2.9.2. Lösen Sie das folgende lineare Programm und berechnen Sie die Menge aller optimalen Lösungen: Maximiere x1 C x2 unter den Nebenbedingungen x1 C x2 C x3 3;
x1 x2 1;
5x1 5;
x2 ; x3 0 Š
Aufgabe 2.9.3. Lösen Sie das folgende lineare Programm graphisch in Abhängigkeit von p 2 R und geben Sie die Lösung(en) an: Maximiere x1 C 3x2 unter den Nebenbedingungen x1 C x2 2;
x1 C 3x2 p;
x1 ; x2 0 Š
Skizzieren Sie die Maximalwertfunktion w.p/ WD max¹x1 C 3x2 W x1 C x2 2; x1 C 3x2 p; x1 ; x2 0º für p 2 R. Aufgabe 2.9.4. Sei A 2 Rmn , M D ¹x 2 Rn W Ax b; x 0Rn º und ³ ² x nCm MO D 2R W Ax C y D b; x 0Rn ; y 0Rm : y x Dann ist x 2 M genau dann Eckpunkt von M , wenn bAx Eckpunkt von MO ist. Aufgabe 2.9.5. Sei M D ¹x 2 Rn W Ax D b; x 0Rn º nichtleer, Rang.A/ D m und x 2 M ein Punkt mit minimaler Anzahl positiver Komponenten. Dann ist x ein Eckpunkt von M . Aufgabe 2.9.6. Definieren Sie die lexikographische Ordnung durch xy
def
”
Für die erste Komponente xi0 von x D .x1 ; : : : ; xn /> 2 Rn , die ungleich der entsprechenden Komponente yi0 von y D .y1 ; : : : ; yn /> 2 Rn ausfällt, gilt xi0 < yi0 .
Zeigen Sie, dass die lexikographische Ordnung auf dem Rn eine Totalordnung ist. Skizzieren Sie den zugehörigen nichtnegativen Kegel im R3 .
122
Kapitel 2 Lineare Optimierung
Aufgabe 2.9.7. Betrachten Sie die zwei Polynome vom Grad n über R p.x/ D
n X
ai x
i
und
q.x/ D
i D0
n X
bi x i :
i D0
Zeigen Sie: Genau dann gibt es ein > 0 mit p.x/ < q.x/ für 0 < x , wenn der Koeffizientenvektor a D .a0 ; a1 ; : : : ; an /> lexikographisch kleiner ist als b D .b0 ; b1 ; : : : ; bn /> . Die lexikographische Ordnung ist gemäß Aufgabe 2.9.6 definiert. Aufgabe 2.9.8. Seien A 2 Rmn , Rang.A/ D m, c 2 Rn und b 2 Rm gegeben. Betrachten Sie das lineare Programm in primaler Normalform: (P) Minimiere
c>x
u. d. N. Ax D b; x 0Rn !
Schreiben Sie ein Programm, welches (P) mit dem Simplexverfahren löst. In Phase I soll das Programm eine zulässige Basislösung berechnen. In Phase II soll dann die optimale Lösung des linearen Programms (P) berechnet werden. Testen Sie Ihr Programm an folgenden Beispielen: Minimiere 2x1 C 4x2 C 5x3 (a) u. d. N.
3x1 C 6x2 C x3 40; 2x1 C x2 C 3x3 30; x1 C
4x3 20;
x1 ; x2 ; x3 0 Š Zum Vergleich: Die optimale Lösung ist x1 D 140=11, x3 D 20=11, x5 D 10=11, x2 D x4 D x6 D 0. (b) Eine Öl-Raffinerie möchte aus Rohöl verschiedene Produkte herstellen und dabei die Produktionskosten z.x/ D 16:5x1 C 5:25x3 C 5:25x4 C 3x13 ;
x 2 R16
minimieren. Dabei sind folgende Restriktionen zu beachten: – Höchstgrenze für Rohöl: x1 750 000 – Massenbilanz der Komponenten: 0:178x1 x2 x3
D0
0:048x1 x4 x5 x6 D 0 0:069x1 x7 x8 x9 D 0 0:184x1 x10 x11 x12 D 0 0:241x1 x13 x14
D0
0:266x1 x15 x16
D0
123
Abschnitt 2.9 Aufgaben
– Produktionsanforderungen: x2 C 0:865x3 C 0:85x4 C 0:373x13 D 124 400 x5 C x7 C x10 D 18 800 x8 C x11 C x16 D 90 700 x6 C x9 C x12 C 0:331x13 C x14 C x15 D 291 600 – Qualitätsanforderungen: 15x2 6:75x3 8:5x4 5:97x13 0 10x8 C 10x11 90x16 0 25:7x6 25:7x9 16:1x12 4:4x13 5:1x14 0 Aufgabe 2.9.9. Eine Fabrik stellt vier Produkte P1 , P2 , P3 und P4 her. Der Gewinn der Produkte pro Einheit beläuft sich auf 4, 5, 9 bzw. 11 Geldeinheiten. Zur Produktion sind drei Betriebsmittel B1 , B2 und B3 erforderlich, von denen je 15, 120 bzw. 100 Einheiten vorrätig sind. Der Bedarf an den Betriebsmitteln für die Herstellung einer Einheit der Produkte ergibt sich aus der folgenden Tabelle: P1 P2 P3 P4 B1 1 B2 7 B3 3
1 1 1 5 3 2 5 10 15
(a) Wie groß ist der maximale Gewinn, der mit den vorhandenen Betriebsmitteln erzielt werden kann? (b) Welcher Mindestpreis pro Einheit (Schattenpreis) muss beim Verkauf von Betriebsmitteln erzielt werden, damit der durch die geringere Produktion entstandene Verlust noch ausgeglichen wird? Aufgabe 2.9.10. Formulieren Sie die folgenden linearen Optimierungsprobleme in der primalen Normalform Minimiere
c>x
u. d. N.
Ax D b; x 0Rn !
Geben Sie jeweils c; A; b; x an. Minimiere 3x1 C 2x2 (a) u. d. N.
x1 C 2x2 12; 2x1 C 3x2 D 12; 2x1 C x2 8; x1 0; x2 0 Š
124
Kapitel 2 Lineare Optimierung
Minimiere x1 C x2
(b)
u. d. N.
1 x1 4; 2 2x2 12; 3x1 C 2x2 18 Š
Aufgabe 2.9.11. Lösen Sie die folgenden Aufgaben mit dem primalen Simplexverfahren. Bestimmen Sie gegebenenfalls zunächst eine zulässige Basislösung. Minimiere 2x1 C 3x2
(a)
u. d. N.
2x1 C x2 4; x1 x2 1; x1 0; x2 0 Š
Minimiere x1
(b)
u. d. N.
2x1 C x2 1; x2 5; x1 0; x2 0 Š
(c)
Minimiere x1 2x2 4x3 8x4 16x5 u. d. N.
x1 C 2x2 C 3x3 C 4x4 C 5x5 2; 7x1 C 5x2 3x3 2x4 0; x1 ; x2 ; x3 ; x4 ; x5 0 Š
Aufgabe 2.9.12. Lösen Sie das folgende lineare Optimierungsproblem mit der Simplexmethode: Maximiere 2x1 C 5x2 u. d. N.
x1 C 4x2 24 3x1 C x2 21 x1 C x2 9;
x1 ; x2 0 Š
Skizzieren Sie den zulässigen Bereich und jede in den Simplextableaus berechnete Basislösung (Ecke) in der .x1 ; x2 /-Ebene. Aufgabe 2.9.13. Es sei die Menge M D ¹x 2 R5 W Ax D b; x 0R5 º
125
Abschnitt 2.9 Aufgaben
gegeben, wobei 0
1 0 2 1 0
B ADB @3 2 0 1
0
C 0C A;
3 5 0 0 1
0
1 12
B C C bDB @ 18 A 50
bezeichne. Ist die Menge M leer? Verwenden Sie einen geeigneten Algorithmus, um ihre Antwort zu begründen. Aufgabe 2.9.14. Schreiben Sie die dualen Probleme für folgende lineare Programme auf: (a)
Minimiere 2x1 x2 u. d. N.
x1 C x2 1; x1 C x2 3; x1 2x2 4; x1 0; x2 0 Š
(b)
Minimiere x1 x2 u. d. N.
2x1 C x2 4; x1 C x2 1; x1 C 2x2 3; x1 0; x2 0 Š
(c)
Minimiere 4x1 C x2 2x3 u. d. N.
x1 C x2 5; 2x1 C x2 7; 2x2 C x3 6; x1 C x3 D 4; x1 0 Š
(d)
Minimiere 4x1 C 2x2 x3 u. d. N.
x1 C 2x2 6; x1 x2 C 2x3 D 8; x1 0; x2 0 Š
126
Kapitel 2 Lineare Optimierung
Aufgabe 2.9.15. Gegeben sei das lineare Programm in primaler Normalform Minimiere x1 2x2 4x3 8x4 16x5 u. d. N.
x1 C 2x2 C 3x3 C 4x4 C 5x5 C x6 D 2; 7x1 C 5x2 3x3 2x4 C x7 D 0; x1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 0 Š
(a) Formulieren Sie das duale Problem hierzu. (b) Eine Lösung des primalen Problems ist gegeben durch 2 x D .x1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 / D 0; 0; 0; 0; ; 0; 0 ; 5
c>x D
32 : 5
Berechnen Sie mit Hilfe der Complementary Slackness Condition eine Lösung des dualen Problems. Ist sie eindeutig bestimmt? 28 (c) Eine Lösung des dualen Problems lautet 1 D 16 5 und 2 D 15 . Berechnen Sie mit Hilfe der Complementary Slackness Condition eine Lösung des primalen Problems.
Aufgabe 2.9.16. Seien ı1 ; ı2 2 R Parameter im linearen Programm Minimiere x1 C 2x2 u. d. N.
x3
x1 C 3x2
x3 C x4
x1 C x2 C 2x3
D 4 C ı1 ; C x5 D 2 C ı2 ;
x1 ; x2 ; x3 ; x4 ; x5 0 Š
Durch das folgende Simplextableau ist eine optimale Lösung des ungestörten Problems (d. h. für ı1 D ı2 D 0) gegeben: 4
2
5
1
2
7
1
10
3
1
4
1
6
3
13
2
16
(a) Formulieren Sie das duale Problem für ı1 D ı2 D 0 und bestimmen Sie eine duale Lösung, ohne das duale Problem explizit zu lösen. (b) Berechnen Sie eine optimale Lösung des gestörten Problems, wobei die Störungen ı D .ı1 ; ı2 / nahe genug bei .0; 0/ liegen sollen. (c) Skizzieren Sie die Werte von ı1 und ı2 aus (b), für die die Lösung, die Sie in (b) erhalten haben, optimal bleibt.
127
Abschnitt 2.9 Aufgaben
(d) Wie ändert sich der optimale Wert der Zielfunktion für die Parameter ı1 D 1 und ı2 D 2? Können Sie den optimalen Wert der Zielfunktion für die Parameter ı1 D 0 und ı2 D 7 vorhersagen? Aufgabe 2.9.17. Sei J D ¹i1 ; : : : ; il1 ; r; i`C1 ; : : : ; im º mit 1 ` m Basisindexmenge und w D .AJ /1 as mit s 2 J c die aktuelle Pivotspalte mit Pivotelement w` 6D 0. Darin ist as die s-te Spalte von A. Es bezeichne e` den `-ten Einheitsvektor. Zeigen Sie: (a) .E C .x e` /e`> /1 D E .x e` /e`> =x` mit x` 6D 0. C
(b) AJ D AJ C .as ar /e`> mit J C D ¹i1 ; : : : ; i`1 ; s; i`C1 ; : : : ; im º. C
(c) .AJ /1 D .E .w e` /e`> =w` /.AJ /1 . Aufgabe 2.9.18. Sei A 2 Rnn die Auszahlungsmatrix eines Matrixspiels. Zeigen Sie: Ist das Spiel symmetrisch, d. h. es gilt A D A> , so ist der Spielwert gleich null. Aufgabe 2.9.19. Gegeben seien die Daten A 2 Rmn , b D .b1 ; : : : ; bm /> 2 Rm , c 2 Rn und das Problem Maximiere
c>x
Ax b; x 0Rn Š
u. d. N.
Falls es ein bi < 0 gibt, kann eine zulässige Basislösung nicht direkt abgelesen werden (die Schlupfvariable s D b ist wegen si D bi < 0 nicht zulässig). Zur Berechnung einer zulässigen Basislösung kann das folgende Ersatzproblem mit e D .1; : : : ; 1/> 2 Rm verwendet werden: Minimiere x0 u. d. N. Ax x0 e b;
x 0Rn ; x0 0 Š
Dazu wird folgendermaßen vorgegangen: Im (unzulässigen) Starttableau x1
xn
x0
s1 :: :
a11 :: :
:: :
a1n :: :
1 :: :
b1 :: :
sp :: :
ap1 :: :
:: :
apn :: :
1 :: :
bp :: :
sm
am1
amn
1
bm
0
0
1
0
wird zuerst die zu x0 gehörende Spalte als Pivotspalte gewählt. Anschließend wird ein C /> Basiswechsel derart durchgeführt, dass die neue Basislösung b C D .b1C ; : : : ; bm
128
Kapitel 2 Lineare Optimierung
zulässig ist (Eine Bedingung, die dieses garantiert, soll in Aufgabenteil (a) formuliert werden.). Nach diesem Basiswechsel ist x0 Basisvariable, und das zugehörige Tableau ist zulässig, so dass das Hilfsproblem mit dem üblichen Simplexverfahren gelöst werden kann. Genau dann ist x0 D 0 optimal für das Ersatzproblem, wenn das Ausgangsproblem eine zulässige Basislösung besitzt. (a) Formulieren Sie eine Auswahlregel für das Pivotelement bp , so dass nach einem Schritt eine zulässige Basislösung b C 0Rm berechnet ist. (b) Bestimmen Sie mit dem Verfahren eine zulässige Basislösung für das lineare Optimierungsproblem Maximiere
3x1 x2 3x1 2x2 3
u. d. N.
5x1 4x2 10; 2x1 C x2 5;
x1 ; x2 0 Š
Aufgabe 2.9.20. Gegeben sei das lineare Optimierungsproblem Maximiere
x1 C x2 C x3
u. d. N.
x 1 C x2 C x3 8 x1 C x2 x3 4; 3;
x1 x2
3; x3 4;
x1 ; x2 ; x3 0 Š
Berechnen Sie ausgehend von der zulässigen und optimalen Basislösung (Ecke) .x1 ; x2 ; x3 / D .1; 3; 4/ alle Lösungen des linearen Optimierungsproblems. Aufgabe 2.9.21. Gegeben sei das lineare Optimierungsproblem Maximiere c > x u. d. N.
Ax 0Rm ;
x 0Rn Š
Zeigen Sie: Entweder ist x D 0Rn optimal, oder die Aufgabe ist unbeschränkt und damit nicht lösbar. Aufgabe 2.9.22. (a) Sei A 2 Rmn , b 2 Rm . Zeigen Sie, dass die Optimierungsaufgabe Minimiere
kAx bk1
bezüglich
x 2 Rn Š
129
Abschnitt 2.9 Aufgaben
äquivalent ist zu (LP) Minimiere
ı
u. d. N.
ıe Ax b ıe;
ı0Š
Darin seien e D .1; : : : ; 1/> und kzk1 D max1im jzi j. (b) Formulieren Sie das zu (LP) duale Problem. (c) Lösen Sie das primale Problem (LP) aus (a) und das duale Problem aus (b) für das zu den Messdaten ti yi
0.000 0.841471
1.000 1.909297
2.000 2.141120
3.000 2.243198
4.000 1.041076
ti yi
6.000 6.656987
7.000 7.989358
8.000 9.412118
9.000 8.455979
10.000 9.000010
kAx bk1
bezüglich
x 2 Rn Š
5.000 4.720585
gehörende Ausgleichsproblem Minimiere
Verwenden Sie die Ansatzfunktion y.t / D ˛ C ˇt: Aufgabe 2.9.23 (vgl. [119, S. 41]). Bestimmen Sie Werte x1 , x2 und x3 , für die der minimale Wert von x1 , x2 und x3 maximal wird unter den Nebenbedingungen x1 C 2x2 C x3 16; 4x1 C x2 C 3x3 30; x1 C 4x2 C 5x3 40: Aufgabe 2.9.24 (vgl. [168]). Zwei konkurrierende Fernsehsender planen das Fernsehprogramm für den Sendeplatz zwischen 20.00 Uhr und 22.00 Uhr für die nächsten zwei Wochen. Erfahrungsgemäß sitzen zu diesem Zeitpunkt 10 Millionen Zuschauer vor dem Fernseher und haben einen der beiden Sender eingeschaltet. Jeder Sender möchte möglichst viele der 10 Millionen Zuschauer für das eigene Programm begeistern, da proportional mit der Anzahl der Zuschauer auch die Werbeeinnahmen steigen bzw. fallen. Sender A hat Western, Action-Filme oder Seifenopern zur Auswahl. Sender B stehen Quiz-Shows, Krimis und Reportagen zur Verfügung. Aus Meinungsumfragen ergeben sich die in der folgenden Tabelle angegebenen Zuschauerzahlen für die jeweiligen Kombinationen, wobei ein Eintrag die Zuschauerzahl in Millionen für Sender 1 angibt.
130
Kapitel 2 Lineare Optimierung
Western Action-Film Seifenoper
Quiz-Show
Krimi
Reportage
3.5 4.5 3.8
1.5 5.8 1.4
6 5 7
(a) Berechnen Sie den Wert des Spiels und interpretieren Sie dessen Bedeutung für die Sender. (b) Angenommen, Sender 1 gibt seine Strategie x D .0:3; 0:2; 0:5/> frühzeitig bekannt. Wie lautet dafür die optimale Strategie von Sender 2? Um wieviel verbessert sich das Ergebnis für Sender 2? Aufgabe 2.9.25. Beweisen Sie das Lemma von Farkas: Es existiert x 0Rn mit Ax D b genau dann, wenn aus A> y 0Rn folgt, dass b > y 0 gilt. Aufgabe 2.9.26. Zu den Daten A 2 Rmn , Rang.A/ D m, c 2 Rn , b 2 Rm sei das lineare Programm in primaler Normalform gegeben: (P)
Minimiere
c>x
u. d. N.
Ax D b; x 0Rn Š
Schreiben Sie ein Programm, welches (P) mit dem revidierten Simplexverfahren löst. In Phase I soll das Programm eine zulässige Basislösung berechnen. In Phase II soll dann die optimale Lösung des linearen Programms (P) berechnet werden. Testen Sie Ihr Programm an den folgenden linearen Transportproblemen: (a) Die Kostenmatrix C 2 R34 und die Kapazitäten a 2 R3 und b 2 R4 sind durch 0 1 1 0 0 1 2 4 2 3 4 1 B4C C C D @ 5 4 2 3 A; a D @ 7 A; b D B @6A 4 4 2 8 6 3 gegeben. (b) Eine Firma, die eine Ware herstellt und vertreibt, hat vier Herstellungsbetriebe A, B, C , D und drei Verkaufsstellen a, b, c. Die täglich in den Betrieben hergestellten bzw. bei den Verkaufsstellen benötigten Mengen (Gewicht in Tonnen) sind: A B C D
a b c
1 6 3 4
5 3 6
131
Abschnitt 2.9 Aufgaben
Insgesamt werden also täglich 14 Tonnen erzeugt und bei den Verkaufsstellen benötigt. Durch den Transport der Ware zwischen den Betrieben und den Verkaufsstellen entstehen Kosten (Kosten in Euro pro beförderte Tonne), die aus der folgenden Tabelle zu entnehmen sind: a b c A B C D
40 30 60 80
20 50 20 10
10 30 30 40
Wie ist die Verteilung der Ware von den Betrieben auf die Verkaufsstellen vorzunehmen, damit die gesamten Beförderungskosten möglichst gering werden? Aufgabe 2.9.27 (vgl. [168]). Eine Elektronikfirma produziert zwei Typen von MP3Spielern. Die einzige knappe Ressource, die für die Produktion benötigt wird, ist Arbeitszeit. Die Firma hat zwei Arbeiter. Arbeiter 1 kann bis zu 40 Stunden pro Woche arbeiten und bekommt 5 Euro pro Stunde. Arbeiter 2 kann bis zu 50 Stunden pro Woche arbeiten und bekommt 6 Euro pro Stunde. Der Preis für Modell 1 des MP3Spielers beträgt 25 Euro und 22 Euro für den MP3-Spieler des Typs 2. Die Produktion eines MP3-Spielers vom Typ 1 benötigt 1 Stunde Arbeitszeit von Arbeiter 1, 2 Stunden Arbeitszeit von Arbeiter 2 und 5 Euro Arbeitsmaterial. Die Produktion eines MP3-Spielers vom Typ 2 benötigt 2 Stunden Arbeitszeit von Arbeiter 1, 1 Stunde Arbeitszeit von Arbeiter 2 und 4 Euro Arbeitsmaterial. Es bezeichne xi , i D 1; 2, die pro Woche produzierte Anzahl der MP3-Spieler vom Typ i. Die Firma sollte das folgende lineare Optimierungsproblem lösen, um den Gewinn zu maximieren: Maximiere 3x1 C 2x2 u. d. N.
x1 C 2x2 40; 2x1 C x2 50; x1 0; x2 0 Š
(a) Lösen Sie das lineare Optimierungsproblem mit dem Simplexverfahren. Ist die Lösung entartet? (b) Berechnen Sie den Schattenpreis q. (c) Die Firma beabsichtigt, die wöchentliche Arbeitszeit zu ändern. Beurteilen Sie an Hand des Schattenpreises, wie sich der Gewinn dadurch ändern wird, wenn (i) die wöchentliche Arbeitszeit des Arbeiters 1 (leicht) erhöht bzw. verringert wird, während die Arbeitszeit des Arbeiters 2 unverändert bleibt.
132
Kapitel 2 Lineare Optimierung
(ii) die wöchentliche Arbeitszeit des Arbeiters 2 (leicht) erhöht bzw. verringert wird, während die Arbeitszeit des Arbeiters 1 unverändert bleibt. (iii) die wöchentliche Arbeitszeit des Arbeiters 1 (leicht) verringert wird, während die Arbeitszeit des Arbeiters 2 (leicht) um die gleiche Zeit erhöht wird und umgekehrt. (iv) die wöchentlichen Arbeitszeiten beider Arbeiter (leicht) um denselben Anteil erhöht bzw. verringert werden. Welche Entscheidung soll die Firma auf Grund dieser Untersuchungen treffen? (d) Angenommen Arbeiter 2 möchte bis zu 60 Stunden pro Woche arbeiten. Kann der Sensitivitätssatz angewendet werden, um die zugehörige optimale Lösung vorauszusagen? (e) Bestimmen Sie ein maximales Intervall für Änderungen der wöchentlichen Arbeitszeit des Arbeiters 2, so dass der Sensitivitätssatz anwendbar ist. Geben Sie für dieses Intervall die optimalen Lösungen an. Aufgabe 2.9.28. Betrachten Sie das lineare Optimierungsproblem Minimiere 2x3 C x4 u. d. N.
x1 C 3x3 C x4 D 1; x2 x3 C 5x4 D 2; 2x3 6x4 C x5 D 1; x1 ; x2 ; x3 ; x4 ; x5 0 Š
Lösen Sie das Problem mit dem dualen Simplexverfahren. Verwenden Sie J D ¹1; 2; 5º als Startbasisindexmenge. Aufgabe 2.9.29. Gegeben sei das folgende parametrische lineare Optimierungsproblem: Minimiere 3x1 x2 C 5x3 u. d. N.
x1 C x2
C x4
2x1 C x2 3x3
D 5 C ı; C x5 D 12;
x1 ; x2 ; x3 ; x4 ; x5 0 Š
Hierin beschreibt ı 2 R einen Parameter. (a) Berechnen Sie eine optimale Lösung x.ı/ des gestörten Problems für Parameterwerte ı, die hinreichend nahe bei 0 liegen. Für welchen Bereich von ı bleibt die Lösung optimal?
133
Abschnitt 2.9 Aufgaben
(b) Sei ı D 0. Die Restriktion x1 2x2 5x3 C x6 D 12;
x6 0;
soll zum linearen Optimierungsproblem hinzugefügt werden. Bestimmen Sie ein Tableau, welches durch die Basisindexmenge J D ¹2; 5; 6º definiert ist, und wenden Sie einen Schritt der dualen Simplexmethode an. Entscheiden Sie, ob das resultierende Tableau optimal ist oder nicht. Aufgabe 2.9.30. Zeigen Sie, dass die linearen Optimierungsprobleme in Satz 2.8.7 und Satz 2.8.8 dual zueinander sind. Aufgabe 2.9.31. Zwei Spieler X und Y strecken gleichzeitig einen oder zwei Finger aus und geben eine Schätzung bekannt, wie groß die Summe der ausgestreckten Finger sein wird. Falls ein Spieler richtig und der andere falsch geschätzt hat, bekommt derjenige mit der richtigen Schätzung die Summe der ausgestreckten Finger gutgeschrieben. Andernfalls liegt ein Unentschieden vor, und keiner der Spieler bekommt eine Gutschrift. (a) Geben Sie die Auszahlungsmatrix an. (b) Listen Sie sämtliche reinen Strategien mit den entsprechenden Auszahlungen auf. (c) Berechnen Sie den Wert des Spiels. (d) Der zweite Spieler entscheidet sich, mit der Strategie y D .0:3; 0:3; 0:4/> zu spielen. Bestimmen Sie hierfür die optimale Strategie des ersten Spielers. Aufgabe 2.9.32. Betrachten Sie für gegebene Daten c; `; u 2 Rn , b 2 Rm , A 2 Rmn das folgende lineare Optimierungsproblem: Minimiere c>x unter den Nebenbedingungen x 2 Rn , Ax D b und `x uŠ Formulieren Sie ein konzeptionelles Simplexverfahren, welches die Struktur der Kapazitätsschranken ` x u direkt ausnutzt, ohne das Problem zunächst auf primale oder duale Normalform zu transformieren.
134
Kapitel 2 Lineare Optimierung
Berücksichtigen Sie den Fall, dass einige Komponenten von ` und u formal gleich 1 bzw. C1 sein können. Hinweis: Problemstellungen dieser Art treten später im Kapitel über Netzwerkflussprobleme auf. Aufgabe 2.9.33. Gegeben sei das Problem der diskreten, linearen Tschebyschew Approximation: Zu Messdaten .tj ; fj / 2 R2 (j D 1; : : : ; n) mit tj 6D tk für j 6D k und Ansatzfunktionen 'i W R ! R (i D 1; : : : ; m) bestimme y 2 Rm so, dass die maximale Abweichung m ˇ ˇ X ˇ ˇ yi 'i .tj /ˇ I.y/ WD max ˇfj 1j n
i D1
minimal wird. Formulieren Sie dieses Problem als lineares Optimierungsproblem und stellen Sie das zugehörige duale Problem auf. Warum ist es für n m günstiger, das duale Problem zu lösen?
Kapitel 3
Ganzzahlige Optimierung
Im vorigen Kapitel wurden Optimierungsprobleme mit linearer Zielfunktion, linearen Nebenbedingungen und reellen Entscheidungsvariablen behandelt. In diesem Kapitel wollen wir auch ganzzahlige Entscheidungsvariablen zulassen. Mit ganzzahligen Variablen lassen sich Wahrheitswerte, Alternativen aus endlich vielen Möglichkeiten, Stückzahlen, Personalbedarf und vieles mehr modellieren. In Abschnitt 3.1 stellen wir zusätzlich zu den im einleitenden Kapitel 1 bereits angeführten ganzzahligen Optimierungsproblemen noch die wichtige Klasse der Maschinenbelegungspläne vor. Zudem weisen wir durch ein warnendes Beispiel auf die Problematik der Rundung reeller Optimallösungen auf ganzzahlige Werte hin. Für gewisse Problemklassen (Transportprobleme, Maximalflussprobleme, lineare Netzwerkflussprobleme) ist es allerdings zulässig, die Ganzzahligkeitsforderung zunächst zu unterdrücken und die auf diese Weise relaxierten reellen Probleme zu lösen. Unter gewissen Zusatzvoraussetzungen liefert der verwendete Algorithmus auch wenigstens eine ganzzahlige Optimallösung. Dies ist das Thema des Abschnitts 3.2 über unimodulare Matrizen und, wegen der großen Bedeutung von Netzwerkflussproblemen, auch des folgenden Kapitels 4. Falls diese Voraussetzungen nicht gegeben sind, müssen spezifische Algorithmen für ganzzahlige Optimierungsprobleme entwickelt und angewendet werden. Eine Pionierleistung auf diesem Gebiet ist das Schnittebenenverfahren von Gomory [66, 67, 68], das wir ausführlich in Abschnitt 3.3 behandeln. Unsere Darstellung beruht auf den beiden Büchern [118, 22] und auf der konsequenten Nutzung des lexikographischen Simplexverfahrens in [106] bzw. in den Abschnitten 2.3 und 2.4. Eine sehr beliebte Methode für lineare und nichtlineare Probleme ist die Branch and Bound-Methode, die wir in Abschnitt 3.4 zunächst für lineare Probleme entwickeln, deren eigentlichen Kern wir dann aber auch für nichtlineare Probleme herausschälen. Sehr hilfreich war für uns hierbei das Buch von Neumann und Morlock [123]. In Abschnitt 3.5 wenden wir diese Methode auf ein (kleines) Travelling Salesman-Problem an. Für große Travelling Salesman-Probleme besteht die Herausforderung darin, so genannte starke gültige Ungleichungen (strong valid inequalities) zu finden, das sind Ungleichungen, die in möglichst hochdimensionalen Facetten des durch die ganzzahlige zulässige Menge erzeugten konvexen Polyeders aktiv werden. Ziel ist es, mit solchen Ungleichungen große Teile der reell relaxierten zulässigen Menge abzuschneiden, ohne eine ganzzahlige Optimallösung zu verlieren. Für Vertiefungen in dieser Richtung verweisen wir auf die weiterführende Literatur in [73, 147, 148, 149, 96, 72].
136
3.1
Kapitel 3 Ganzzahlige Optimierung
Beispiele für ganzzahlige Optimierungsprobleme
Gemischt-ganzzahlige Optimierungsprobleme unterscheiden sich von reellen Optimierungsproblemen dadurch, dass neben den üblichen Nebenbedingungen noch Nebenbedingungen des Typs xj 2 Z auftreten. Schreiben wir alle Nebenbedingungen als implizite Nebenbedingungen, so erhalten wir ein Gemischt-ganzzahliges Optimierungsproblem 3.1.1. Gegeben sei die Zielfunktion 0
0
f W Rn Znn ! R und die zulässige Menge 0
0
S Rn Znn : Minimiere f .x/ unter den Nebenbedingungen x2SŠ S wird im Allgemeinen durch Gleichungen und Ungleichungen beschrieben, und verschiedene Beschreibungen von S können verschieden gut brauchbar sein. Ist n0 D 0, so erhalten wir ein ganzzahliges Optimierungsproblem, ist n0 D n, so erhalten wir ein reelles Optimierungsproblem. Sind für xj 2 Z nur Werte aus ¹0; 1º zugelassen, was durch die zusätzlichen expliziten Restriktionen 0 xj 1 erzwungen werden kann, so heißt xj 0-1-Variable oder Boolesche Variable. Ein Optimierungsproblem mit lauter Booleschen Variablen heißt auch kombinatorisches Optimierungsproblem. Eine sehr ausführliche und aktuelle Darstellung der kombinatorischen Optimierung wird in [147, 148, 149, 96] gegeben. Jedes kombinatorische Optimierungsproblem ist damit ganzzahlig, jedes ganzzahlige Optimierungsproblem kann mittels Dualzahldarstellung als kombinatorisches Optimierungsproblem aufgefasst werden. Ganzzahlige bzw. kombinatorische Optimierungsprobleme heißen auch diskrete Optimierungsprobleme, reelle Optimierungsprobleme heißen auch kontinuierliche Optimierungsprobleme.
Abschnitt 3.1 Beispiele für ganzzahlige Optimierungsprobleme
137
Reelle Optimierungsprobleme, die für ganzzahlige Daten auch ganzzahlige Optimallösungen besitzen (Stichworte: Netzwerkflussprobleme, Transportprobleme, maximale Flüsse, unimodulare Matrizen), nehmen eine Zwischenposition ein: Mit den Algorithmen für das reelle Problem können auch Optimallösungen für das ganzzahlige Problem berechnet werden. Im Allgemeinen ist dies nicht mehr möglich, auch die Rundung auf den nächsten ganzzahligen Vektor bzw. ganzzahligen zulässigen Vektor kann zu großen Fehlern führen, wie das folgende Beispiel aus [123] verdeutlicht. Beispiel 3.1.2 (erfolgloses Runden). Betrachte das ganzzahlige lineare Optimierungsproblem: Minimiere 2x1 3x2 unter den Nebenbedingungen x1 C 2x2 8; 2x1 C x2 9; x1 ; x2 0; x1 ; x2 2 Z Š Der zulässige Bereich ist gegeben durch die schwarzen Punkte in der Abbildung 3.1. Die optimale Lösung des ganzzahligen Problems ist durch den Punkt xO D .2; 3/> mit Zielfunktionswert 13 gegeben. Der durch ein Quadrat dargestellte Punkt xO rel D .10=3; 7=3/> mit Zielfunktionswert 13 23 ist die Lösung des reellen linearen Optimierungsproblems, bei dem die Forderung x1 ; x2 2 Z durch x1 ; x2 2 R ersetzt wird.
2x1 C x2 D 9
4
xO
3
xO rel
2
x1 C 2x2 D 8
1 1
2
3
4
2x1 3x2 D 13
Abbildung 3.1. Erfolgloses Runden.
138
Kapitel 3 Ganzzahlige Optimierung
Das resultierende reelle Problem heißt auch Relaxation des ganzzahligen Problems oder relaxiertes ganzzahliges Problem. Der schattierte Bereich beschreibt den zulässigen Bereich des relaxierten Problems. Wird der für das ganzzahlige Problem unzulässige Punkt xO rel auf den nächstgelegenen zulässigen ganzzahligen Punkt gerundet, so resultiert der Punkt x D .3; 2/> mit Zielfunktionswert 12. Dieser Punkt ist jedoch nicht optimal für das ganzzahlige Optimierungsproblem. Naives komponentenweises Runden von nichtganzzahligen Lösungen des relaxierten Problems auf den nächstgelegenen zulässigen ganzzahligen Punkt führt also im Allgemeinen nicht zum Erfolg! Wir haben mit dem Rucksackpackproblem 1.1.8, Standortplanungsproblem 1.1.9, Zuweisungsproblem 1.1.6 und dem Travelling Salesman-Problem 1.1.7 bereits ganzzahlige bzw. kombinatorische Optimierungsprobleme kennen gelernt. Wir betrachten eine weitere wichtige Problemklasse. Maschinenbelegungspläne 3.1.3. Gegeben sei eine Menge I D ¹1; : : : ; mº von Maschinen und eine Menge J von Jobs. Jeder Job muss von jeder Maschine bearbeitet werden, die Bearbeitungszeit ist pij
.i 2 I; j 2 J /:
Jede Maschine kann nur einen Job zur Zeit bearbeiten. Die Reihenfolge der Abarbeitung liegt für jeden Job fest, d. h. Job j muss bearbeitet werden von den Maschinen i1 D j.1/; i2 D j.2/; : : : ; im D j.m/; in dieser Reihenfolge. Als Variablen wählen wir die Anfangszeiten tij des Jobs j auf der Maschine i. Da die .r C 1/-te Bearbeitungsstufe des Jobs j nicht beginnen kann, bevor die r-te abgeschlossen ist, erhalten wir die Nebenbedingungen tj.rC1/;j tj.r/;j C pj.r/;j für r D 1; : : : ; m 1; j 2 J .
(3.1)
Abschnitt 3.1 Beispiele für ganzzahlige Optimierungsprobleme
139
Betrachte jetzt die spezielle Maschine i: Falls Job j dem Job k vorangeht, so ist tik tij C pij ;
(3.2)
falls Job k dem Job j vorangeht, so ist tij tik C pik :
(3.3)
Dies ist eine Nebenbedingung in Form einer Alternative, die in dieser Form bislang noch nicht aufgetreten ist. Sie lässt sich durch einen Trick auf lineare Nebenbedingungen zurückführen, allerdings auf Kosten der Einführung von Booleschen Variablen. Sei !2R eine obere Schranke für tij tik C pij
.für alle i; j; k/:
Dann ist tij tik C pij ! immer erfüllt. Die Bedingung (3.2) ist äquivalent zu tij tik C pij !xij k
(3.4)
mit xij k D 0 oder 1, da sie für xij k D 1 von selbst erfüllt ist. Die Bedingung (3.3) ist äquivalent zu tik tij C pik !.1 xij k /
(3.5)
mit xij k D 0 oder 1, da sie für xij k D 0 von selbst erfüllt ist. Aus der Alternative ist damit eine Konjunktion geworden, und wir erhalten das Problem: Minimiere
X
tj.m/;j
j 2J
unter den Nebenbedingungen (3.1), (3.4), (3.5) und tij 0
.i D 1; : : : ; mI j 2 J /;
xij k 2 ¹0; 1º .i D 1; : : : ; mI j; k 2 J / Š Dies ist ein gemischt-ganzzahliges Optimierungsproblem mit sehr vielen Nebenbedingungen und Entscheidungsvariablen.
140
3.2
Kapitel 3 Ganzzahlige Optimierung
Total unimodulare Matrizen
Gegeben sei das ganzzahlige lineare Optimierungsproblem (engl. integer linear programming problem): (ILP)
Minimiere c>x unter den Nebenbedingungen x 2 Zn und Ax D b;
x 0Rn Š
Dessen reelle Relaxierung (engl. ILP relaxation) ist das folgende reelle lineare Optimierungsproblem: (ILP-Relaxierung)
Minimiere c>x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
Im Allgemeinen wird eine optimale Lösung der ILP-Relaxierung nicht zulässig für (ILP) sein. Da der zulässige Bereich der ILP-Relaxierung jedoch den zulässigen Bereich von (ILP) enthält, gilt die folgende nützliche Eigenschaft: Satz 3.2.1. Sei xO optimale Lösung von (ILP) und xO rel optimale Lösung der ILPRelaxierung. Dann gilt O c > xO rel c > x: Es wird sich jedoch zeigen, dass es eine große Klasse von Problemen gibt, für die optimale Ecken der zulässigen Menge der ILP-Relaxierung automatisch zulässig für (ILP) sind und somit auch Optimallösungen von (ILP) darstellen. Für solche Probleme genügt es also, die ILP-Relaxierung mit dem Simplexverfahren zu lösen. Definition 3.2.2 (unimodulare Matrizen). Eine ganzzahlige Matrix B 2 Znn heißt unimodular, wenn sie eine ganzzahlige Inverse besitzt. Unimodulare Matrizen besitzen eine einfache Charakterisierung. Satz 3.2.3. Eine ganzzahlige Matrix B 2 Znn ist genau dann unimodular, wenn ihre Determinante gleich C1 oder gleich 1 ist.
141
Abschnitt 3.2 Total unimodulare Matrizen
Beweis. a) B 2 Znn besitze eine ganzzahlige Inverse B 1 . Dann sind det.B/ und det.B 1 / ganzzahlig, und nach dem Determinantenmultiplikationssatz ist det.B/ det.B 1 / D 1: Also können det.B/ und det.B 1 / nur gleich C1 oder gleich 1 sein. b) Sei B 2 Znn und det.B/ gleich C1 oder gleich 1. Wir zeigen, dass alle Einträge von X WD B 1 ganzzahlig sind. X erfüllt dabei das lineare Matrixgleichungssystem BX D I
bzw.
Bx j D e j
.j D 1; : : : ; n/;
wobei x j die j -te Spalte von X und e j den j -ten Einheitsvektor bezeichnen. Anwendung der Cramerschen Regel liefert j
Xij D xi D
det.B i / ; det.B/
wobei B i aus der Matrix B entsteht, wenn die i-te Spalte von B durch e j ersetzt wird. Entwicklung der Determinante von B i nach der i-ten Spalte liefert det.B i / D .1/i Cj det.B i;j /; wobei B i;j diejenige Teilmatrix von B bezeichnet, in der die i-te Spalte und die j -te Zeile gestrichen werden. Da B nur ganzzahlige Einträge besitzt, folgt det.B i;j / 2 Z: Wegen det.B/ D ˙1 ist Xij 2 Z für alle i; j . Folglich ist B 1 D X 2 Znn : Definition 3.2.4 (total unimodulare Matrizen). Eine ganzzahlige Matrix A 2 Zmn heißt total unimodular, falls jede quadratische Teilmatrix AQ von A die Bedingung Q 2 ¹0; 1; 1º erfüllt. det.A/ Beachte, dass total unimodulare Matrizen nur die Einträge 0; 1; 1 haben können, da jeder Eintrag von A auch eine quadratische Teilmatrix von A ist. Totale Unimodularität hat eine wichtige Konsequenz für die Struktur der zulässigen Menge des reell relaxierten Problems. Satz 3.2.5. Sei A 2 Zmn total unimodular und b 2 Zm . Dann sind alle Ecken der Menge M D ¹x 2 Rn W Ax D b; x 0Rn º ganzzahlige Vektoren im Zn .
142
Kapitel 3 Ganzzahlige Optimierung
Beweis. Sei p Ecke von M . Dann sind n linear unabhängige Nebenbedingungen als Gleichungen erfüllt, ohne Beschränkung der Allgemeinheit seien dies n X j D1 n X
a1j pj D b1 ; :: : asj pj D bs ;
j D1
psC1 D 0; :: : pn D 0: Dabei ist die Teilmatrix D1;:::;s .aij /ji D1;:::;s
regulär und, da A als total unimodular vorausgesetzt wurde, ganzzahlig invertierbar. Ist b ganzzahlig, so auch p. Dieser Satz hat eine wichtige Konsequenz. Da das Simplexverfahren – im Falle der Existenz einer optimalen Lösung und unter der üblichen Rangbedingung – stets in einer optimalen Ecke des zulässigen Bereichs terminiert, liefert es bei Anwendung auf die ILP-Relaxierung unter den Voraussetzungen des Satzes stets automatisch eine ganzzahlige Lösung von (ILP). Dies bedeutet jedoch nicht, dass jede optimale Lösung der ILP-Relaxierung ganzzahlig ist! Es kann weitere nicht ganzzahlige Optimallösungen der ILP-Relaxierung geben, die dann allerdings keine Ecken sind. Viele Netzwerkoptimierungsprobleme wie Transportprobleme, Kürzeste-WegeProbleme oder Maximalflussprobleme werden mittels total unimodularer Matrizen modelliert. Wir behandeln diese Probleme ihrer großen Bedeutung wegen in einem eigenständigen Kapitel 4. Ist die Koeffizientenmatrix A nicht total unimodular oder die rechte Seite b nicht ganzzahlig, so werden für ganzzahlige Optimierungsprobleme spezielle Verfahren benötigt, denen wir uns nun zuwenden.
3.3
Schnittebenenverfahren von Gomory
In diesem Abschnitt stellen wir eine Pionierleistung auf dem Gebiet der ganzzahligen linearen Optimierung vor, das Schnittebenenverfahren von Gomory [66, 67, 68]. Dabei wird die ganzzahlige zulässige Menge reell relaxiert und diese vergrößerte Menge durch Gomory-Cuts sukzessive wieder beschnitten, ohne dass eine ganzzahlige zulässige Lösung verloren geht.
Abschnitt 3.3 Schnittebenenverfahren von Gomory
143
Wir führen hier einen vollständigen Beweis für die Endlichkeit des Verfahrens, basierend auf der Darstellung des Konvergenzbeweises von [127] aus [118]. Dabei werden wir die ganzzahlige duale Normalform numerisch lösen und nutzen auch [22]. Das Verfahren ist insgesamt recht komplex. Wir zerlegen daher den Endlichkeitsbeweis in mehrere Teilschritte und führen alle Voraussetzungen sukzessive erst dann ein, wenn sie wirklich benötigt werden. Abschließend erläutern wir den Ablauf des Verfahrens anhand eines Beispiels. Wir erinnern an das duale Problempaar der (kontinuierlichen) linearen Optimierung aus Kapitel 2: Primale Normalform 3.3.1. c 2 Rn ; b 2 Rm und die reelle m n-Matrix A vom Rang m seien fest vorgegeben. (P)
Minimiere c>x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
Die zugehörige duale Normalform lautet Duale Normalform 3.3.2. (D) Maximiere b>y unter den Nebenbedingungen y 2 Rm und A> y c Š Damit stehen uns auch alle Sprechweisen 2.7.4 zur Verfügung: AJ D .aj /j 2J bestehe aus m linear unabhängigen Spalten von A. Dann heißt AJ Basis. Jedes x 2 Rn mit AJ xJ D b;
xj D 0 .j 2 J c /
heißt primale Basislösung zur Basis AJ . Der Vektor x heißt primalzulässige Basislösung und AJ primalzulässige Basis, falls überdies gilt x 0Rn :
144
Kapitel 3 Ganzzahlige Optimierung
Jedes y 2 Rm mit .AJ /> y D cJ heißt duale Basislösung zur Basis AJ . Der Vektor y heißt dualzulässige Basislösung und AJ dualzulässige Basis, falls überdies gilt .aj /> y cj
.j 2 J c /:
Beim primalen Simplexverfahren wird eine Folge .i/
AJ ; p .i/ ; q .i/
.i D 0; 1; 2; : : :/
.i/
von primalzulässigen Basen AJ , zugehörigen primalzulässigen Basislösungen p .i/ und dualen Basislösungen q .i/ mit gleichem Zielfunktionswert c > p .i/ D b > q .i/ erzeugt. Der Optimalitätstest verlangt die Überprüfung, ob q .i/ eine dualzulässige Basislösung ist. Ist letzteres der Fall, so ist p .i/ primaloptimal und q .i/ dualoptimal. Das zu lösende ganzzahlige lineare Optimierungsproblem wird in dualer Normalform formuliert, es lautet also: Ganzzahlige duale Normalform 3.3.3. O .D/ Maximiere b>y unter den Nebenbedingungen y 2 Zm und A> y c Š O Zunächst Das Problem (D) ist die kontinuierliche Relaxation des Problems (D). lösen wir (P) und (D) mit dem primalen Simplexverfahren. Da wir auch die Endlichkeit des Verfahrens sicherstellen wollen, verwenden wir die lexikographische Variante 2.4.2 des primalen Simplexverfahrens. Aus Gründen, die später deutlich werden, sperren wir die zulässige Menge von (D) noch in eine Box ein: li yi ui
.i D 1; : : : ; m/:
Das bedeutet, dass (D) die Ungleichungen yi ui
.i D 1; : : : ; m/;
yi li
.i D 1; : : : ; m/
145
Abschnitt 3.3 Schnittebenenverfahren von Gomory
besitzt und damit (P) o. B. d. A. die führenden Spalten ´ Ce j ; falls bj 0; aj D .j D 1; : : : ; m/: e j ; falls bj < 0; Mit JQ D ¹1; : : : ; mº Q
ist dann AJ eine zulässige Basis für (P) für die primalzulässige Basislösung ´ Cbj ; falls bj 0; .j D 1; : : : ; m/: pQj D bj ; falls bj < 0; Diese Basis wählen wir als Startbasis und ersparen uns so die Phase I des Simplexverfahrens. Wir halten dies fest in der Zusatzvoraussetzung 3.3.4. Die zulässige Menge von (D) sei beschränkt durch BoxConstraints mit li 2 Z; ui 2 Z und li yi ui
.i D 1; : : : ; m/:
Die oben beschriebenen Modifikationen von (D) und (P) seien bei der ursprünglichen Problemstellung (D) bzw. (P) bereits berücksichtigt worden. Unter dieser Zusatzvoraussetzung liefert das lexikographische primale Simplexverfahren in endlich vielen Schritten entweder die Information, dass der Minimalwert von (P) gleich 1 ist. Dann ist die zulässige Menge von (D) und darum auch von O leer. (D) Oder es liefert eine primaloptimale Basislösung p und eine dualoptimale Basislösung q zur gleichen Basis AJ . Für diese Basislösungen gilt: AJ pJ D b; pj 0 .j 2 J /;
pj D 0
.j 2 J c /;
.AJ /> q D cJ ; .aj /> q cj
.j 2 J c /:
Der Zielfunktionswert ist c > p D cJ> pJ D q > AJ pJ D q > b:
146
Kapitel 3 Ganzzahlige Optimierung
Die Entwicklungskoeffizienten der Spalten aj von A bezüglich der Basis AJ sind j
AJ xJ D aj
.j D 1; : : : ; n/:
Die negativ genommenen so genannten reduzierten Kosten sind j j cJ> xJ cj D q > AJ xJ cj D q > aj cj
.j D 1; : : : ; n/;
also gerade die Defekte der dualen Basislösung q. Als führende negativ genommene reduzierte Kosten für eine beliebige Basis AJ erhält man für j D 1; : : : ; m cJ> xJj uj D cJ> .AJ /1 e j uj D y > e j uj D yj uj ; falls bj 0, und sonst cJ> xJj C lj D cJ> .AJ /1 .e j / C lj D y > .e j / C lj D lj yj ; wobei y die duale Basislösung zur Basis AJ ist. Diese führenden Komponenten können daher auch als Monitor für die Ganzzahligkeit der dualen Basislösung y verwendet werden. Wir nehmen an, dass das lexikographische primale Simplexverfahren, ausgehend von der Startbasis pQ von (P), eine optimale primale Basislösung p und eine optimale duale Basislösung q mit der gemeinsamen Basis AJ geliefert hat. Abbruchkriterium 3.3.5. Ist die gewonnene dualoptimale Basislösung q für (D) O ganzzahlig, so ist q Optimallösung für .D/. O die zulässige Menge von (D) ist also Beweis. (D) ist die reelle Relaxation von .D/, O eine Obermenge der zulässigen Menge von .D/. Der Algorithmus breche noch nicht ab, es sei also q … Zm :
(3.6)
Wir versuchen, q durch eine zusätzliche Ungleichung abzuschneiden, die keinen ganzzahligen zulässigen Punkt abschneidet. Eine ähnliche Idee wird uns in der konvexen Optimierung beim Kelleyschen Schnitthyperebenenverfahren erneut begegnen. Dazu ordnen wir die „Kostenzeile“ .cJ> pJ ; cJ> xJ uj .bj 0/ bzw. cJ> xJ C lj .bj < 0/; cJ> xJ cj / „ƒ‚… „ ƒ‚ … „ ƒ‚ … j
j D0
j
j 2JQ
j
(3.7)
j 2JQ c
so an, dass erst der Zielfunktionswert, dann die negativ genommenen reduzierten Kosten in der ursprünglichen Reihenfolge kommen, wobei j D 1; : : : ; m die Indizes der Startbasis JQ sind und JQ c D ¹1; : : : ; nº n JQ bezeichne.
147
Abschnitt 3.3 Schnittebenenverfahren von Gomory
Lemma 3.3.6. Ist die aktuelle duale Optimallösung q von (D) nicht ganzzahlig, so ist mindestens eine Komponente der Kostenzeile (3.7) nicht ganzzahlig. Beweis. Die führenden negativ genommenen reduzierten Kosten sind vom Typ qj uj .bj 0/; lj qj .bj < 0/
.j D 1; : : : ; m/;
und die uj bzw. lj sind ganzzahlig. Für die Fortsetzung des Verfahrens wählen wir den ersten Index j0 2 ¹0; 1; : : : ; mº; für den der Eintrag in (3.7) nicht ganzzahlig ist. O Dann gilt Sei nun y 2 Zm ein beliebiger zulässiger Punkt von .D/. y > aj cj
.j D 1; : : : ; n/:
Damit gilt auch für die Abrundungsdifferenzen X X y > aj .pj b pj c/ cj pj b pj c j 2J
.j0 D 0/
j 2J
bzw. X
y > aj .xj 0 bxj 0 c/ j
j
j 2J
X
j
j
cj .xj 0 bxj 0 c/
.j0 2 ¹1; : : : ; mº/:
j 2J
Sind nun A und b ganzzahlig, so sind X
aj pj D b
j 2J
und X
aj xjj0 D aj0
j 2J
ganzzahlig. Wegen y 2 Zm sind dann die linken Seiten ganzzahlig, und es folgt X X y > aj .pj b pj c/ cj .pj b pj c/ .j0 D 0/ (3.8) j 2J
bzw. X j 2J
> j
y a
j .xj 0
j 2J
j bxj 0 c/
X j 2J
j cj .xj 0
j bxj 0 c/
.j0 2 ¹1; : : : ; mº/:
(3.9)
148
Kapitel 3 Ganzzahlige Optimierung
Für die Optimallösung q von (D) gilt q > aj D cj
.j 2 J /;
daher ist, sofern auch c ganzzahlig ist, im Falle j0 D 0 X X q > aj .pj b pj c/ D cj .pj b pj c/ j 2J
j 2J
X
D
cj pj
j 2J
>
X j 2J
D
X
X
cj b pj c
j 2J
cj pj
X
cj b pj c
j 2J
cj .pj b pj c/
j 2J
und im Falle j0 2 ¹1; : : : ; mº ganz entsprechend X X q > aj .xjj0 bxjj0 c/ > cj .xjj0 bxjj0 c/ : j 2J
j 2J
Durch die zusätzliche Ungleichung (3.8) bzw. (3.9) wird also in der Tat q abgeschnitO ten, aber kein ganzzahliger zulässiger Punkt für .D/. Diese zusätzliche Ungleichung im Dualproblem bewirkt eine zusätzliche Spalte im Primalproblem mit den Entwicklungskoeffizienten bezüglich AJ X .AJ /1 aj .pj b pj c/ D pJ b pJ c .j0 D 0/; (3.10) j 2J
J 1
.A /
X
aj .xjj0 bxjj0 c/ D xJj0 bxJj0 c .j0 2 ¹1; : : : ; mº/;
(3.11)
j 2J
mit einer zusätzlichen primalen Variablen xnC1 , einer zusätzlichen Komponente in der primalen Zielfunktion X X cj pj cj b pj c .j0 D 0/; (3.12) cnC1 D j 2J
cnC1 D
X
j 2J
cj xjj0
j 2J
X
cj bxjj0 c .j0 2 ¹1; : : : ; mº/
(3.13)
j 2J
und entsprechenden negativ genommenen reduzierten Kosten cJ> xJnC1 cnC1 D cJ> .pJ b pJ c/ bcJ> pJ c C cJ> b pJ c
(3.14)
D cJ> pJ bcJ> pJ c > 0 .j0 D 0/; cJ> xJnC1 cnC1 D cJ> xJ0 bcJ> xJ0 c > 0 j
j
.j0 2 ¹1; : : : ; mº/:
(3.15)
Abschnitt 3.3 Schnittebenenverfahren von Gomory
149
Man erkennt auch, dass zwar weiterhin p mit pnC1 D 0 eine zulässige Basislösung für (P) ist, was für die Weiterrechnung ausgenutzt wird, dass aber das Optimalitätskriterium nicht mehr erfüllt ist. Wir halten diese Resultate fest in dem Satz 3.3.7 (Schnittebenenerzeugung nach Gomory). Die aktuelle duale optimale Basislösung q von (D) sei nicht ganzzahlig. A; b und c seien ganzzahlig. Wähle die erste Komponente j0 2 ¹0; 1; : : : ; mº der Kostenzeile (3.7), die nicht ganzzahlig ist. Definiere die Schnitthyperebene (3.8) bzw. (3.9). Dann wird q von der zulässigen Menge O für (D) abgeschnitten, aber kein ganzzahliger zulässiger Punkt für .D/. Das primale Simplextableau erhält eine zusätzliche Spalte von Entwicklungskoeffizienten (3.10) bzw. (3.11), eine zusätzliche Komponente (3.12) bzw. (3.13) in der Zielfunktion und zusätzliche negativ genommene reduzierte Kosten (3.14) bzw. (3.15) in der Kostenzeile. Die erweiterte primale Basislösung p mit pnC1 WD 0 ist eine zulässige Basislösung für (P), das Optimalitätskriterium ist aber nicht mehr erfüllt. Die erweiterte primale Basislösung p mit pnC1 D 0 wird nun mit dem lexikographischen primalen Simplexverfahren nachoptimiert. Wir untersuchen einen Basiswechsel etwas genauer. Der Pivotzeilenindex zum Pivotspaltenindex k l 2 J mit xlk > 0 ist festgelegt durch das lexikographische Minimum 1 xlk
1 pl ; xl1 ; : : : ; xlm D lex min k .pj ; xj1 ; : : : ; xjm /: j 2J xj k
(3.16)
x >0 j
pO sei die primalzulässige Basislösung zur neuen Basisindexmenge JO D .J n ¹lº/ [ ¹kº: Gemäß den Rekursionsformeln 2.3.6 des lexikographischen primalen Simplexverfahrens ist pl pO D p k x k ; xl hierbei benutzen wir die Konvention für k 2 J c AJ xJk D ak ; xkk D 1; xjk D 0 .j 2 J c ; j ¤ k/:
150
Kapitel 3 Ganzzahlige Optimierung
Natürlich sind auch xJj D eJj
.j 2 J /
die kanonischen Einheitsvektoren zur Basisindexmenge J . Mittels dieser Notationen folgt aus den Rekursionsformeln 2.3.6, dass sich die negativ genommenen reduzierten Kosten beim Basiswechsel genauso transformieren wie der primale Zielfunktionswert: c >O pOJO D cJ> pJ J
pl xlk
.cJ> xJk ck /;
j j c >O xO O cj D cJ> xJ cj J
J
xlj xlk
.cJ> xJk ck / .j D 1; : : : ; n C 1/:
Damit erhalten wir die folgende Darstellung für die neue Kostenzeile: .c >O pOJO ; c >O xO 1O c1 ; : : : ; c >O xO nC1 cnC1 / O J
J
D
J
J
.cJ> pJ ; cJ> xJ1
1 xlk
J
c1 ; : : : ; cJ> xJnC1 cnC1 /
.pl ; xl1 ; : : : ; xlm ; xlmC1 ; : : : ; xln ; xlnC1 /.cJ> xJk ck /:
Beachte, dass hierin xlk > 0; cJ> xJk ck > 0 sind und, wie wir gleich sehen werden, .pl ; xl1 ; : : : ; xlm / 0RmC1 lexikographisch strikt positiv ist mit der Folge, dass die Kostenzeile cnC1 / .c >O pOJO ; c >O xO 1O c1 ; : : : ; c >O xO nC1 O J
J
J
J
.cJ> pJ ;
cJ> xJ1
J
c1 ; : : : ; cJ> xJnC1 cnC1 /
lexikographisch strikt gefallen ist. Wir zeigen, dass .pl ; xl1 ; : : : ; xlm / 0RmC1 lexikographisch strikt positiv ist. Dies wurde bei der Startbasislösung pQ so eingerichtet, denn für sie galt sogar pQj 0
.j D 1; : : : ; n/
und .xJ1Q ; : : : ; xJmQ / D Em :
151
Abschnitt 3.3 Schnittebenenverfahren von Gomory
Für die aktuelle Basislösung p sei bereits bewiesen .pj ; xj1 ; : : : ; xjm / 0RmC1 für alle j 2 J . Wir zeigen, dass dann auch für die nächste Basislösung pO .pOj ; xOj1 ; : : : ; xOjm / 0RmC1 ausfällt für alle j 2 JO . Gemäß den Rekursionsformeln 2.3.6 ist für j D k .pOk ; xO k1 ; : : : ; xO km / D
1 xlk
.pl ; xl1 ; : : : ; xlm / 0RmC1 ;
da xlk > 0 und .pl ; xl1 ; : : : ; xlm / 0RmC1 . Für j 2 JO n ¹kº D J n ¹lº ist .pOj ; xOj1 ; : : : ; xOjm / D .pj ; xj1 ; : : : ; xjm /
xjk xlk
.pl ; xl1 ; : : : ; xlm /:
Ist nun xjk 0, so ist .pOj ; xOj1 ; : : : ; xOjm / < .pj ; xj1 ; : : : ; xjm / 0RmC1 : Ist xjk > 0, so ist gemäß (3.16) .pj ; xj1 ; : : : ; xjm /
xjk xlk
.pl ; xl1 ; : : : ; xlm / 0RmC1 :
Beachte dabei, dass der Index l durch (3.16) eindeutig bestimmt ist. Dieses letzte Resultat, dass also für alle im Verlaufe des Algorithmus auftretenden Basislösungen p gilt .pj ; xj1 ; : : : ; xjm / 0RmC1
.j 2 J /;
mag zunächst überraschen, ist aber nichts anderes als die lexikographische Beschreibung der Tatsache, dass man durch Standardstörung des Primalproblems die Entartung aufheben kann. Zusammenfassend erhalten wir das folgende grundlegende Resultat. Satz 3.3.8 (Nachoptimierung). Unter den in Satz 3.3.7 angegebenen Voraussetzungen liefert die Nachoptimierung durch das lexikographische primale Simplexverfahren in endlich vielen Schritten
152
Kapitel 3 Ganzzahlige Optimierung
entweder die Information, dass die Zielfunktion von (P) auf der jetzt zulässigen Menge von (P) nicht nach unten beschränkt ist, d. h. dass die zulässige Menge von (D) durch den eingeführten Schnitt leer geworden ist, oder eine primaloptimale Basislösung des erweiterten Primalproblems und eine dualoptimale Basislösung des erweiterten Dualproblems zur gleichen Basis. Für die führenden Komponenten der Kostenzeile gilt bei jedem Basiswechsel .c >O pOJO ; c >O xO 1O c1 ; : : : ; c >O xO mO cm / .cJ> pJ ; cj> xJ1 c1 ; : : : ; cj> xJm cm /: J
J
J
J
J
Beachte, dass zwar die Endlichkeit jeder Nachoptimierung bewiesen ist, aber noch nicht die Endlichkeit des Gesamtverfahrens, da die Anzahl der Spalten von A bei jedem Schnitt wächst. Wir nehmen an, dass unendlich oft Schnitthyperebenen eingeführt werden mussten. Da die zusätzlichen Spalten immer nach den ursprünglichen Spalten eingefügt werden, ist also der Teilvektor .cJ> pJ ; cJ> xJ1 c1 ; : : : ; cJ> xJm cm / unendlich oft lexikographisch strikt gefallen. Bei jedem Schnitt ist ein Eintrag cJ> pJ … Z
.j0 D 0/
bzw. cJ> xJ0 cj0 … Z j
.j0 2 ¹1; : : : ; mº/
der erste nicht ganzzahlige. Dies induziert gemäß (3.10) eine zusätzliche Spalte mit den Entwicklungskoeffizienten pJ b pj c
.j0 D 0/
bzw. gemäß (3.11) j j xJ0 bxJ0 c
.j0 2 ¹1; : : : ; mº/
für eine zusätzliche Variable xnC1 und negativ genommene reduzierte Kosten cJ> xJnC1 cnC1 D cJ> pJ bcJ> pJ c > 0 .j0 D 0/ bzw. cJ> xJnC1 cnC1 D cJ> xJ0 bcJ> xJ0 c > 0 j
j
.j0 2 ¹1; : : : ; nº/:
153
Abschnitt 3.3 Schnittebenenverfahren von Gomory
Der Index n C 1 ist der erste Pivotspaltenindex bei der Nachoptimierung. Bereits im ersten Austauschschritt der Nachoptimierung wird er in die Basis aufgenommen und bewirkt im Falle j0 D 0: c >O pOJO D cJ> pJ J
D cJ> pJ
pl .c > x nC1 nC1 J J xl
cnC1 /
pl .c > pJ bcJ> pJ c/ pl b pl c J
mit l 2 J; pl > 0; pl b pl c > 0. Also ist c >O pOJO cJ> pJ cJ> pJ C bcJ> pJ c D bcJ> pJ c: J
Entsprechend ist im Falle j0 2 ¹1; : : : ; mº j
c >O xO jO0 cj0 D cJ> xJj0 cj0 J
J
D j
j
j cJ> xJ0
cj0
xl 0 xlnC1
.cJ> xJnC1 cnC1 /
xlj0 j xl 0
j bxl 0 c
j j .cJ> xJ0 bcJ> xJ0 c/
j
mit l 2 J; xl 0 > 0; xl 0 bxl 0 c > 0. Also ist j j j c >O xO N0 cj0 bcJ> xJ0 c cj0 D bcJ> xJ0 cj0 c: J
J
Unter unserer Annahme, dass der Algorithmus nicht abbricht, entsteht die Problemfolge .P t /; .D t / mit optimalen primalen und dualen Basislösungen p t bzw. q t zur gemeinsamen Basis AJ t . Tritt nun der Fall j0 D 0 unendlich oft auf, so werden die Folgenglieder cJ>t pJt t
.t D 0; 1; 2; : : :/
unendlich oft mindestens auf die nächstkleinere ganze Zahl herabgesetzt im Widerspruch zu cJ>t pJt t D b > q t ;
154
Kapitel 3 Ganzzahlige Optimierung
denn q t ist zulässig für .D t / und damit zulässig für (D), und die zulässige Menge von (D) war als beschränkt vorausgesetzt worden. Der Fall j0 D 0 tritt also nur endlich oft auf. Nach höchstens endlich vielen Schnitten bleibt also cJ>t pJt t ganzzahlig, ist als erste Komponente der lexikographisch strikt fallenden Kostenzeile wenigstens schwach monoton fallend und nach unten beschränkt. Nach höchstens endlich vielen Schnitten ist diese erste Komponente der Kostenzeile damit sogar konstant. Tritt danach der Fall j0 D 1 unendlich oft auf, so werden die Folgenglieder t;j cJ>t xJt 0 cj0
.t D 0; 1; 2; : : :/
unendlich oft mindestens auf die nächstkleinere ganze Zahl herabgesetzt im Widerspruch zu t;j t;j cJ>t xJ t 0 cj0 D .q t /> AJt xJ t 0 cj0 D .q t /> aj0 cj0
und der Beschränktheit der Folge .q t / tD0;1;2;::: . Der Fall j0 D 1 tritt also nur endlich oft auf, nach höchstens endlich vielen Schnitten ist auch cJ>t xJt 0 cj0 t;j
ganzzahlig. Wie im Falle j0 D 0 folgt hieraus, dass nach endlich vielen Schnitten auch die zweite Komponente der Kostenzeile ganzzahlig und konstant ist. Fortsetzung dieser Schlussweise zeigt, dass nach höchstens endlich vielen Schnitten die führenden negativ genommenen reduzierten Kosten resp. dualen Defekte qj uj .bj 0/ bzw. lj qj .bj < 0/ für alle j D 1; : : : ; m ganzzahlig sind, also der Algorithmus mit der Optimallösung q O hätte abbrechen müssen. von (D) Insgesamt haben wir damit bewiesen: Hauptsatz 3.3.9 (Endlichkeit des Schnittebenenverfahrens). Die Problemdaten A, b, c seien ganzzahlig. Die zulässige Menge von (D) sei beschränkt durch Box-Constraints mit li 2 Z; ui 2 Z und li yi ui
.i D 1; : : : ; m/:
Dann besitzt das zugehörige Primalproblem (P) eine zulässige Startbasis. Das oben beschriebene Schnittebenenverfahren, bestehend aus Nachoptimierung und (soweit erforderlich) Schnittbildung, liefert dann in endlich vielen Schritten eine O oder die Information, dass das Proganzzahlige Optimallösung des Problems .D/ O blem .D/ unzulässig ist.
155
Abschnitt 3.3 Schnittebenenverfahren von Gomory
Wir fassen das Schnittebenverfahren in einem Algorithmus zusammen. Algorithmus 3.3.10 (Schnittebenenverfahren nach Gomory). O und dessen Relaxierung (D) sowie eine primal(0) Gegeben seien das Problem (D) zulässige Startbasislösung pQ von (P) zur Indexmenge JQ . (1) Löse das zu (D) gehörende primale Problem (P) ausgehend von pQ mit dem primalen Simplexverfahren. O besitzt keine Lösung. (2) Besitzt (P) keine Lösung, STOP: (D) Sei p Lösung von (P) und q Lösung von (D) mit .AJ /> q D cJ zur Basisindexmenge J . O Ist q ganzzahlig, STOP: q ist optimale Lösung von (D). (3) Wähle aus dem Vektor .0 ; : : : ; n / D .cJ> pJ ; cJ> xJj uj .bj 0/ bzw. cJ> xJj C lj .bj < 0/; cJ> xJj cj / „ƒ‚… „ ƒ‚ … „ ƒ‚ … j D0
j 2JQ
j 2JQ c
den kleinsten Index j0 2 ¹0; : : : ; mº mit j0 … Z. Ist j0 D 0, so füge zu (D) die Nebenbedingung .AJ .pJ bpJ c//> y bcJ> .pj bpJ c/c hinzu. Ist j0 2 ¹1; : : : ; mº, so füge zu (D) die Nebenbedingung j j j j .AJ .xJ0 bxJ0 c//> y bcJ> .xj 0 bxJ0 c/c
hinzu. (4) Füge im optimalen Tableau für (P) eine Nichtbasisvariable xnC1 mit Spalte 3 2 nC1 7 6 6 pJ bpJ c 7 5 4 cJ> pJ bcJ> pJ c im Fall j0 D 0 bzw.
2 6 6 4
nC1 xJj0 bxJj0 c cJ> xJj0 bcJ> xJj0 c
im Fall j0 2 ¹1; : : : ; mº hinzu.
3 7 7 5
156
Kapitel 3 Ganzzahlige Optimierung
(5) Wähle die neue Spalte zu xnC1 in (4) als Pivotspalte und führe mit dem lexikographischen Simplexverfahren eine Nachoptimierung für das um xnC1 ergänzte Problem (P) durch. (6) Gehe zu (2) mit (D) und (P) aus (3) und (4). Das folgende ganzzahlige lineare Optimierungsproblem kann man leicht graphisch lösen, vgl. die Übungsaufgabe 21.1 in [22]. Es lässt sich damit aber auch sehr schön der Ablauf des Schnittebenenverfahrens von Gomory demonstrieren. Beispiel 3.3.11. Wir lösen das folgende ganzzahlige Optimierungsproblem mit dem Schnittebenenverfahren: O (D)
Maximiere y1 C 2y2 unter den Nebenbedingungen y 2 Z2 und y1 3y2 0; 200y1 C 100y2 725; 10y1 C 30y2 105; y1 0; y2 0 Š
Aus den Restriktionen folgt für jeden zulässigen Punkt y1 4; y2 4: Wir wählen daher als duale Restriktionen: y1 4; y2 4; y1 0; y2 0; y1 3y2 0; 200y1 C 100y2 725; 10y1 C 30y2 105: Damit lautet das Primalproblem: (P)
Minimiere 4x1 C 4x2 C 0x3 C 0x4 C 0x5 C 725x6 C 105x7
157
Abschnitt 3.3 Schnittebenenverfahren von Gomory
unter den Nebenbedingungen x 0R7 und 0 1 x1 1 0 1 0 1 200 10 B : C 1 Š @ :: A D 0 1 0 1 3 100 30 2 x7 Wir wählen im Folgenden eine etwas andere Tableaudarstellung für eine Basislösung p mit Basisindexmenge J nach dem Muster 0
1:::n
pJ
.AJ /1 A
cJ> pJ
q>A c>
J
mit .AJ /> q D cJ
In dieser Darstellung lässt sich das lexikographische Abnehmen der letzten Tableauzeile besonders schön beobachten. Als Startbasisindexmenge wählen wir JQ D ¹1; 2º und erhalten das erweiterte Starttableau 0
1
2
3
4
5
6
7
1
1
1
0
1
0
1
200
10
2
2
0
1
0
1
3
100
30
12
0
0
4
4
8
475
55
Dieses Tableau ist nicht optimal, d. h. die zugehörige duale Lösung q 0 D .4; 4/> ist nicht zulässig. Wir wählen die Pivotzeile l D 1 und die Pivotspalte k D 6 . Basiswechsel liefert das Tableau 0
1
2
3
4
5
6
7
2
1.5
0:5
1
0.5
1
3:5
0
25
6
0.005
0.005
0
0:005
0
0.005
1
0.05
9.625
2:375
0
1:625
4
10:375
0
31.25
Dieses Tableau ist nicht optimal, d. h. die zugehörige duale Lösung q 1 D .1:625; 4/> ist nicht zulässig. Wir wählen die Pivotzeile l D 2 und die Pivotspalte k D 7 . Basiswechsel liefert das Tableau 0
1
2
3
4
5
6
7
6
0.002
0.006
0:002
0:006
0.002
0.012
1
0
7
0.06
0:02
0.04
0.02
0:04
0:14
0
1
7.75
1:75
1:25
2:25
2:75
6
0
0
158
Kapitel 3 Ganzzahlige Optimierung
Dieses Tableau definiert die primale bzw. duale Basislösung pJ22
D
0:002 0:06
;
2
q D
2:25 2:75
;
J2
A
D
200 10 100 30
zur Basisindexmenge J2 D ¹6; 7º. q 2 ist dualzulässig, also optimal für (D), aber nicht ganzzahlig. Wir definieren einen Schnitt über die Zielfunktion, d. h. also zum führenden Index j0 D 0 der Kostenzeile, und erhalten die zusätzliche Ungleichung y > .a6 .p62 bp62 c/ C a7 .p72 bp72 c// bc6 .p62 bp62 c/ C c7 .p72 bp72 c/c; konkret y1 C 2y2 7; vgl. Abbildung 3.2. Dadurch erhalten wir eine weitere primale Variable x8 und eine zusätzliche Spalte a8 D .1; 2/> in der Koeffizientenmatrix des Primalproblems und die zusätzliche Komponente c8 D 7 in der primalen Zielfunktion. y2
4 q2
3 2 1 1
2
3
4
Abbildung 3.2. Optimale Lösung q 2 von (D) und erster Schnitt (gestrichelt).
y1
159
Abschnitt 3.3 Schnittebenenverfahren von Gomory
Das um x8 erweiterte Tableau lautet wie folgt: 0
1
2
3
4
5
6
7
8
6
0.002
0.006
0:002
0:006
0.002
0.012
1
0
0.002
7
0.06
0:02
0.04
0.02
0:04
0:14
0
1
0:06
7.75
1:75
1:25
2:25
2:75
6
0
0
0.75
Für die Nachoptimierung wählen wir die Pivotzeile l D 7 und die Pivotspalte k D 8 . Basiswechsel liefert das Tableau 0
1
2
3
4
5
6
7
8
6
0
1 150 1 3
1 300 23
1 600 73
0
1 30 50 3
0
1
1 300 2 3
1
8
1 150 13
7
1:5
1:75
2:5
2:25
4:25
0
12:5
0
1
Dieses Tableau definiert die primale bzw. duale Basislösung 0 2:5 200 1 3 3 J3 pJ3 D ; q D ; A D 1 2:25 100 2 zur Basisindexmenge J3 D ¹6; 8º. p 3 ist entartet, q 3 ist zwar optimal, aber nicht ganzzahlig. Wir machen einen Schnitt zum Index j0 D 1 der Kostenzeile. Also sind die Rundungsreste ! xJ13 bxJ13 c D
1 150 2 3
:
Damit erhalten wir den Schnitt 1 1 2 200 1 2 C 725 C7 ; y> 100 150 2 3 150 3 also 2y1 C 2y2 9; vgl. Abbildung 3.3. Dies liefert eine neue Spalte a9 D .2; 2/> und den Kostenkoeffizienten c9 D 9. Das um x9 erweiterte Tableau lautet wie folgt: 0
1
2
3
4
5
6
7
8
9
6
0
1 150
1 300
1 150
1 300
1 600
1
1 30
0
1 150
8
1
13
2 3
1 3
23
73
0
50 3
1
2 3
7
1:5
1:75
2:5
2:25
4:25
0
12:5
0
0.5
160
Kapitel 3 Ganzzahlige Optimierung
y2
4 q2 q3
3 2 1 1
2
3
y1
4
Abbildung 3.3. Optimale Lösung q 3 und Schnitte (gestrichelt).
Für die Nachoptimierung wählen wir die Pivotzeile l D 6 und die Pivotspalte k D 9 . Basiswechsel liefert 0
1
2
3
4
5
6
7
8
9
8
1
1
1
1
1
4
100
20
1
0
9
0
1
0:5
1
0.5
2.5
150
5
0
1
7
2
1:5
2
2:5
5:5
75
10
0
0
Dieses Tableau definiert die primale bzw. duale Basislösung 1 2 1 2 4 4 J4 pJ4 D ; q D ; A D 0 2:5 2 2 zur Basisindexmenge J4 D ¹8; 9º. q 4 ist also zulässig für (D), darum optimal, aber immer noch nicht ganzzahlig. Wir müssen also einen weiteren Schnitt durchführen zum Index j0 D 2. Dazu benötigen wir die Rundungsdifferenzen xJ24 bxJ24 c D .0; 0:5/> und erhalten den Schnitt 1 2 y> 0C 0:5 b7 0 C 9 0:5c 2 2
161
Abschnitt 3.3 Schnittebenenverfahren von Gomory
y2
4 2 q4 q q3
3 2 1 1
2
3
y1
4
Abbildung 3.4. Optimale Lösung q 4 und Schnitte (gestrichelt).
bzw. y1 C y2 4; vgl. Abbildung 3.4. Dies liefert eine zusätzliche Spalte a10 D .1; 1/> mit c10 D 4 und das erweiterte Tableau 0
1
2
3
4
5
6
7
8
9
10
8
1
1
1
1
1
4
100
20
1
0
0
9
0
1
0:5
1
0.5
2.5
150
5
0
1
0:5
7
2
1:5
2
2:5
5:5
75
10
0
0
0.5
Für die Nachoptimierung wählen wir die Pivotzeile l D9 und die Pivotspalte k D10 . Basiswechsel liefert 0
1
2
3
4
5
6
7
8
9
10
8
1
1
1
1
1
4
100
20
1
0
0
10
0
2
1
2
1
5
300
10
0
2
1
7
3
1
1
3
8
225
5
0
1
0
162
Kapitel 3 Ganzzahlige Optimierung
Dieses Tableau definiert die primale bzw. duale Basislösung 1 1 1 1 5 5 J5 ; q D ; A D pJ5 D 0 3 2 1 zur Basisindexmenge J5 D ¹8; 10º. Dies zeigt, dass q 5 zulässig und ganzzahlig ist. Daher ist q 5 Optimallösung von O .D/. Dieses Beispiel zeigt sehr schön, dass man die Gomory-Schnitte über die Indizes j0 2 ¹0; 1; 2º wirklich benötigt, und illustriert auch das monotone Fallen (im lexikographischen Sinne) der führenden Komponenten der Kostenzeilen: 0
1
2
J0
12
0
0
J1
9.625
2:375
0
J2
7.75
1:75
1:25
J3
7
1:5
1:75
J4
7
2
1:5
J5
7
3
1
In der Abbildung 3.5 sind noch einmal alle Iterierten q 0 ; : : : ; q 5 dargestellt und auch die drei verwendeten Schnitthyperebenen. y2
4 3 2 1 1
2
3
4
Abbildung 3.5. Schnittebenenverfahren von Gomory.
y1
163
Abschnitt 3.4 Branch and Bound-Methoden
3.4
Branch and Bound-Methoden
Eine beliebte Methode zur Lösung linearer und nichtlinearer Optimierungsprobleme ist die Branch and Bound-Methode. Wir illustrieren das Prinzip dieser Methode an einem Rucksackpackproblem mit N D 3 Gegenständen mit Gewichten 30; 50; 20 und Werten 3; 5; 2, vgl. Beispiel 1.1.8.
Die Aufgabe, einen Rucksack mit maximalem Wert und Höchstgewicht 70 zu packen, führt auf ein binäres Optimierungsproblem: Maximiere 3x1 C 5x2 C 2x3 unter den Nebenbedingungen 30x1 C 50x2 C 20x3 70;
xi 2 ¹0; 1º
.i D 1; 2; 3/ Š
Es bezeichne S D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; xi 2 ¹0; 1º .i D 1; 2; 3/º die zulässige Menge des Problems. Da wir wissen, dass der optimale Wert für x1 entweder 0 oder 1 ist, können wir das Rucksackpackproblem in zwei kleinere Probleme aufteilen, indem x1 auf 0 oder 1 fixiert wird. Dies entspricht einer Partitionierung des zulässigen Bereichs S gemäß S D S0 [ S1 ;
S0 \ S1 D ;
mit S0 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 0; xi 2 ¹0; 1º .i D 2; 3/º; S1 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 1; xi 2 ¹0; 1º .i D 2; 3/º:
164
Kapitel 3 Ganzzahlige Optimierung
Für jede der Teilmengen S0 und S1 können wir analog mit der Komponente x2 verfahren und erhalten S0 D S00 [ S01 ;
S1 D S10 [ S11
mit S00 \ S01 D ; und S10 \ S11 D ; und S00 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 0; x2 D 0; x3 2 ¹0; 1ºº; S01 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 0; x2 D 1; x3 2 ¹0; 1ºº; S10 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 1; x2 D 0; x3 2 ¹0; 1ºº; S11 D ¹.x1 ; x2 ; x3 /> W 30x1 C 50x2 C 20x3 70; x1 D 1; x2 D 1; x3 2 ¹0; 1ºº: Schließlich führt dieselbe Vorgehensweise für die Komponente x3 auf die folgende Baumstruktur: S x1=0
x1=1
S0 x2=0
S1 x2=1
S00 x3=0 S000
S01 x3=1 S001
x3=0 S010
x2=0
x2=1
x3=1
x3=0
S10 x3=1 S011
x3=0 S100
S11
S101
S110
x3=1 S111
Damit wurde eine Partition der zulässigen Menge S gemäß S D S000 [ S001 [ S010 [ S011 [ S100 [ S101 [ S110 [ S111 erzeugt. Mit jedem Knoten des Baums kann folgendes Optimierungsproblem assoziiert werden: Maximiere
3x1 C 5x2 C 2x3
u. d. N.
.x1 ; x2 ; x3 /> 2 S Š
(3.17)
Dabei ist 2 ¹0; 1; 00; 01; 10; 11; 000; 001; 010; 011; 100; 101; 110; 111º. Beachte, dass die Mengen S kleiner werden, je weiter man im Baum absteigt. Letztendlich sind die Optimierungsprobleme in der unteren Zeile des Baums sehr leicht zu lösen, da in jedem dieser so genannten Blätter des Baums resp. Blattknoten alle Komponenten des Vektors .x1 ; x2 ; x3 /> fixiert sind. Folglich ist die entsprechende zulässige Menge entweder leer, oder sie enthält genau ein Element. Zum Beispiel gilt S101 D ¹.1; 0; 1/> º mit Zielfunktionswert 5, während S111 leer ist. Durch Untersuchen aller acht Blattknoten des Baums findet man leicht die optimale Lösung. Leider wird der Baum sehr groß für große Werte von N , und diese komplette Verzweigungsstrategie (Branching) ist zu zeitaufwändig. Hier kommt nun das Bounding
165
Abschnitt 3.4 Branch and Bound-Methoden
ins Spiel. Es dient dazu, Teilbäume abzuschneiden, die keine Optimallösung enthalten können. Wir untersuchen exemplarisch einige Situationen, in denen es keinen Sinn macht, einen Teilbaum weiter zu expandieren: (i) Unzulässigkeit: Betrachte den Knoten S11 für das Rucksackpackproblem. Es gilt S11 D ;, da x1 D x2 D 1 und 30C50 D 80 6 70. Da der zulässige Bereich der Nachfolgeknoten weiter eingeschränkt wird, ist es unnötig, die Nachfolger S110 und S111 zu untersuchen. Also können Teilbäume unterhalb unzulässiger Knoten abgeschnitten werden. (ii) Optimale Knoten: Falls das einem Knoten zugeordnete Optimierungsproblem gelöst werden kann, so ist es unnötig, die Nachfolgeknoten zu untersuchen, und der Teilbaum unterhalb dieses Knotens kann abgeschnitten werden. (iii) Bounding: Betrachte den folgenden Teilbaum des Rucksackpackproblems: S0 x2=0 S00
x2=1 S01
Man sieht leicht, dass der optimale Zielfunktionswert für den Knoten S00 zwischen 0 (falls x3 D 0) und 2 (falls x3 D 1) liegt. Entsprechend liegt der optimale Zielfunktionswert des Knotens S01 zwischen 5 (falls x3 D 0) und 7 (falls x3 D 1). Da wir die Zielfunktion maximieren möchten, ist klar, dass das Optimum nicht in dem Teilbaum unterhalb S00 liegen kann, da die Schranken für den Knoten S01 einen höheren Zielfunktionswert garantieren. Also ist es nicht notwendig, den Teilbaum unterhalb S00 zu expandieren. Die obigen Abschneideregeln können dabei helfen, den Suchbaum drastisch zu reduzieren. Dies hängt insbesondere auch davon ab, wie untere und obere Schranken berechnet werden und wie gut sie sind. Die folgenden Ansätze sind nützlich:
Jeder zulässige Punkt liefert eine untere (bzw. obere) Schranke des Optimalwerts eines Maximierungsproblems (bzw. Minimierungsproblems).
Jede Optimallösung der reellen Relaxation liefert eine obere (bzw. untere) Schranke des Optimalwerts eines ganzzahligen Maximierungsproblems (bzw. Minimierungsproblems).
Jede zulässige Lösung eines geeignet gewählten Dualproblems liefert eine obere (bzw. untere) Schranke des Optimalwerts eines Maximierungsproblems (bzw. Minimierungsproblems).
166
Kapitel 3 Ganzzahlige Optimierung
Zusammenfassend besitzt eine allgemeine Branch and Bound-Methode die folgenden wesentlichen Komponenten: Die Verzweigungsregel (Branching-Regel) definiert, wie neue Knoten im Baum erzeugt werden. Sie legt fest, wie der zulässige Bereich partitioniert wird. Die Schrankenregel (Bounding-Regel) bestimmt untere und obere Schranken des optimalen Zielfunktionswerts. Die Traversierungsregel definiert die Reihenfolge, in der die Knoten des Baums durchlaufen werden, z. B. Tiefensuche oder Breitensuche. Die Abschneideregeln definieren, wann ein Knoten bzw. seine Nachfolgeknoten nicht mehr weiter untersucht werden müssen. Beispiel 3.4.1 (Rucksackpackproblem). Wir wenden die Branch and Bound-Methode auf das Rucksackpackproblem an: Maximiere
3x1 C 5x2 C 2x3
30x1 C 50x2 C 20x3 70;
unter den Nebenbedingungen xi 2 ¹0; 1º .i D 1; 2; 3/ Š
Für jeden Knoten wird eine obere Schranke des Optimalwerts durch Lösen der reellen Relaxierung berechnet. Untere Schranken sind durch zulässige Punkte gegeben. Verzweigt wird an der Komponente xirel … ¹0; 1º mit dem kleinsten Index i , wobei x rel die optimale Lösung der rellen Relaxierung bezeichnet.
S
x1=0 relaxierte Lösung: S0 x1=0,x2=1,x3=1 obere Schranke = 7 untere Schranke = 7 Optimallösung!
relaxierte Lösung: x1=2/3,x2=1,x3=0 obere Schranke = 7 untere Schranke = 0 x1=1
S1
relaxierte Lösung: x1=1,x2=0.8,x3=0 obere Schranke = 7 untere Schranke = 3
In der Abbildung wurden die Knoten in der Reihenfolge S , S1 , S0 generiert. Da die ILP-Relaxierung von S0 eine ganzzahlige Lösung mit Zielfunktionswert 7 hat, ist es nicht notwendig, den Teilbaum unter S1 zu betrachten, da der Zielfunktionswert von S1 zwischen 3 und 7 liegt. Dieser Teilbaum entält also keine bessere Lösung.
3.4.1 Branch and Bound für (ILP) Wir wenden die Branch and Bound-Methode auf das ganzzahlige lineare Optimierungsproblem (ILP) aus Abschnitt 3.2 an.
167
Abschnitt 3.4 Branch and Bound-Methoden
Verzweigung (Branching) für (ILP) Betrachte einen Knoten des Branch and Bound-Suchbaums (z. B. den Wurzelknoten). Das dem Knoten zugeordnete Optimierungsproblem sei: Minimiere
c>x
u. d. N.
Ax D b; x 0Rn ; x 2 Zn Š
Sei x rel die Lösung der ILP-Relaxierung Minimiere
c>x
u. d. N.
Ax D b; x 0Rn ; x 2 Rn Š
Falls x rel zulässig für (ILP) ist, so ist kein weiteres Verzweigen nötig. Andernfalls gilt x rel … Zn , und die Verzweigungsregel besteht aus zwei Schritten: (i) Wähle einen Index k mit xkrel … Z. (ii) Erzeuge Nachfolgeknoten SL und SR (linker bzw. rechter Nachfolger): .SL /
Minimiere c > x u. d. N. Ax D b; x 0Rn ; x 2 Zn ; xk bxkrel c Š
.SR / Minimiere c > x u. d. N. Ax D b; x 0Rn ; x 2 Zn ; xk bxkrel c C 1 Š Min c>x u. d. N. Ax D b; x 0Rn x 2 Zn
xk bxkrel c
xk bxkrel c C 1
Min c>x u. d. N. Ax D b; x 0Rn x 2 Zn ; xk bxkrel c
Min c>x u. d. N. Ax D b; x 0Rn x 2 Zn ; xk bxkrel c C 1
Eine rekursive Anwendung dieser Verzweigungsregel, beginnend mit (ILP), erzeugt eine Baumstruktur. Jede Kante entspricht einer zusätzlichen Nebenbedingung. Die Vereinigung der zulässigen Mengen von .SL / und .SR / ergibt gerade die zulässige Menge des Vorgängerknotens. Schranken (Bounding) für (ILP) Betrachte einen Knoten und das zugehörige (ILP) Minimiere
c>x
u. d. N.
Ax D b; x 0Rn ; x 2 Zn Š
168
Kapitel 3 Ganzzahlige Optimierung
Es bezeichne w den Minimalwert dieses Problems. Eine untere und eine obere Schranke für w können wie folgt bestimmt werden:
Obere Schranke: Für jedes zulässige x mit Ax D b, x 0Rn , x 2 Zn gilt w c > x: Also liefert jeder zulässige Punkt eine obere Schranke u D c > x von w.
Untere Schranke: Es bezeichne wQ den Minimalwert der ILP-Relaxierung Minimiere
c>x
u. d. N.
Ax D b; x 0Rn Š
Dann gilt wQ w: Abschneideregeln für (ILP) Ein Knoten heißt untersucht und ein weiteres Verzweigen für diesen Knoten ist nicht nötig, falls eine der folgenden Bedingungen gilt:
Die ILP-Relaxierung ist unzulässig.
Die ILP-Relaxierung besitzt eine ganzzahlige Lösung. Da diese Lösung auch zulässig für das ursprüngliche (ILP) ist, liefert der zugehörige Zielfunktionswert eine obere Schranke für den optimalen Zielfunktionswert.
Die untere Schranke des optimalen Zielfunktionswerts des Knotens ist größer oder gleich der aktuellen oberen Schranke u.
Insgesamt erhalten wir den folgenden Algorithmus: Algorithmus 3.4.2 (Branch and Bound). Initialisierung: – Sei u eine obere Schranke des Optimalwerts (falls keine bessere bekannt ist, kann u WD 1 gewählt werden). – Sei (ILP) gekennzeichnet als aktiver Knoten. while (es gibt aktive Knoten) do Wähle einen aktiven Knoten v gemäß Traversierungsregel. Berechne (falls möglich) eine optimale Lösung xQ der v-Relaxierung Q und setze wQ WD c > x.
169
Abschnitt 3.4 Branch and Bound-Methoden
Ist die Zielfunktion auf der relaxierten zulässigen Menge nicht nach unten beschränkt, so setze wQ D 1. if (v unzulässig) then Markiere Knoten v als untersucht. endif if (xQ 2 Zn ) then if (wQ < u) then Speichere xQ als aktuell beste Lösung und setze u D w. Q endif Markiere Knoten v als untersucht. endif if (wQ u) then Markiere Knoten v als untersucht. endif if (wQ < u) then Wende Verzweigungsregel auf v an, markiere alle Nachfolger als aktiv und markiere den aktuellen Knoten v als inaktiv. endif end Die Größe des im Branch and Bound-Verfahren erzeugten Baums hängt von den Daten des Problems ab und kann auch sehr groß werden. In der Praxis muss der Algorithmus mitunter abgebrochen werden, ohne dass eine optimale Lösung gefunden wurde. Allerdings hat das Verfahren den Vorteil, dass stets untere und obere Schranken des optimalen Zielfunktionswerts verfügbar sind. Die obere Schranke ist durch das aktuelle u gegeben. Eine untere Schranke l ist durch das Minimum aller unteren Schranken aller aktiven Knoten gegeben. u und l können ebenfalls benutzt werden, um ein Abbruchkriterium zu definieren, etwa u l < tol für eine vom Benutzer vorgegebene Toleranz tol > 0. Das Branch and Bound-Verfahren ist ein sehr flexibler Algorithmus, der in der Praxis sehr häufig eingesetzt wird. Es gibt viele Varianten und Modifikationen, so können untere Schranken, die etwa durch die ILP-Relaxierung berechnet wurden, weiter verbessert werden, indem einige (primale) Gomory-Schnitte durchgeführt werden. Dies verbessert die Qualität der Schranken und führt in der Regel zu kleineren Suchbäumen. Eine solche Variante wird häufig als Branch and Cut-Methode bezeichnet. Falls der zulässige Bereich von (ILP) unbeschränkt ist, gibt es keine Garantie, dass der Branch and Bound-Algorithmus endet. Betrachte dazu das Problem Maximiere
xCy
u. d. N.
2x C 2y 1;
x; y 2 Z Š
Das auf den ersten Blick sehr einfache Problem besitzt unendlich viele Lösungen mit x C y D 0, und das Branch and Bound-Verfahren terminiert nicht.
170
Kapitel 3 Ganzzahlige Optimierung
Beispiel 3.4.3 (vgl. Beispiel 3.1.2). Betrachte das folgende ganzzahlige Optimierungsproblem: Minimiere 2x1 3x2 unter den Nebenbedingungen x1 C 2x2 8; 2x1 C x2 9;
xi 0; xi 2 Z .i D 1; 2/ Š
Ablauf des Branch and Bound-Verfahrens: relaxierte Lösung: xQ D .10=3; 7=3/> wQ D 41=3 uD1
Min 2x1 3x2 u. d. N. x1 C 2x2 8; 2x1 C x2 9; xi 0; xi 2 Z
x1 3 rel. Lösung: xQ D .3; 2:5/> wQ D 13:5 uD1
x1 4
Min 2x1 3x2 u. d. N. x1 C 2x2 8; 2x1 C x2 9; xi 0; xi 2 Z; x1 3
x2 2
Min 2x1 3x2 u. d. N. x1 C 2x2 8; 2x1 C x2 9; xi 0; xi 2 Z; x1 4
x2 3
Min 2x1 3x2 u. d. N. x1 C 2x2 8; 2x1 C x2 9; xi 0; xi 2 Z; x1 3; x2 2
Min 2x1 3x2 u. d. N. x1 C 2x2 8; 2x1 C x2 9; xi 0; xi 2 Z; x1 3; x2 3
rel. Lösung: xQ D .3; 2/> , wQ D 12, zulässig, u WD 12
rel. Lösung: xQ D .2; 3/> , wQ D 13, zulässig, u WD 13
rel. Lösung: xQ D .4; 1/> wQ D 11 zulässig u WD 11
3.4.2 Branch and Bound im Allgemeinen Die für (ILP) angedeutete Vorgehensweise wird nun allgemein untersucht. Vorgelegt sei ein beliebiges gemischt-ganzzahliges Optimierungsproblem des Typs 3.1.1. Optimierungsproblem 3.4.4. Gegeben sei 0
0
f W Rn Znn ! R
171
Abschnitt 3.4 Branch and Bound-Methoden
auf der zulässigen Menge 0
0
S Rn Znn : P.S; f /
Minimiere f .x/ unter den Nebenbedingungen x2SŠ
S wird in konkreten Problemen meist durch explizite Gleichungen und Ungleichungen beschrieben. Man unterschätze nicht den Aufwand, ein zulässiges x 2 S zu berechnen und für x 2 S Optimalität zu testen. Beachte auch, dass verschiedene Beschreibungen der gleichen Menge S verschieden gut brauchbar sind. Wir beginnen mit den beiden wichtigsten Prinzipien des Bounding-Prozesses, der Relaxation und der Dualisierung. Relaxation 3.4.5. Betrachte das Optimierungsproblem P.S; f / mit der Zielfunktion f und der zulässigen Menge S sowie dem Minimalwert w.S; f / D inf f .x/; x2S
gegebenenfalls einer zulässigen Lösung x.S/ 2 S und einer Minimallösung x0 .S; f /: Definitionsgemäß sei w.S; f / D C1, falls S D ;, und w.S; f / D 1, falls f auf S nicht nach unten beschränkt ist. Eine Relaxation dieses Problems erhält man, indem man die zulässige Menge vergrößert SQ S und die Zielfunktion verkleinert fQ.x/ f .x/
Q .x 2 S/:
Das relaxierte Problem lautet dann: Q fQ/ Minimiere fQ.x/ unter der Nebenbedingung P.S; x 2 SQ Š
172
Kapitel 3 Ganzzahlige Optimierung
Eine der gebräuchlichsten Relaxationen für ganzzahlige oder gemischt-ganzzahlige Probleme besteht darin, die Ganzzahligkeitsbedingungen oder andere „komplizierte“ Nebenbedingungen fallen zu lassen. Ist f nicht konvex, so wird für fQ häufig ein so genannter konvexer Unterschätzer gewählt. Hierbei wird fQ als konvexe Funktion mit der Eigenschaft fQ.x/ f .x/ für alle x 2 SQ konstruiert. Wird zusätzlich auch der zulässige Bereich konvex relaxiert, so sind die resultierenden relaxierten Probleme konvex, und damit ist jedes lokale Minimum auch globales Minimum der relaxierten Probleme. Insbesondere liefert der Minimalwert des konvex relaxierten Problems dann tatsächlich eine untere Schranke für den Minimalwert des Ausgangsproblems. Dies kann im Allgemeinen nicht garantiert werden, wenn das relaxierte Problem nicht konvex ist und z. B. mit einem Optimierungsverfahren aus Kapitel 7 zur Bestimmung eines im Allgemeinen nur lokalen Minimums gelöst wird. Die (automatische) Konstruktion konvexer Unterschätzer für allgemeine Funktionen ist eine Wissenschaft für sich, da man die konvexen Unterschätzer so konstruieren möchte, dass sie f nicht allzu stark unterschätzen, also möglichst enge untere Schranken für f liefern. Für weiterführende Details verweisen wir auf [5, 1, 2, 161, 152, 70, 71] und auf die Implementierung in [141, 54]. Offenbar gilt Q fQ/ eine Lemma 3.4.6. x.S/ sei ein beliebiger zulässiger Punkt für P.S; f /, P.S; Relaxation von P.S; f /. Dann gilt die Einschließung w.SQ ; fQ/ w.S; f / f .x.S//: Existiert eine Minimallösung xQ von P.SQ ; fQ/, so folgt fQ.x/ Q w.S; f / f .x.S//: Ist xQ 2 S, so ist fQ.x/ Q w.S; f / f .x/: Q Ist überdies fQ.x/ Q D f .x/, Q so ist f .x/ Q D w.S; f / und xQ Minimallösung von P.S; f /. Oft wählt man fQ f; dann ist xQ Minimallösung von P.S; f /, sobald xQ 2 S:
Abschnitt 3.4 Branch and Bound-Methoden
173
Der Fall, dass eine Minimallösung des relaxierten Problems P.SQ ; fQ/ auch zulässig ist für das Ausgangsproblem P.S; f /, wird nur in speziellen Situationen wirklich eintreten. Daher wird man versuchen, S noch besser durch SQ S zu approximieren. Hierbei ist das Konzept der Schnitthyperebenen sehr nützlich. Das Schnittebenenverfahren von Gomory für ganzzahlige lineare Optimierungsprobleme haben wir bereits kennen gelernt. Das Kelleysche Schnittebenenverfahren für kontinuierliche konvexe, auch nichtglatte Optimierungsprobleme werden wir in Abschnitt 5.6 genauer studieren. Beide Verfahren benötigen sehr viele Schnitte, um eine Optimallösung zu berechnen oder hinreichend genau zu approximieren. Zur Verbesserung unterer Schranken für den Minimalwert mittels einiger Schnitte sind sie aber durchaus brauchbar. Noch besser ist es jedoch, an die konkrete Problemstruktur angepasste Schnitthyperebenen (strong valid inequalities) zu verwenden, vgl. [118]. Eine weitere Möglichkeit, untere Schranken zu gewinnen, liefert Dualisierung des Ausgangsproblems. Dualisierung 3.4.7. Gegeben sei das Optimierungsproblem P.S; f /
Minimiere f .x/ unter der Nebenbedingung x2SŠ
Ausgehend vom Optimierungsproblem formuliere man ein geeignetes Dualproblem, für das zumindest ein Analogon zu dem uns schon bekannten schwachen Dualitätssatz 2.6.5 der linearen Optimierung gilt. Dies gelingt mit dem gleichen störungstheoretischen Ansatz wie in Abschnitt 2.6 folgendermaßen: Bette das Problem P.S; f / DW P.S0Rm ; f0Rm / ein in eine Schar gestörter Optimierungsprobleme: P.Sb ; fb /
Minimiere fb .x/ unter der Nebenbedingung x 2 Sb Š
Dafür erhalten wir die Minimalwertfunktion w.b/ D inf fb .x/: x2Sb
Genauso wie in der linearen Optimierung erhalten wir damit das Dualproblem: Maximiere 2 R unter den Nebenbedingungen y 2 Rm und y > b C w.b/ .b 2 Rm / Š
174
Kapitel 3 Ganzzahlige Optimierung
Dies ist gleichbedeutend mit: D.S; f /
Maximiere inf .w.b/ y > b/
b2Rm
unter der Nebenbedingung y 2 Rm ! Lemma 3.4.8. x.S/ sei ein beliebiger zulässiger Punkt für P.S; f /. Das oben konstruierte Dualproblem D.S; f / besitze den Maximalwert wD . Dann gilt die Einschließung wD w.S; f / f .x.S//: Ist y zulässig für D.S; f /, so folgt inf .w.b/ y > b/ wD w.S; f / f .x.S//:
b2Rm
Ist y zulässig für D.S; f / und inf .w.b/ y > b/ D f .x.S//;
b2Rm
so ist y optimal für D.S; f / und x.S/ optimal für P.S; f /. Beweis. Nach Konstruktion des Dualproblems ist wD D sup Œ inf .w.b/ y > b/ m y2Rm b2R
sup Œw.0Rm / y > 0Rm y2Rm
D w.S; f /: Hieraus ergeben sich alle anderen Folgerungen. Anmerkung. (i) Diese Dualität zwischen den Problemen P.S; f / und D.S; f / scheint auf den ersten Blick etwas skurril zu sein, handelt es sich doch bei dem Dualproblem D.S; f / um ein „Maximinproblem“, das nicht einfacher zu sein braucht als das Primalproblem P.S; f /. Wir haben aber bereits in Abschnitt 2.6 gesehen, dass das Problem D.S; f / für lineare Probleme das bereits bekannte Dualproblem ist. In Abschnitt 5.4 des Kapitels 5 über konvexe Optimierung werden wir sehen, dass das Problem D.S; f / auch für konvexe Probleme mit Standardstörung mit dem üblichen Dualproblem übereinstimmt.
175
Abschnitt 3.4 Branch and Bound-Methoden
(ii) Zur Gewinnung unterer Schranken braucht im Gegensatz zur Relaxation keine Optimallösung des Dualproblems bestimmt zu werden, aber der Zielfunktionswert für eine dualzulässige Lösung muss „einfach“ berechnet werden können. (iii) Beachte, dass auch wD < w.S; f / ausfallen kann (duality gap), dann lässt sich w.S; f / nicht beliebig genau von unten mittels dualzulässiger Lösungen approximieren. Falls Relaxation oder Dualisierung nicht allein zum Ziele führen, so kann man versuchen, das Ausgangsproblem in „kleinere“ oder „einfachere“ Teilprobleme aufzuspalten. Dies entspricht dann einer Verzweigung des abzuarbeitenden Baums von Optimierungsproblemen. Jeder Knoten des Baums befindet sich dann in einem der Zustände:
noch nicht bearbeitet,
bearbeitet, weitere Verzweigung möglich,
bearbeitet, weitere Verzweigung unnötig.
Man sagt auch, dass der Baum in den Knoten der letzten Art „beschnitten“ oder „gestutzt“ wurde. Verzweigung 3.4.9. Betrachte das Optimierungsproblem P.S; f /
Minimiere f .x/ unter der Nebenbedingung x2SŠ
Sei SD
[
Sj
j 2J
eine (nicht notwendig disjunkte) Zerlegung von S. Damit erhalten wir die Familie P.Sj ; f /
Minimiere f .x/ unter der Nebenbedingung x 2 Sj Š
von Subproblemen, die wir wiederum relaxieren oder dualisieren können. Die für P.S; f / bereits gewonnenen unteren und oberen Schranken können durch genauere Analyse der Subprobleme verbessert werden, uninteressante Teilprobleme können ausgeschieden werden. Gleichzeitig wird sukzessive ein Problembaum aufgebaut.
176
Kapitel 3 Ganzzahlige Optimierung
Lemma 3.4.10. Sei SD
[
Sj
j 2J
eine Zerlegung von S . Dann gilt w.S; f / D min w.Sj ; f /: j 2J
Wichtig ist, zu entscheiden, wann solch ein Subproblem nicht weiter unterteilt zu werden braucht. Lemma 3.4.11. Sei SD
[
Sj
j 2J
eine Zerlegung von S . Das Teilproblem P.Sj ; f / braucht nicht mehr weiter unterteilt zu werden, falls eine der Bedingungen erfüllt ist: (i) Sj D ; . (ii) Eine Optimallösung x0 .Sj ; f / wurde gefunden. (iii) w.Sj ; f / f .x/ für ein x 2 S . Im Fall (iii) ist nämlich mit diesem x 2 S w.Sj ; f / f .x/ w.S; f /: Ist w.Sj ; f / > f .x/ oder
f .x/ > w.S; f /;
so ist w.Sj ; f / > w.S; f /; das Teilproblem also unbrauchbar, andernfalls ist w.Sj ; f / D f .x/ D w.S; f /; x also bereits optimal auf S .
Abschnitt 3.4 Branch and Bound-Methoden
177
Überprüfung dieser Bedingungen mittels Relaxation: (i) SQj D ; impliziert Sj D ; . (ii) Eine Optimallösung x0 .SQj ; fQ/ wurde gefunden mit x0 .SQj ; fQ/ 2 Sj und fQ.x0 .SQj ; fQ// D f .x0 .SQj ; fQ//: (iii) w.SQj ; fQ/ f .x/ für ein x 2 S: Dann ist nämlich für dieses x 2 S w.Sj ; f / w.SQj ; fQ/ f .x/: Überprüfung dieser Bedingungen mittels Dualisierung: (i) Die Zielfunktion des Dualproblems D.Sj ; f / ist nicht nach oben beschränkt. (ii) Eine zulässige Lösung y für das Dualproblem D.Sj ; f / wurde gefunden und eine primalzulässige Lösung x 2 Sj mit inf .w.b/ y > b/ D f .x/:
b2Rm
(iii) Eine zulässige Lösung y für das Dualproblem D.Sj ; f / wurde gefunden und eine zulässige Lösung x 2 S mit inf .w.b/ y > b/ f .x/:
b2Rm
Dann ist nämlich für dieses x 2 S w.Sj ; f / inf .w.b/ y > b/ f .x/: b2Rm
Branch and Bound-Verfahren nutzen die obigen Relaxations-, Dualisierungs- und Verzweigungsstrategien gezielt aus und sind konzeptionell von folgendem Typ: Branch and Bound-Verfahren 3.4.12. Wir generieren sukzessive eine Menge V von Optimierungsproblemen und damit einen Problembaum T D .V; E/ und verwalten dabei eine Teilmenge LV von noch zu bearbeitenden Knoten dieses Baums.
178
Kapitel 3 Ganzzahlige Optimierung
(0) Initialisierung: Wähle das Ausgangsproblem P.S; f / als Wurzelknoten eines Problembaums T D .V; E/ und setze L D ¹P.S; f /º; u D C1: (1) Bearbeitung eines Problems P.S; f / 2 L: (a) Bounding: Berechne eine zulässige Lösung x.S/ 2 S und damit eine obere Schranke u.S/ D f .x.S//: Ist S D ;, so setze u.S/ D C1: Berechne eine untere Schranke l.S/ 2 R [ ¹1º [ ¹C1º für die Zielfunktion f auf S . Ist u.S/ < u, so setze u D u.S/ D f .x.s//; xC D x.S/: (b) Verkleinerung von L: Ist l.S/ D u.S/; so liegt einer der beiden Fälle vor: i) S D ;, dann ist u.S/ D l.S/ D C1. ii) S ¤ ;, dann ist u.S/ D l.S/ 2 R und x.S/ optimal für P.S; f /. Das Problem P.S; f / ist damit gelöst, eine weitere Verzweigung unnötig. Daher entferne man das Problem P.S; f / aus L. Ist l.S/ u; so kann das Problem P.S; f / ebenfalls aus L entfernt werden. Denn entweder ist u D C1 und daher S D ;, oder es ist u 2 R und daher f .xC / D u l.S/ inf f .x/; x2S
d. h. die Punkte aus S liefern keinen kleineren Zielfunktionswert als die beste bislang berechnete zulässige Lösung xC für das Ausgangsproblem.
179
Abschnitt 3.4 Branch and Bound-Methoden
(c) Verzweigung: Im verbleibenden Fall l.S/ < u erzeuge man durch Zerlegung von S, [ Sj ; SD j 2J
Optimierungsprobleme P.Sj ; f / und füge sie zusammen mit den Kanten .P.S; f /; P.Sj ; f // für alle j 2 J dem Problembaum hinzu. Entferne das Problem P.S; f / aus L und füge alle Nachfolger P.Sj ; f / für j 2 J zu L hinzu. (2) Abbruchkriterium: Solange L nicht leer ist, bearbeite man die Probleme aus L in Schritt (1). Sobald L D ; erreicht ist, breche man die Rechnung ab. Falls sich der Algorithmus aus Zeitgründen gar nicht so lange durchführen lässt, bis L D ; ist, hat der aktuelle bis dahin erzeugte Problembaum die folgende Struktur. Einige seiner „Blätter“ sind endgültig abgearbeitet. Es ist xC die beste bislang ermittelte zulässige Lösung für das Ausgangsproblem und u D f .xC /: Die übrigen Blätter befinden sind noch in L. Die Blätter des aktuellen Problembaums gehören also zu einem der folgenden Typen: a) Das Blatt P.S; f / ist optimal gelöst, es ist l.S/ D u.S/ u: Dieses Blatt wird nicht weiter verzweigt und gehört auch nicht mehr zu L. b) Für das Blatt P.S; f / ist l.S/ u: Dieses Blatt wird ebenfalls nicht weiter verzweigt und gehört nicht mehr zu L. c) Für das Blatt P.S; f / ist l.S/ < u; und es ist noch (vor dem weiteren Verzweigen) P.S; f / 2 L:
180
Kapitel 3 Ganzzahlige Optimierung
Beachtet man noch, dass die Vereinigung aller Mengen S, für die P.S; f / ein Blatt des aktuellen Problembaums ist, gleich der zulässigen Menge des Ausgangsproblems ist, so erhält man den Satz 3.4.13. (a) Solange L ¤ ; ist, liefert der aktuelle Problembaum die Einschließung min
P.S;f / 2 L
l.S/ D
min
l.S/
min
inf f .x/
P.S;f / Blatt
P.S;f / Blatt x2S
u: (b) Ist L D ;, also der Problembaum komplett abgearbeitet, so ist u
min
P.S;f / Blatt
l.S/
min
inf f .x/ u:
P.S;f / Blatt x2S
Entweder ist also u D C1 und die zulässige Menge des Ausgangsproblems leer, oder es ist xC Optimallösung des Ausgangsproblems zum Minimalwert u D f .xC /:
3.5
Travelling Salesman-Problem
Die effiziente Lösung des Travelling Salesman-Problems 1.1.7 ist für große Knotenzahlen sehr schwierig. Diesbezügliche theoretische Untersuchungen und Algorithmen finden sich in den Büchern [118, 73, 147, 148, 149, 96] und in der darin zitierten Literatur. Diese Bücher stellen auch den aktuellen Stand der Forschung auf dem Gebiet der kombinatorischen Optimierung dar. Wichtiges Hilfsmittel ist die Benutzung von starken gültigen Ungleichungen (strong valid inequalities) beim Bounding, die in möglichst hochdimensionalen Facetten des durch die zulässigen Touren des Handlungsreisenden erzeugten konvexen Polyeders aktiv werden. Die Entdeckung solcher Ungleichungen ist Kunst und Wissenschaft zugleich. Wir beschränken uns hier auf ein (sehr) kleines Travelling Salesman-Problem, anhand dessen noch einmal das allgemeine Branch and Bound-Prinzip illustriert werden soll. Ein Handlungsreisender soll Kunden in 1 Bayreuth 2 Ochsenfurt 3 Finsterwalde 4 Leipzig 5 Forchheim
181
Abschnitt 3.5 Travelling Salesman-Problem
besuchen. Die Entfernungstabelle ist 5
4
3
2
1
58
164
217
132
2
79
201
290
3
303
113
4
196
Alle Städte sind mit allen anderen verbunden, die Verbindungen sind in beiden Richtungen befahrbar. Der zugehörige Graph ist:
3 4
2
1 5 Abbildung 3.6. Städteverbindungen.
Definiere V WD ¹1; : : : ; 5º; E WD V V n ¹.1; 1/; : : : ; .5; 5/º und entnehme aus der Entfernungstabelle cij D cj i ..i; j / 2 E/ . Das Handlungsreisendenproblem lautet dann in mathematischer Form: Minimiere X .i;j /2E
cij xij
182
Kapitel 3 Ganzzahlige Optimierung
unter den Nebenbedingungen X
xij 2 ¹0; 1º
..i; j / 2 E/;
xij D 1
.j 2 V /;
(3.18)
xij D 1
.i 2 V /;
(3.19)
¹iW.i;j /2E º
X
¹j W.i;j /2E º
X
xij 1
(3.20)
¹.i;j /2E Wi 2U;j 2V nU º
für alle U V mit 2 jU j jV j 2 ! Dies ist ein kombinatorisches Optimierungsproblem mit 20 Boolschen Entscheidungsvariablen, das man durch Probieren lösen kann, da der Boolsche Vektor x 2 ¹0; 1º20 nur 1024 1024 verschiedene Werte annehmen kann, oder durch die Erfahrung des Handlungsreisenden (bei nur 5 Städten kennt er die kürzeste Tour). Uns soll es zur Veranschaulichung des Branch and Bound-Prinzips dienen. Initialisierung: Setze S D Menge aller Touren; u D C1 L D ¹S º: Bearbeitung von S 2 L: Bounding: Berechne eine zulässige Lösung x.S/ 2 S: Erspart man sich diesen Arbeitsaufwand, so kann man in diesem Schritt u nicht verbessern und auch keinen Optimalitätstest durchführen. Offenbar ist x.S/ mit den nichttrivialen Komponenten x12 D x23 D x34 D x45 D x51 D 1
183
Abschnitt 3.5 Travelling Salesman-Problem
3 4
2
1 5 Abbildung 3.7. Tour x.S / 2 S .
eine Tour der Länge u.S/ D 789: Untere Schranken gewinnen wir durch Relaxation, indem wir die Nebenbedingungen (3.20) weglassen. Das resultierende Problem ist (fast) ein Zuordnungsproblem, das z. B. mit dem Transportalgorithmus, vgl. das Netzwerksimplexverfahren aus Abschnitt 4.2, gelöst werden kann. Als Lösung erhalten wir xQ 15 D xQ 21 D xQ 34 D xQ 43 D xQ 52 D 1: 3 4
2
1 5
Abbildung 3.8. Optimallösung für die Relaxation SQ von S .
Diese Lösung des relaxierten Problems ist keine Tour, liefert aber die untere Schranke l.S/ D 495: Für den Minimalwert w des Ausgangsproblems haben wir damit die Einschließung gewonnen l.S/ D 495 < w u.S/ D 789;
184
Kapitel 3 Ganzzahlige Optimierung
als bislang beste obere Schranke u D 789 und als bislang beste zulässige Lösung xC D x.S/: Branching: Wegen l.S/ < u müssen wir die Menge S zerlegen. Wir setzen S1 D S \ ¹x34 D 0º; S2 D S \ ¹x43 D 0º: Dies ist zwar nicht unbedingt eine disjunkte Zerlegung von S, aber eine Zerlegung, da x34 D x43 D 1 einer Subtour entspräche, die in S nicht erlaubt ist. Setze L D ¹S1 ; S2 º: Bearbeitungen von S1 : Bounding: Eine zulässige Lösung x.S1 / 2 S1 ist x15 D x54 D x43 D x32 D x21 D 1: 3 4
2
1 5 Abbildung 3.9. x.S1 / 2 S1 .
Sie liefert u.S1 / D 789:
185
Abschnitt 3.5 Travelling Salesman-Problem
Relaxation durch Unterdrückung von (3.20) liefert xQ 14 D xQ 25 D xQ 31 D xQ 43 D xQ 52 D 1 3 4
2
1 5
Abbildung 3.10. Optimallösung für die Relaxation SQ1 von S1 .
und damit die untere Schranke l.S1 / D 652: Wegen u.S1 / D u bleiben u und xC ungeändert. Branching: Wegen l.S1 / < u müssen wir die Menge S1 weiter zerlegen. Wir setzen S11 D S \ ¹x34 D 0º \ ¹x25 D 0º; S12 D S \ ¹x34 D 0º \ ¹x52 D 0º; L D ¹S11 ; S12 ; S2 º: Bearbeitung von S11 : Bounding: Die zulässige Lösung x.S1 / 2 S1 ist auch zulässig für S11 , setze x.S11 / D x.S1 /; dann ist u.S11 / D 789: Relaxation liefert xQ 15 D xQ 24 D xQ 31 D xQ 43 D xQ 52 D 1
186
Kapitel 3 Ganzzahlige Optimierung
3 4
2
1 5
Abbildung 3.11. Optimallösung für die Relaxation SQ11 von S11 .
und damit l.S11 / D 668: Bemerkt man, dass xQ zulässig ist für das Ausgangsproblem, kann man x.S11 / WD xQ setzen und so die obere Schranke verbessern zu u.S11 / D 668: Damit wird l.S11 / D u.S11 /; d. h. das Problem ist auf S11 optimal gelöst. Setze u D u.S11 / D 668; xC D x.S11 /; L D ¹S12 ; S2 º: Bearbeitung von S12 : Bounding: Die zulässige Lösung x.S1 / 2 S1 ist auch zulässig für S12 , liefert aber keine bessere obere Schranke als das aktuelle u. Relaxation von S12 liefert xQ 14 D xQ 43 D xQ 32 D xQ 25 D xQ 51 D 1
187
Abschnitt 3.5 Travelling Salesman-Problem
3 4
2
1 5
Abbildung 3.12. Optimallösung der Relaxation SQ12 von S12 .
und damit die untere Schranke l.S12 / D 704: Wegen l.S12 / > u kann dieses Problem entfernt werden, L D ¹S2 º: Da xQ auch zulässig für das Ausgangsproblem ist, ist xQ optimal auf S12 . Diese Information nützt uns aber nichts, u D 668; xC D x.S11 / bleiben ungeändert. Bearbeitung von S2 : Wegen der Symmetrie des hier betrachteten Handlungsreisendenproblems braucht S2 D S \ ¹x43 D 0º eigentlich nicht mehr betrachtet zu werden. Wir fassen uns daher sehr kurz. Bounding: Durch Richtungsumkehr in der bislang besten zulässigen Lösung aus S11 erhalten wir die zulässige Lösung x.S2 / 2 S2 mit x13 D x34 D x42 D x25 D x51 D 1
188
Kapitel 3 Ganzzahlige Optimierung
3 4
2
1 5
Abbildung 3.13. Optimallösung für die Relaxation SQ2 von S2 .
und damit l.S2 / D 668 D u.S2 /: Das Problem ist damit auf S2 optimal gelöst und kann wegen l.S2 / D u entfernt werden, L D ;: Abbruch: Damit ist xC D x.S11 / eine optimale Tour der Länge u D 668. Natürlich ist x.S2 / ebenfalls eine optimale Tour. Insgesamt wurde folgender Problembaum erzeugt: S x34 D 0
x43 D 0
S2
S1 x25 D 0
S11
x52 D 0
S12 Abbildung 3.14. Problembaum.
189
Abschnitt 3.6 Aufgaben
3.6
Aufgaben
Aufgabe 3.6.1. Gegeben sei das folgende ganzzahlige lineare Optimierungsproblem Minimiere x2 4x1 u. d. N.
7x1 2x2 14; x2 3; 2x1 2x2 3; x 0;
x1 ; x2 2 Z Š
Lösen Sie dieses Problem mit dem Branch and Bound-Verfahren. Die dabei auftretenden linearen Teilprobleme können mit dem Simplexverfahren gelöst werden. Geben Sie ausführlich alle Zwischenschritte an, insbesondere welches lineare Problem Sie lösen. Zeichnen Sie einen Baum mit allen Verzweigungen, den Optimalwerten und dem optimalen Vektor. Zeichnen Sie den zulässigen Bereich mit den jeweiligen optimalen Vektoren der Subprobleme. Aufgabe 3.6.2. Lösen Sie das folgende binäre Optimierungsproblem mit dem Branch and Bound-Verfahren: Maximiere 3x1 C x2 C 2x3 x4 C x5 u. d. N.
2x1 C x2
3x4
1;
x1 C 2x2 3x3 x4 C 2x5 2; x1 ; x2 ; x3 ; x4 ; x5 2 ¹0; 1º Š Aufgabe 3.6.3. Führen Sie einen Schritt des Verfahrens von Gomory durch für das ganzzahlige Optimierungsproblem Maximiere 14x1 C 18x2 u. d. N.
x1 C 3x2 6; 7x1 C x2 35; x1 ; x2 2 N0 Š
Stellen Sie den durch das Verfahren von Gomory konstruierten Schnitt graphisch dar. Aufgabe 3.6.4. Ein Student beabsichtigt, Lieder aus einer Liedersammlung auf CD zu brennen. Der Student hat nur eine CD mit einer maximalen Kapazität von 15 Einheiten zur Verfügung. Da nicht alle Lieblingslieder des Studenten auf die CD passen, erzeugt der Student eine Rangliste der Lieder, indem er jedem Lied eine Zahl zuordnet, die seinen persönlichen Geschmack abbildet. Des Weiteren listet der Student die benötigte Länge (in Einheiten) der Lieder auf. Die folgende Tabelle enthält diese Daten:
190
Kapitel 3 Ganzzahlige Optimierung
Lied
1
2
3
4
5
6
Wertung
4
3
7
5
6
4
Länge
2
5
9
3
5
6
Der Student möchte nun eine CD mit maximalem Geschmack zusammenstellen. Formulieren Sie dieses Problem als ein Optimierungsproblem. Aufgabe 3.6.5. Anstatt beim Schnittebenenverfahren von Gomory Schnitte für das duale Problem zu konstruieren und eine Nachoptimierung mit dem primalen Simplexverfahren durchzuführen, können auch Schnitte für das primale Problem konstruiert werden und mit dem dualen Simplexverfahren nachoptimiert werden. Entwickeln Sie für ganzzahlige Probleme in primaler Normalform einen entsprechenden konzeptionellen Algorithmus und testen Sie diesen an der folgenden Aufgabe (ILP): Minimiere x1 2x2 3 x1 C 3x2 C x3 u. d. N. D 4; 2 C 2x4 D 2; x1 C x2 x1 ; x2 ; x3 ; x4 0; x1 ; x2 ; x3 ; x4 2 Z Š Gehen Sie wie folgt vor: (a) Eine optimale Lösung der ILP-Relaxierung besitzt die Basisindexmenge J D ¹1; 4º und die Nichtbasisindexmenge J c . Finden Sie die dazugehörige Lösung x der ILP-Relaxierung und drücken Sie diese in der Form c
pJ D ˇJ xJJ pJ c ; pJ c D 0R2 aus, wobei ˇJ D .AJ /1 b und xJJ D .AJ /1 AJ sind und A und b die Koeffizientenmatrix bzw. den Vektor der rechten Seite in den Gleichungsrestriktionen des (ILP) bezeichnen. c
c
(b) Konstruieren Sie einen primalen Gomory-Schnitt der Komponente x4 in der optimalen Lösung aus (a) und formulieren Sie die daraus resultierende Restriktion, welche der ILP-Relaxierung hinzugefügt werden soll. Zeigen Sie, dass die optimale Lösung aus (a) diese zusätzliche Bedingung nicht erfüllt. (c) Skizzieren Sie den zulässigen Bereich von (ILP) und den zulässigen Bereich der ILP-Relaxierung in der .x1 ; x2 /-Ebene (dabei seien x3 und x4 Schlupfvariable). Skizzieren Sie die optimale Lösung der ILP-Relaxierung aus (a) und den primalen Gomory-Schnitt aus (b).
191
Abschnitt 3.6 Aufgaben
Aufgabe 3.6.6. Sei G D .V; E; c/ ein zusammenhängender ungerichteter Graph mit Gewichtsfunktion c W E ! R. Die Aufgabe des „minimum spanning tree“ Problems (MST) besteht in diesem Fall darin, einen spannenden Baum zu finden mit minimalem Gewicht, d. h. (MST) ist gegeben durch das Optimierungsproblem: Minimiere u. d. N.
X
cij
.i;j /2E 0 G 0 D .V; E 0 /
mit E 0 E ist ein Baum Š
Für den obigen Graphen G D .V; E; c/ sei weiter folgendes (ILP) definiert: Minimiere
X
cij xij
.i;j /2E
X
u. d. N.
xij D n 1;
.i;j /2E
X
xij jXj 1 für jedes ; 6D X V;
¹.i;j /2E Wi;j 2Xº
xij 2 ¹0; 1º für .i; j / 2 E Š Der Lösungsvektor x D .xij /.i;j /2E von (ILP) bestimmt die Kanten eines Teilgraphen G 0 D .V; E 0 /, wobei .i; j / genau dann in E 0 sei, wenn xij D 1 ist. Zeigen Sie, dass die Lösung von (MST) einen Vektor x definiert, der optimal ist für (ILP), und umgekehrt.
Aufgabe 3.6.7 (vgl. [18], Aufg. 8.9). Ein Personalleiter bewertet den Nutzen von vier Mitarbeitern für ein Projekt mit 3; 5; 2 und 4. Die Kosten der Mitarbeiter sind mit 30; 50; 20 und 40 Geldeinheiten angegeben. Insgesamt stehen 90 Geldeinheiten zur Verfügung. Welche Mitarbeiter soll der Personalleiter für das Projekt auswählen?
Aufgabe 3.6.8. Die Verwaltungsbehörde hat vor, in einem Gebiet, bestehend aus sechs Städten, ein Netzwerk von neuen Unfallstationen mit allen notwendigen Geräten, Ambulanzen, Personal usw. auszustatten. Die zur Verfügung stehenden Mittel erlauben es nicht, in allen Städten neue Unfallstationen einzurichten. Andererseits sollen die Stationen so liegen, dass jede Stadt ohne Station von einer Stadt mit Station in nicht mehr als 15 Minuten erreichbar ist. Die Behörde will die Anzahl der Stationen minimieren. Die Entfernung (in Minuten) zwischen den Städten ist in der folgenden Tabelle angegeben:
192
Kapitel 3 Ganzzahlige Optimierung
Städte
1
2
3
4
5
6
1 2 3 4 5 6
0 10 20 30 30 20
10 0 25 35 20 10
20 25 0 15 30 20
30 35 15 0 17 25
30 20 30 17 0 14
20 10 20 25 14 0
Formulieren Sie diese Aufgabe als ein ganzzahliges lineares Optimierungsproblem und lösen Sie es mit einem geeigneten Verfahren. Aufgabe 3.6.9. Ein Trainer versucht, die Startaufstellung einer Basketballmannschaft zu bestimmen. Die Mannschaft besteht aus sieben Spielern, die entsprechend ihren Fähigkeiten hinsichtlich Balltechnik, Wurftechnik, Reboundspiel und Abwehrverhalten auf einer Skala von 1 (schlecht) bis 3 (hervorragend) bewertet sind. Die Positionen, auf denen die Spieler spielen können, sind in der folgenden Tabelle aufgelistet. Spieler
Position
Balltechnik
Wurftechnik
Reboundspiel
Abwehrverhalten
1 2 3 4 5 6 7
Abwehr Center Abwehr, Angriff Angriff, Center Abwehr, Angriff Angriff, Center Abwehr, Angriff
3 2 2 1 1 3 3
3 1 3 3 3 1 2
1 3 2 3 1 2 2
3 2 2 1 2 3 2
Die aus fünf Spielern bestehende Startaufstellung muss folgende Bedingungen erfüllen: (i) Mindestens vier Spieler müssen in der Abwehr spielen können. Mindestens zwei Spieler müssen im Angriff spielen können, und mindestens ein Spieler muss als Center spielen können. (ii) Die Werte für Balltechnik, Wurftechnik und Reboundspiel der Startaufstellung müssen mindestens 2 betragen. (iii) Falls Spieler 3 startet, kann Spieler 6 nicht starten. (iv) Falls Spieler 1 startet, müssen Spieler 4 und 5 beide starten. (v) Entweder Spieler 2 oder Spieler 3 muss starten.
193
Abschnitt 3.6 Aufgaben
Der Trainer möchte eine Mannschaft mit maximalem Abwehrverhalten aufstellen. Formulieren Sie ein ganzzahliges Optimierungsproblem zur Lösung des Problems und lösen Sie es mit einem geeigneten Verfahren. Aufgabe 3.6.10. Zur Bearbeitung von vier Aufgaben stehen fünf Arbeitskräfte zur Verfügung. Die folgende Tabelle gibt die Zeit (in Stunden) an, die jede Arbeitskraft zur Erledigung der jeweiligen Aufgabe benötigt. (Ein ,–‘ bedeutet, dass die Aufgabe von der jeweiligen Arbeitskraft nicht gelöst werden kann.)
Person 1 Person 2 Person 3 Person 4 Person 5
Aufgabe 1 22 18 26 16 21
Aufgabe 2 18 – 20 22 –
Aufgabe 3 30 27 28 – 25
Aufgabe 4 18 22 28 14 28
Gesucht ist die Zuweisung der Arbeitskräfte zu den Aufgaben, so dass die Gesamtzeit zur Erledigung der vier Aufgaben minimal ist. Modellieren Sie dieses Problem und lösen Sie es.
Kapitel 4
Netzwerkflussprobleme
Netzwerkflussprobleme sind ein wichtiges Teilgebiet des Operations Research. Nach der Vorstellung einiger weniger Grundbegriffe aus der Graphentheorie in Abschnitt 4.1 modellieren wir in Abschnitt 4.2 lineare Netzwerkflussprobleme mathematisch und behandeln dann das Netzwerksimplexverfahren sehr ausführlich. Eine wesentliche Grundlage war hier das sehr gehaltvolle Buch von Chvátal [27]. Unser Ziel ist dabei, deutlich zu machen, dass das Netzwerksimplexverfahren in der Tat nichts anderes ist als ein primales Simplexverfahren, bei dem der Optimalitätstest mittels der Complementary Slackness Condition durchgeführt wird und die spezielle graphentheoretische Struktur des Problems intensiv ausgenutzt wird. Das lineare Netzwerkflussproblem enthält viele Problemtypen als Spezialfall (Transportprobleme, Zuordnungsprobleme, Maximalflussprobleme, Kürzeste-WegeProbleme). Dennoch lohnt es sich, für solche Probleme spezielle Algorithmen zu entwickeln, die die Problemstruktur noch besser nutzen als das Netzwerksimplexverfahren. Wir zeigen dies für die Klasse der Maximalflussprobleme in Abschnitt 4.3 und der Kürzeste-Wege-Probleme in Abschnitt 4.4.
4.1
Graphentheoretische Grundbegriffe
Wir stellen im Folgenden einige Grundbegriffe für gerichtete Graphen zusammen. Anschaulich ist ein Graph eine Menge von Punkten und von Beziehungen zwischen Punktepaaren:
1
2 3 4 6
5 Abbildung 4.1. Gerichteter Graph.
Abschnitt 4.1 Graphentheoretische Grundbegriffe
195
Ein (gerichteter) Graph oder Digraph .V; E/ besteht aus einer nichtleeren Menge V von Knoten, einer Menge E von gerichteten Kanten (Bögen, Pfeilen) und einer Inzidenzabbildung h W E ! V V; die jeder gerichteten Kante e 2 E ein geordnetes Paar .v; w/ 2 V V zuordnet. Meist werden e D .v; w/ miteinander identifiziert. v heißt Anfangsknoten und w heißt Endknoten von e. Im Folgenden nehmen wir stets an, dass v ¤ w, dass also keine Schleifen vorkommen. Zwei Kanten eines Graphen heißen parallel, wenn sie den gleichen Anfangs- und den gleichen Endknoten besitzen. Ein Graph ohne parallele Kanten heißt einfach. Ein Graph heißt vollständig, wenn je zwei verschiedene Knoten v und w durch Kanten .v; w/ und .w; v/ verbunden sind. Ein Graph .V; E/ heißt symmetrisch, wenn mit .v; w/ 2 E stets auch .w; v/ 2 E ist, und antisymmetrisch, wenn aus .v; w/ 2 E stets .w; v/ … E folgt. Graphen lassen sich eindeutig durch Matrizen beschreiben. Definition 4.1.1 (Adjazenzmatrix). V D ¹1; : : : ; nº sei die Knotenmenge und E die Kantenmenge eines Graphen. Dann heißt die durch ´ 1; falls .i; j / 2 E; uij D 0 sonst j D1;:::;n
definierte Matrix U D .uij /i D1;:::;n Adjazenzmatrix von .V; E/. Für gerichtete Graphen eignet sich auch die folgende Darstellung. Definition 4.1.2 (Knoten-Kanten-Inzidenzmatrix). Sei G D .V; E/ ein gerichteter Graph mit Knotenmenge V D ¹1; : : : ; nº und Kantenmenge E D ¹e1 ; : : : ; em º:
196
Kapitel 4 Netzwerkflussprobleme
Die Matrix D1;:::;m A D .aij /ji D1;:::;n
mit den Einträgen 8 ˆ falls i Anfangsknoten von ej ; 0 und ij
O D
piOjO liOjO ij xO O ij
D min
2J ij x >0
p l ij
x
;
209
Abschnitt 4.2 Netzwerksimplexverfahren ij ij
bzw., falls zuerst an eine obere Schranke angestoßen wird, mit xO O < 0 und uiOjO piOjO
O D
ij x O O ij
D
u p
min
ij
x
2J [¹ij º ij x 0 und ij
O D
piOjO liOjO xN OijO ij
D
min
p l
2J [¹ij º ij x N >0
ij xN
;
ij ij
bzw., falls zuerst an eine obere Schranke angestoßen wird, mit xN O O < 0 und O D
uiOjO piOjO ij xN O O ij
D min
2J ij x N wij oder (ii) lij < pij D uij und yi yj < wij . Füge die Kante .i; j / dem spannenden Baum T hinzu. Dadurch entsteht ein Kreis mit Kantenmenge EK J [ ¹ij º. (4) Berechne O D min¹O 1 ; O 2 º mit O 1 D O 2 D
min
p l ;
min
u p
2EK n¹ij º entgegen ij gerichtet
2EK gleich gerichtet wie ij
211
Abschnitt 4.2 Netzwerksimplexverfahren
im Fall (i) und O 1 D O 2 D
min
p l ;
min
u p
2EK gleich gerichtet wie ij
2EK n¹ij º entgegen ij gerichtet
im Fall (ii). Es bezeichne iO jO 2 J einen Index für den O D min¹O 1 ; O 2 º gilt. Ist O D 1, beende das Verfahren: Das Problem ist unbeschränkt. (5) Führe Basiswechsel durch: Setze für alle 2 EK ´ O falls entgegen ij gerichtet ist; p ; p WD O p C ; falls gleich gerichtet ist wie ij ; im Fall (i) und p
´ O falls entgegen ij gerichtet ist; p C ; WD O p ; falls gleich gerichtet ist wie ij ;
im Fall (ii). Setze J WD .J n ¹iO jOº/ [ ¹ij º und gehe zu (1) mit der aufdatierten Basislösung.
Beispiel 4.2.11. Wir rechnen einen Basiswechsel für das Testbeispiel 4.2.2 explizit durch. Eine zulässige Startbasis ist in Abbildung 4.3 dargestellt. Zunächst berechnen wir die Knotenzahlen durch Lösen des Systems yi yj D wij
.ij 2 J /
mit J D ¹15; 42; 43; 53; 62º; wJ D ¹1; 4; 1; 6; 1º: Dazu zeichnet man in dem durch J gegebenen spannenden Baum einen Knoten aus, z. B. den Knoten 1, und gibt y1 einen beliebigen Wert, z. B. y1 D 0. Dann ergibt sich sukzessive y5 D 1; y3 D 7; y4 D 6; y2 D 10; y6 D 9: Unter allen nicht zu J gehörigen Kanten wird dann eine gesucht mit lij D pij
und
yi yj > wij
212
Kapitel 4 Netzwerkflussprobleme
oder pij D uij
und
yi yj < wij ;
z. B. ist 0 D p13
und
y1 y3 D 7 > w13 D 5:
Wir wählen daher ij D 13 als in J aufzunehmende Kante. Das System AJ xJ13 D a13 lautet dann
1 0 1 1 0 0 0 0 1 B 0 1 0 0 1 C B 0C B C B C B 0 0 1 1 0 C 13 B 1 C Cx D B B C B 0 1 1 0 0C J B 0 C: B C B C @ 1 0 0 1 0 A @ 0A 0 0 0 0 1 0 0
Durch Zeilen- und Spaltenvertauschungen lässt sich die Koeffizientenmatrix immer auf obere Dreiecksgestalt bringen mit C1 oder 1 auf der Hauptdiagonalen. Wir lesen eine Lösung direkt ab 13 D 1; x15 13 D 1; x53 13 D 0; x43 13 x42 D 0; 13 D 0: x62
Graphentheoretisch erhalten wir das gleiche Resultat: Durch Hinzufügung der Kante 13 ist der Kreis 13; 53; 15 entstanden. Alle zu 13 gleich gerichteten Kanten erhalten die Flussvergrößerung , alle zu 13 entgegen gerichteten Kanten erhalten die Flussverminderung , alle übrigen Kantenflüsse bleiben unverändert. Damit wird p./ D p x 13 :
213
Abschnitt 4.2 Netzwerksimplexverfahren
Abschließend ist diesen Kreis entlang zu prüfen, wie groß gewählt werden kann, ohne die oberen und unteren Schranken zu verletzen: min
2J 13 >0 x
min
2J [¹13º 13 x 2 D w12 ; l53 D p53 und y5 y3 D 4 < 6 D w53 ; p43 D u43 und y4 y3 D 3 > 1 D w43 ; l42 D p42 und y4 y2 D 2 < 4 D w42 ; l56 D p56 und y5 y6 D 0 < 1 D w56 ; p62 D u62 und y6 y2 D 3 > 1 D w62 ist p optimale Basislösung, der Optimalwert ist 56.
215
Abschnitt 4.2 Netzwerksimplexverfahren
Abschließend behandeln wir noch Phase I des Netzwerksimplexalgorithmus, bei der eine zulässige Startbasis berechnet wird, sofern eine existiert. Phase I des Netzwerksimplexalgorithmus 4.2.12. Wir belegen jede Kante ij des Graphen .V; E/ mit einem Fluss pOij , der die Kapazitätsschranken einhält, lij pOij uij : Dieser Netzwerkfluss ist im Allgemeinen nicht zulässig, da X X pOi pOi D bOi Wi2E
Wi 2E
im Allgemeinen ungleich bi ausfallen wird. Für jeden Knoten i führen wir eine künstliche Kante zwischen i und einem künstlichen Knoten v0 WD 0 ein und transportieren längs dieser Kante das Defizit zu i hin oder den Überschuss von i weg. Wir wählen also als künstliche Kanten i 0 mit pOi0 D bOi bi ; falls bOi bi ; mit pO0i D bi bOi ; falls bOi < bi
0i
für i D 1; : : : ; n. Das Angebot des Knotens v0 ist gleich
X bOi bi
.bOi bi / C
X
.bi bOi / D
n X
bi
i D1
bOi 0 für wenigstens eine künstliche Kante ij 2 E, Dann ist das Ausgangsproblem unzulässig, da jede zulässige Lösung für das Ausgangsproblem die Kosten 0 für das Hilfsproblem liefern würde, während doch die Minimalkosten für das Hilfsproblem positiv sind. O i D 0 oder j D 0. b) pQij D 0 für alle künstlichen Kanten ij 2 E, Dann ist pQij .ij 2 E/ zulässig für das Ausgangsproblem. Gehört nur eine künstliche Kante zur Basis von p, Q so streichen wir diese und erhalten damit auch eine Startbasis für das Ausgangsproblem. O i D 0 oder j D 0, wenigstens c) pQij D 0 für alle künstlichen Kanten ij 2 E, zwei künstliche Kanten gehören zur Basis von p. Q Dann ist zwar pQ zulässig für das Ausgangsproblem, aber die zu pQ gehörige Basis bzw. der zugehörige spannende Baum für den erweiterten Graphen nicht als Startbasis für Phase II verwendbar. Der letzte Fall kann wirklich eintreten. War z. B. .V; E/ nicht zusammenhängend, so kann es gar keinen spannenden Baum für .V; E/ geben. Also muss der Fall c) gesondert behandelt werden. JQ sei die Basisindexmenge für die Optimallösung pQ des Hilfsproblems. Dafür ist die Optimalitätsbedingung erfüllt, d. h. für die zugehörigen Knotenzahlen yQ0 ; : : : ; yQn gilt: Für alle ij 2 JQ ist ´ 0 .i ¤ 0 und j ¤ 0/ ; yQi yQj D wO ij D 1 .i D 0 oder j D 0/ dies bedeutet, dass die Knotenzahlen längs künstlicher Basiskanten um 1 fallen, längs Basiskanten des ursprünglichen Graphen ungeändert bleiben. Für alle ij … JQ ist ² 0 .i ¤ 0 und j ¤ 0/ für lij D pQij < uij ; yQi yQj wO ij D 1 .i D 0 oder j D 0/ für 0 D pQij < C1; yQi yQj wO ij D 0 .i ¤ 0 und j ¤ 0/
für lij < pQij D uij ;
217
Abschnitt 4.2 Netzwerksimplexverfahren
hierbei wurde ausgenutzt, dass für ij 2 EO mit i D 0 oder j D 0 lOij D 0 und
uO ij D C1
gesetzt wurde. Wähle eine künstliche Basiskante vw mit v D 0 oder w D 0, dann ist yQv D yQw C 1: Zerlege die Knotenmenge VO in VO D S [ R folgendermaßen: Setze k 2 S;
falls yQk yQv ;
k 2 R; falls yQk < yQv : Dann ist w 2 R, v 2 S , R \ S D ;, R [ S D VO . Für jeden Pfeil des Graphen von R nach S wächst also die Knotenzahl strikt, für jeden Pfeil von S nach R fällt also die Knotenzahl strikt. Aus der Optimalitätsbedingung folgt somit: i) Es gibt keine Basiskante im ursprünglichen Graphen, die von R nach S weist. ii) Es gibt keine Basiskante im ursprünglichen Graphen, die von S nach R weist. iii) Es gibt keine Nichtbasiskante im ursprünglichen Graphen mit lij D pQij , die von S nach R weist. iv) Es gibt keine Nichtbasiskante im ursprünglichen Graphen mit pQij D uij , die von R nach S weist. Es liegt also folgende Situation für den ursprünglichen Graphen vor: Ist ij 2 E eine Kante des ursprünglichen Graphen mit i 2 R und j 2 S, so ist ij eine Nichtbasiskante mit pQij D lij : Ist ij 2 E eine Kante des ursprünglichen Graphen mit i 2 S und j 2 R, so ist ij eine Nichtbasiskante mit pQij D uij : Da pQ zulässig ist, ist das Gesamtangebot in S X k2S
bk D
X O ij 2E i2S j 2R
pQij
X O 2E 2R 2S
pQ :
218
Kapitel 4 Netzwerkflussprobleme
Da alle künstlichen Komponenten gleich 0 sind, zeigt obige Überlegung X X X bk D uij l : ij 2E i2S j 2R
k2S
2E 2R 2S
Für jeden zulässigen Fluss p für das Ausgangsproblem gilt dann X X X pij p D bk ij 2E i2S j 2R
2E 2R 2S
k2S
D
X
uij
ij 2E i2S j 2R
X
X
l
2E 2R 2S
pij
ij 2E i2S j 2R
X
p ;
2E 2R v2S
also muss einzeln gelten: pij D uij
für alle ij 2 E mit i 2 S; j 2 R;
p D l für alle 2 E mit 2 R; 2 S: Damit liegen für diese Kanten die Kosten fest, sie können also aus dem Graphen entfernt werden. Nach entsprechender Anpassung aller Angebote b1 ; : : : ; bn bleiben zwei voneinander unabhängige Netzwerkflussprobleme zu lösen.
4.3
Maximale Flüsse in Netzwerken
Als Beispiel, das in diesem Abschnitt durchgehend Maximalflussprobleme illustrieren soll, wählen wir das Pipeline-Problem 4.3.1. Eine Ölraffinerie möchte so viel Öl wie möglich über das in der Abbildung 4.6 abgebildete Pipelinenetz transportieren. Abhängig vom Durchmesser der Pipelines ist die Durchsatzmenge durch die Einträge an den Kanten (in Millionen Barrel pro Stunde) begrenzt. Das Pipelinenetz ist offenbar ein (gerichteter) Graph .V; E/ mit zwei ausgezeichneten Knoten s, der Quelle, und t , der Senke. Führen wir eine zusätzliche künstliche Kante ein von Knoten t zurück zur Raffinerie s mit der Kapazität 1, längs derer die von der Quelle zur Senke transportierte Ölmenge zur Quelle zurücktransportiert wird, so erhalten wir das äquivalente Netzwerkflussproblem:
219
Abschnitt 4.3 Maximale Flüsse in Netzwerken 3
3
6
s=1
1
2
4
2
3
7
2
t=5
Abbildung 4.6. Pipelinenetz.
Q (P)
Maximiere x ts unter den Nebenbedingungen Q D 0R5 ; Ax 0 xij uij
.ij 2 E/;
1 < x ts < C1 Š Dabei ist EQ WD E [ ¹t sº die Kantenmenge des erweiterten Graphen und AQ die zugehörige Knoten-Kanten-Inzidenzmatrix. Dies ist ein Spezialfall des folgenden für die Transportlogistik wichtigen allgemeinen Maximalflussproblems. Maximalflussproblem 4.3.2. Ein Maximalflussproblem wird beschrieben durch einen bewerteten Graphen G D .V; E/ mit Kapazitäten mit zwei ausgezeichneten Knoten s .Source, Start, Quelle/; t
.Target, Senke, Ziel/:
Keine Kante führt in s hinein, keine Kante führt aus t hinaus. Alle anderen Knoten (Zwischenknoten) haben das Angebot bzw. den Bedarf 0, d. h. die in jeden Knoten hineinfließende Menge ist genau gleich der hinausfließenden, X X xi xi D 0 .i 2 V; i ¤ s; i ¤ t /: Wi2E
Durch Summation folgt
Wi2E
X
xs
Ws2E
X
xt D 0:
Wt2E
Als Flussgröße bezeichnet man den Wert X X xs D xt : ˆ.x/ D Ws2E
Wt2E
220
Kapitel 4 Netzwerkflussprobleme
Damit lautet das Maximalflussproblem: (P)
Maximiere ˆ.x/ unter den Nebenbedingungen X X xi xi D 0 .i 2 V; i ¤ s; i ¤ t /; Wi2E
Wi2E
lij xij uij
.ij 2 E/ Š
Jedes Maximalflussproblem lässt sich genauso wie in Beispiel 4.3.1 äquivalent als Netzwerkflussproblem schreiben: Q (P)
Maximiere x ts unter den Nebenbedingungen Q D 0Rn ; Ax lij xij uij
.ij 2 E/;
1 < x ts < C1 Š Dabei ist EQ WD E [ ¹t sº die Kantenmenge des erweiterten Graphen und AQ die zugehörige Knoten-Kanten-Inzidenzmatrix. Damit erhalten wir Satz 4.3.3. Alle endlichen oberen und unteren Schranken lij ; uij seien ganzzahlig. Besitzt dann das Maximalflussproblem überhaupt einen maximalen Fluss, so auch einen ganzzahligen maximalen Fluss. Definition 4.3.4. Ein Schnitt (cut) in einem Maximalflussproblem ist eine Knotenmenge C , die die Quelle s enthält, aber nicht die Senke t . Die Kapazität des Schnitts C ist definiert als X X K.C / D ui li : i2C …C
…C i2C
Für einen Schnitt C ist ˆ.x/ D
X
xs
Ws2E
D
X X
i 2C Wi2E
D
X
xi C
i2C …C
D
X
i2C …C
X
xi X
Wi2E
xi
i2C 2C
xi
X …C i2C
xi
X
…C i2C
xi ;
xi
X 2C i2C
xi
221
Abschnitt 4.3 Maximale Flüsse in Netzwerken
d. h. die Flussgröße ist der Nettoexport aus C . Unmittelbar ersichtlich ist, dass für jeden Schnitt C und jeden zulässigen Fluss x ˆ.x/ K.C / ausfällt. Wir wollen beweisen, dass hier Gleichheit erreichbar ist, falls ein maximaler Fluss existiert. Dies ist der Inhalt des folgenden Theorems, vgl. [48], [38] und [97]. Max-Flow-Min-Cut-Theorem 4.3.5. Besitzt das Maximalflussproblem eine Maximallösung, so ist der maximale Fluss gleich der minimalen Kapazität aller Schnitte. Beweis. Wir formulieren das Maximalflussproblem durch Hinzufügung der Kante t s mit Kapazitätsschranken l ts D 1; u ts D C1 und Kosten ´ 0 .ij 2 E/ wij D 1 .ij D t s/ in ein Netzwerkflussproblem um. Phase I des Netzwerksimplexalgorithmus 4.2.12 liefert dann entweder eine zulässige Basislösung des Netzwerkflussproblems oder eine disjunkte Zerlegung der Knotenmenge V DS [R mit pij D uij
für alle ij 2 E [ ¹t sº mit i 2 S; j 2 R;
pij D lij
für alle ij 2 E [ ¹t sº mit i 2 R; j 2 S
für jede zulässige Lösung p des Netzwerkflussproblems. a) Wir betrachten zunächst den ersten Fall. Dann liefert der Netzwerksimplexalgorithmus 4.2.9 eine optimale Basislösung p mit Basisindexmenge J und Knotenzahlen y mit yi yj D wij
.ij 2 J /
(4.7)
und für ij … J im Falle lij D pij < uij yi yj wij ;
(4.8)
bzw. für ij … J im Falle lij < pij D uij yi yj wij :
(4.9)
222
Kapitel 4 Netzwerkflussprobleme
Wegen w ts D 1 und l ts D 1, u ts D C1 ist t s 2 J und y t D ys 1: Definiere C D ¹j 2 V W yj ys º; dann ist s 2 C und t … C , C also ein Schnitt. Beachte, dass C D ¹j 2 V W yj D 1º 3 s;
C c D ¹j 2 V W yj D 0º 3 t;
sofern man ys D 1 festsetzt, da in dem durch J bestimmten spannenden Baum die Knotenzahlen nur längs der Kante t s wachsen können, und zwar um den Wert 1. Sei jetzt i ¤ t s eine Kante des ursprünglichen Graphen mit i 2 C; … C . Dann ist also y i ys > y : Wegen wi D 0 ist nach (4.7) i … J und nach (4.9) pi D ui . Ist i ¤ t s eine Kante des ursprünglichen Graphen mit … C; i 2 C , so ist y < ys yi : Wegen wi D 0 ist nach (4.7) i … J und nach (4.8) pi D li . Es ist also ein Schnitt C gefunden mit der Kapazität X X ui li D ˆ.p/: K.C / D i2C …C
…C i2C
b) Phase I des Netzwerksimplexalgorithmus 4.2.12 liefere eine disjunkte Zerlegung der Knotenmenge V DS [R mit pij D uij
für alle ij 2 E [ ¹t sº mit i 2 S; j 2 R;
pij D lij
für alle ij 2 E [ ¹t sº mit i 2 R; j 2 S
für jede zulässige Lösung p des Netzwerkflussproblems. Wegen l ts D 1; u ts D C1 gehören t und s entweder zu S oder zu R. Sind t; s 2 S , so vergebe man an jeden Knoten j 2 R die Knotenzahl yj D 0 und reduziere den Graphen um alle Knoten in R und alle Kanten mit mindestens einem
223
Abschnitt 4.3 Maximale Flüsse in Netzwerken
Knoten in R, gegebenenfalls unter Anpassung der Angebote bzw. des Bedarfs der verbliebenen Knoten. Sind t; s 2 R, so vergebe man an jeden Knoten j 2 S die Knotenzahl yj D 1 und reduziere den Graphen um alle Knoten in S und alle Kanten mit mindestens einem Knoten in S, gegebenenfalls unter Anpassung der Angebote bzw. des Bedarfs der verbliebenen Knoten. Q Nach endlich vielen dieser Reduktionsschritte erhält man einen Teilgraphen .VQ ; E/ Q für den Phase I des Netzwerksimplexalgorithmus 4.2.12 eine zulässige mit t s 2 E, Basislösung liefert. Setze ys WD 1. Nach a) gibt es dann eine optimale Basislösung pQ für das Problem Q und einen Schnitt CQ von VQ mit s 2 CQ ; t … CQ , auf dem Teilgraphen .VQ ; E/ CQ D ¹j 2 VQ W yj D 1º; CQ c D ¹j 2 VQ W yj D 0º und pQij D uij
.ij 2 EQ n ¹t sº; i 2 CQ ; j … CQ /;
pQij D lij
.ij 2 EQ n ¹t sº; i … CQ ; j 2 CQ /:
Erweitere den Fluss pQ zu einem zulässigen Fluss p für das ursprüngliche Netzwerkproblem mittels der Flusskomponenten für die jeweils abgeschnittenen Teilgraphen. Insgesamt ist damit ein Schnitt C D ¹j 2 V W yj D 1º; C c D ¹j 2 V W yj D 0º für das Maximalflussproblem gefunden und ein zulässiger Fluss mit K.C / D ˆ.p/: Wir wollen jetzt noch den Zusammenhang klären zwischen Schnitten des Graphen und zulässigen Lösungen des dualen Maximalflussproblems, das wir durch Anpassung des dualen Netzwerkflussproblems 4.2.8 erhalten. Duales Maximalflussproblem 4.3.6. (D) Minimiere
X ij 2E lij 2R
lij zij
X ij 2E uij 2R
uij zQ ij
224
Kapitel 4 Netzwerkflussprobleme
unter den Nebenbedingungen yi yj C zij C zQij D 0
.lij 2 R und uij 2 R/;
(4.10)
yi yj C zij D 0
.lij 2 R; uij D C1/;
(4.11)
yi yj C zQij D 0
.lij D 1; uij 2 R/;
(4.12)
.lij D 1; uij D C1; ij 6D t s/;
(4.13)
yi yj D 0
y t ys D 1;
(4.14)
yj 2 R; zij 0 .lij 2 R/; zQij 0 .uij 2 R/ Š
(4.15)
Wir nutzen aus, dass die Knotenzahlen nur in Form von Differenzen auftreten und setzen willkürlich fest ys WD 1: Damit ist ys keine duale Entscheidungsvariable mehr. Mit dieser Vereinbarung sei .y; z; zQ / eine Ecke der dualzulässigen Menge. Diese Ecken heißen auch dualzulässige Basislösungen des Flussmaximierungsproblems. Wäre für ein ij in Gleichung (4.10) gleichzeitig zij > 0
und
zQij < 0;
so könnten wir mit hinreichend kleinem > 0 definieren 1 WD zij ; zij
1 zQij WD zQ ij C
2 WD zij C ; zij
2 zQ ij WD zQij ;
und
alle anderen Komponenten wie in z bzw. zQ . Damit wäre dann 1 1 .y; z 1 ; zQ 1 / C .y; z 2 ; zQ 2 / D .y; z; z/ Q 2 2 als strikte Konvexkombination zweier dualzulässiger Punkte dargestellt. Dieser Widerspruch zeigt zij D 0 oder
zQij D 0
.lij 2 R und uij 2 R/:
(4.16)
225
Abschnitt 4.3 Maximale Flüsse in Netzwerken
Für jede weitere Kante ij 2 E wird höchstens eine weitere Gleichung generiert zij D 0 bzw.
zQij D 0
.falls yi yj D 0/:
(4.17)
Damit erfüllt .y; z; z/ Q die folgenden Nebenbedingungen in Gleichungsform: yi yj C zij C zQij D 0; zQ ij D 0
.yi < yj ; lij 2 R; uij 2 R/;
yi yj C zij C zQij D 0; zij D 0
.yi > yj ; lij 2 R uij 2 R/;
yi yj C zij D 0
.yi < yj ; lij 2 R; uij D C1/;
yi yj C zQij D 0
.yi > yj ; lij D 1; uij 2 R/;
yi yj C zij C zQij D 0; zij D 0; zQij D 0 .yi D yj ; lij 2 R; uij 2 R/; yi yj C zij D 0; zij D 0
.yi D yj ; lij 2 R; uij D C1/;
yi yj C zQij D 0; zQ ij D 0
.yi D yj ; lij D 1; uij 2 R/;
yi yj D 0
.lij D 1; uij D C1; ij 6D t s/;
y t ys D 1: Das Maximalflussproblem möge n Knoten und m1 Kanten mit reeller unterer Schranke sowie m2 Kanten mit reeller oberer Schranke besitzen. Da .y; z; zQ / Ecke ist, wobei ys WD 1 nicht als duale Variable gezählt wird, muss die Koeffizientenmatrix dieses Systems den Rang m1 C m2 C n 1 besitzen. Durch elementare Umformungen mache man sich klar, dass dies nur möglich ist, wenn die Koeffizientenmatrix des Systems yi yj D 0
.yi D yj ; lij 2 R; uij 2 R/;
yi yj D 0
.yi D yj ; lij 2 R; uij D C1/;
yi yj D 0
.yi D yj ; lij D 1; uij 2 R/;
yi yj D 0
.lij D 1; uij D C1; ij 6D t s/;
y t ys D 1 den Rang n 1 besitzt. Die Koeffizientenvektoren dieses Systems sind Spalten der Knoten-Kanten-InziQ mit denzmatrix AQ des um die künstliche Kante t s erweiterten Flussgraphen .V; E/ Q E D E [ ¹t sº. Ausgehend von der zusätzlichen Spalte e t e s kann man sich also ein linear unabhängiges System von n 1 Spalten AQJ von AQ erzeugen, also einen spannenden Baum des erweiterten Flussgraphen, der die Kante t s enthält und ansonsten nur Kanten ij 2 E mit yi yj D 0. Die Knotenzahlen definieren einen Schnitt C D ¹j 2 V W yj D 1º:
226
Kapitel 4 Netzwerkflussprobleme
Für die Kanten ij 6D t s mit i 2 C; j 2 C c ist yi yj D 1 und daher zQ ij D 1. Für die Kanten ij 6D t s mit i 2 C c ; j 2 C ist yi yj D 1 und daher zij D 1. Alle anderen zij ; zQ ij sind gleich 0. Daher ist der duale Zielfunktionswert für .y; z; z/ Q gerade gleich X
uij
ij 2E i2C j …C
X
lij
ij 2E i…C j 2C
und damit gleich der Kapazität des Schnitts. Umgekehrt sei jetzt .y; z; zQ / dualzulässig, ys WD 1 und J ein spannender Baum des erweiterten Graphen mit t s 2 J und yi yj D 0 .ij 2 J n ¹t sº/;
(4.18)
y t ys D 1:
(4.19)
Soweit nötig ändern wir Komponenten zij ; zQ ij mit lij 2 R; uij 2 R ab, so dass gilt yi yj C zij C zQij D 0; zQ ij WD 0
.yi < yj ; lij 2 R; uij 2 R/;
yi yj C zij C zQij D 0; zij WD 0
.yi > yj ; lij 2 R uij 2 R/;
yi yj C zij D 0
.yi < yj ; lij 2 R; uij D C1/;
yi yj C zQij D 0
.yi > yj ; lij D 1; uij 2 R/;
yi yj C zij C zQij D 0; zij WD 0; zQ ij WD 0
.yi D yj ; lij 2 R; uij 2 R/;
yi yj C zij D 0; zij D 0 .yi D yj ; lij 2 R; uij D C1/; yi yj C zQij D 0; zQ ij D 0 .yi D yj ; lij D 1; uij 2 R/; yi yj D 0
.lij D 1; uij D C1; ij 6D t s/;
y t ys D 1: Da J ein spannender Baum ist, hat die Koeffizientenmatrix dieses Systems den Rang m1 Cm2 Cn1. Also ist y; z; zQ eine Ecke der dualzulässigen Menge, wobei wiederum ys WD 1 nicht als duale Variable gezählt wird. Damit haben wir gezeigt Satz 4.3.7. .y; z; zQ / mit ys WD 1 ist genau dann Ecke der zulässigen Menge des dualen Maximalflussproblems 4.3.6, wenn gilt:
227
Abschnitt 4.3 Maximale Flüsse in Netzwerken
Es gibt einen spannenden Baum J des erweiterten Graphen mit t s 2 J und yi yj D 0 .ij 2 J n ¹t sº/; y t ys D 1; zij D 1; zQij D 0
.yi < yj ; lij 2 R; uij 2 R/;
zij D 0; zQij D 1 zij D 1
.yi > yj ; lij 2 R uij 2 R/;
.yi < yj ; lij 2 R; uij D C1/;
zQ ij D 1 .yi > yj ; lij D 1; uij 2 R/; zij D 0; zQij WD 0 .yi D yj ; lij 2 R; uij 2 R/; zij D 0 .yi D yj ; lij 2 R; uij D C1/; zQ ij D 0 .yi D yj ; lij D 1; uij 2 R/; yi yj D 0 .lij D 1; uij D C1; ij 6D t s/: Die Knotenzahlen definieren einen Schnitt C D ¹j W yj D 1º des ursprünglichen Graphen. Der duale Zielfunktionswert für .y; z; zQ / ist gleich X X uij lij ; ij 2E i2C j …C
ij 2E i…C j 2C
also gleich der Kapazität des Schnitts. Diesen Zusammenhang zwischen Ecken der dualzulässigen Menge, spannenden Bäumen des erweiterten Graphen und Schnitten illustrieren wir am Pipelinenetz. Beispiel 4.3.8 (Fortsetzung von Beispiel 4.3.1). Die Kapazität des in Abbildung 4.7 angedeuteten Schnitts C D ¹s; 3º ist gleich 6. Spannende Bäume des erweiterten Graphen, die die Kante t s enthalten, gibt es mehrere, z. B. einen zu obigem Schnitt passenden Baum mit den Kanten J D ¹s3; t s; 2t; 42º: Mit diesem Baum erzeugen wir die Knotenzahlen ys D 1; y3 D 1; y t D 0; y2 D 0; y4 D 0
(4.20)
228
Kapitel 4 Netzwerkflussprobleme
3
3
6
1
2
s=1
4
2
3
7
2
t=5
Abbildung 4.7. Schnitt durchs Pipelinenetz.
und damit die dualzulässige Basislösung zij D 0;
.i; j 2 C oder i; j 2 C c /;
zQij D 0
zs2 D 0; zQs2 D 1; z32 D 0; zQ 32 D 1; z34 D 0; zQ 34 D 1: Hieraus ergibt sich als dualer Zielfunktionswert 2Qzs2 1Qz32 3Qz34 D 6 wiederum die Kapazität des Schnitts C . Das Netzwerksimplexverfahren und das duale Flussmaximierungsproblem sind gute Hilfsmittel zur Gewinnung theoretischer Einsichten in das Maximalflussproblem. Für die algorithmische Lösung konkreter Maximalflussprobleme sollte man aber Verfahren verwenden, die die spezielle Problemstruktur gezielter ausnutzen. Exemplarisch stellen wir hier den Algorithmus von Ford und Fulkerson zur Berechnung maximaler Flüsse vor, der auch die Entwicklung einiger noch effizienterer Verfahren beeinflusst hat. Zunächst erläutern wir die Grundidee des Algorithmus am Pipelineproblem. Beispiel 4.3.9 (Fortsetzung von Beispiel 4.3.1). Wir gehen aus von einem zulässigen Fluss für das Pipelineproblem 4.3.1. Da alle unteren Schranken gleich 0 sind, ist x0 ein zulässiger Fluss. Wir markieren den Startknoten s und überprüfen, längs welcher der von s ausgehenden Kanten s2; s3 eine Flussvergrößerung möglich ist. Wir markieren deren Endknoten j und merken uns die Kante p.j /, die zu diesem Knoten j hingeführt hat.
229
Abschnitt 4.3 Maximale Flüsse in Netzwerken
Im Beispiel sind dies beide Kanten p.2/ WD s2;
p.3/ WD s3:
Anschließend überprüfen wir für einen der neu markierten Knoten, z. B. den Knoten 2, längs welcher der von 2 ausgehenden Kanten 2j zu einem noch nicht markierten Knoten j eine Flussvergrößerung möglich ist bzw. längs welcher der in 2 einmündenden Kanten j 2 eine Flussverkleinerung möglich ist. Wir markieren den Knoten j und merken uns die Kante 2j bzw. j 2. Im Beispiel ist dies die Kante p.t / WD 2t: Jetzt wurde der Zielknoten t markiert, und die Kanten p.2/; p.t / liefern einen Weg s2; 2t zum Ziel, der in Vorwärtsrichtung die oberen Kapazitätsschranken uij nicht voll ausschöpft, xs2 D 0 < us2 D 2; x2t D 0 < u2t D 7; vgl. Abbildung 4.8, in der freistehende Zahlen neben den Kanten die Kapazitätsschranken und die geklammerten Zahlen die aktuellen Flüsse entlang Kanten bezeichnen. 3 (0)
3
6 (0)
s=1
1 (0)
2 (0)
2
4
3 (0)
7 (0)
2 (0)
t=5
Abbildung 4.8. Pfad 1.
Berechne D min ¹us2 xs2 ; u2t x2t º D min ¹2; 7º D 2: Dann lässt sich der Fluss x längs dieses Wegs vergrößern, ohne die Zulässigkeit zu verletzen. Definiere damit den neuen zulässigen Fluss ´ xij C .ij D s2; 2t / xN ij D (sonst): xij
230
Kapitel 4 Netzwerkflussprobleme
Im allgemeinen Fall wird ein „augmenting path“, ein ungerichteter „flussvergrößernder“ Weg, 1 D s; r D t;
.1 ; 2 ; : : : ; r1 ; r /; geliefert, der in Vorwärtsrichtung, d. h.
p.C1 / D C1 ; die obere Kapazitätsgrenze u C1 und in Rückwärtsrichtung, d. h. p.C1 / D C1 ; die untere Kapazitätsgrenze lC1 nicht voll ausschöpft. Damit definiert man dann ² ³ u C1 x C1 .p.C1 / D C1 /; WD min (4.21) .p.C1 / D C1 / D1;:::;r1 xC1 lC1 und setzt für D 1; : : : ; r 1 xN C1 D x C1 C .p.C1 / D C1 /; xN C1 D xC1 .p.C1 / D C1 /; xN ij D xij
.sonst/:
Damit ist dann eine Flussvergrößerung um > 0 erreicht, und der Algorithmus kann mit x WD xN wiederholt werden. Für das Beispiel erhalten wir die in den Abbildungen 4.9, 4.10, 4.11 fett hervorgehobenen „flussvergrößernde Pfade“. Der nächste Durchgang startet mit dem zulässigen Fluss in Abbildung 4.12. Zunächst wird wieder der Startknoten s markiert und gleich überprüft. Dabei zeigt sich, dass nur noch der Knoten 3 markiert werden kann. Überprüfung des Knotens 3 ergibt, dass kein weiterer Knoten markiert werden kann, der nicht bereits markiert ist. 3 (0)
3
6 (0)
s=1
1 (0)
2 (2)
2
4
3 (0)
7 (2)
Abbildung 4.9. Pfad 2.
2 (0)
t=5
231
Abschnitt 4.3 Maximale Flüsse in Netzwerken 3 (2)
3
6 (2)
1 (0)
2 (2)
s=1
4
2 (2)
3 (0)
7 (2)
2
t=5
Abbildung 4.10. Pfad 3. 3 (2)
3
6 (3)
1 (1)
2 (2)
s=1
4
2 (2)
3 (0)
7 (3)
2
t=5
Abbildung 4.11. Pfad 4.
Der Algorithmus bricht also mit der Information ab, dass alle markierten Knoten überprüft sind, der Zielknoten aber nicht durch einen „flussvergrößernden Pfad“ erreicht wurde. Im Beispiel ist klar, dass der aktuelle zulässige Fluss nicht weiter vergrößert werden kann, weil die Flussstärke 6 ist und die markierten und überprüften Knoten s; 3 einen Schnitt der Kapazität 6 bilden. Der aktuelle zulässige Fluss in Abbildung 4.12 ist also maximal. Dass dies kein Zufall ist, ergibt sich aus der folgenden Konvergenzanalyse des Algorithmus von Ford und Fulkerson 4.3.11. 3 (3)
3
6 (4)
s=1
1 (1)
2 (2)
2
4
3 (1)
7 (4)
Abbildung 4.12. Abbruch des Verfahrens.
2 (2)
t=5
232
Kapitel 4 Netzwerkflussprobleme
Übrigens ist es auch kein Zufall, dass die Basisindexmenge dieser Maximallösung J D ¹s3; 42; 2t; t sº; wobei t s die zusätzliche künstliche Kante ist, mit der dualen Basisindexmenge (4.20) übereinstimmt. Die in Beispiel 4.3.8 berechnete dualzulässige Lösung ist Optimallösung des dualen Maximalflussproblems, und die diesen beiden Optimallösungen entsprechenden spannenden Bäume sind gleich. Im Beispiel haben wir mit Hilfe des folgenden Markierungsalgorithmus von Ford und Fulkerson flussvergrößernde Pfade ermittelt. Markierungsalgorithmus von Ford und Fulkerson 4.3.10. x sei ein zulässiger Fluss. Schritt 0: Markiere den Startknoten s und setze C D ¹sº. Die übrigen Knoten seien nicht markiert. Schritt 1: ˛/ Falls alle markierten Knoten in C überprüft sind, breche man die Rechnung ab. ˇ/ Andernfalls wähle einen markierten, nicht überprüften Knoten i 2 C . Schritt 2: ˛/ Überprüfe den Knoten i folgendermaßen: Für jede Kante ij mit nicht markiertem j … C und xij < uij setze p.j / D ij , markiere j und füge j der Menge C hinzu. Für jede Kante j i mit nicht markiertem j … C und lj i < xj i setze p.j / D j i , markiere j und füge j der Menge C hinzu. ˇ/ Falls der Zielknoten t markiert wurde, breche man die Rechnung ab, andernfalls gehe man zu Schritt 1. Mit Hilfe des Markierungsalgorithmus kann nun der Algorithmus von Ford und Fulkerson, der auch „augmentig path algorithm“ heißt, formuliert werden:
233
Abschnitt 4.3 Maximale Flüsse in Netzwerken
Algorithmus von Ford und Fulkerson 4.3.11. (0) Sei ein zulässiger Fluss x gegeben. (1) Bestimme mit Algorithmus 4.3.10 zum Fluss x einen flussvergrößernden Pfad .1 ; 2 ; : : : ; r / mit 1 D s und r D t . Beende das Verfahren, falls kein flussvergrößernder Pfad existiert. (2) Berechne ² ³ u C1 x C1 .p.C1 / D C1 /; : WD min .p.C1 / D C1 / D1;:::;r1 xC1 lC1 Falls D 1, beende das Verfahren: Das Problem ist unbeschränkt. (3) Setze für D 1; : : : ; r 1 xN C1 D x C1 C .p.C1 / D C1 /; xN C1 D xC1 .p.C1 / D C1 /; xN ij D xij
.sonst/:
(4) Gehe zu (1) mit x ersetzt durch x. N Satz 4.3.12. (a) Der Algorithmus von Ford und Fulkerson 4.3.11 bricht entweder nach endlich vielen Schritten mit einem maximalen Fluss ab, oder er liefert „augmenting paths“, mit denen der Fluss vergrößert werden kann. (b) Sind alle endlichen unteren und oberen Schranken ganzzahlig und gibt es wenigstens einen Schnitt mit endlicher Kapazität, so liefert der Algorithmus, ausgehend von einem zulässigen Fluss, nach endlich vielen Durchläufen einen maximalen Fluss. Beweis. a) Der Algorithmus 4.3.11 breche mit der Information ab, dass alle markierten Knoten überprüft sind, der Zielknoten aber noch nicht erreicht ist. Die Menge C aller markierten und überprüften Knoten hat dann die folgenden Eigenschaften: s 2 C , t … C , d. h. C ist ein Schnitt des Flussgraphen. Für alle Kanten ij des Graphen mit i 2 C , j … C ist x D u , für alle Kanten ij ij ij des Graphen mit i … C , j 2 C ist xij D lij . Also ist die Kapazität des Schnitts C X X uij lij K.C / D i2C j …C
D
X
i…C j 2C
xij
i2C j …C
X
xij
i…C j 2C
D ˆ.x/: Folglich ist x ein maximaler Fluss und C ein minimaler Schnitt.
234
Kapitel 4 Netzwerkflussprobleme
b) Die Flussstärke ist durch die Kapazität des Schnitts nach oben beschränkt und nimmt bei jedem Durchlauf des Algorithmus mindestens um 1 zu. Mit effizienteren Varianten des Algorithmus lassen sich auch für beliebige Problemdaten maximale Flüsse berechnen in höchstens O.n3 / Schritten, wobei n die Knotenzahl des Graphen ist, vgl. hierzu [27], S. 380–386, [101] und die Originalarbeiten [37], [35], [110].
4.4
Kürzeste Wege
In diesem Abschnitt werden Kürzeste-Wege-Probleme und die Algorithmen von Dijkstra und Floyd-Warshall behandelt. Die Darstellung basiert auf den Büchern [128], [96], [18]. Ein typisches Kürzeste-Wege-Problem findet sich in jedem Routenplaner: Finde die kürzeste Strecke von Ort A nach Ort B in einem gegebenen Straßennetz. Ähnliche Problemstellungen treten auch bei der Datenkommunikation zwischen Computern auf. Hier gilt es, die schnellste Verbindung für den Transport von Datenpaketen in einem Netzwerk von einem Sender zu einem Empfänger zu finden. Wir formalisieren das Problem. Sei ein gerichtetes Netzwerk .V; E; c; s; t / mit Knotenmenge V D ¹1; 2; : : : ; nº und Kantenmenge E, jEj D m, gegeben mit: (i) s WD 1 ist der Startknoten und t WD n der Zielknoten. (ii) c W E ! R mit .i; j / 2 E 7! c.i; j / D cij weist jeder Kante .i; j / 2 E die Länge cij zu. (iii) Das Netzwerk ist zusammenhängend. Die Aufgabe besteht darin, einen Weg kürzester Länge von s nach t zu finden. Die Länge des Wegs .v1 ; : : : ; vk ; vkC1 / ist definiert durch k X
cvi viC1 :
i D1
Zur Lösung des Kürzeste-Wege-Problems wird ein primaldualer Algorithmus verwendet, der eine Alternative zum Simplexverfahren zur Lösung von linearen Optimierungsproblemen darstellt. Jedoch kommt der primalduale Algorithmus nur für speziell strukturierte Probleme wie Kürzeste-Wege-Probleme oder Flussmaximierungsprobleme zum Einsatz. Zunächst wird das Kürzeste-Wege-Problem als lineares Optimierungsproblem formuliert, wobei wir wiederum die Abkürzung ij für die Kante .i; j / verwenden, solange keine Missverständnisse zu befürchten sind. Es bezeichne xij die Menge, die entlang der Kante ij transportiert wird. Wir interpretieren xij wie folgt. Ist xij D 1, so liegt die Kante ij auf dem gesuchten Weg. Ist
235
Abschnitt 4.4 Kürzeste Wege
xij D 0, so liegt die Kante ij nicht auf dem gesuchten Weg. Natürlich soll xij 2 ¹0; 1º gelten, um entscheiden zu können, ob die Kante ij auf dem kürzesten Weg liegt oder nicht. Im Moment vernachlässigen wir diese zusätzliche Restriktion für xij und erlauben jeden nichtnegativen rellen Wert. Später werden wir begründen, dass das resultierende lineare Optimierungsproblem stets auch eine 0-1-Lösung besitzt. Der Startknoten s hat ein Angebot von 1 und der Zielknoten t einen Bedarf von 1, alle Zwischenknoten i D 2; 3; : : : ; n 1 haben das Angebot bzw. den Bedarf 0. Daher gelten die Gleichungen X X
xsk D 1;
kW.s;k/2E
X
xj k
xij D 0 .j 2 V n ¹s; t º/;
i W.i;j /2E
kW.j;k/2E
X
xit D 1:
i W.i;t/2E
Da die letzte Gleichung aus den übrigen folgt, können wir diese Gleichung streichen und erhalten damit das Kürzeste-Wege-Problem in kompakter Notation. Kürzeste-Wege-Problem 4.4.1. (P) Minimiere X
cij xij
ij 2E
unter den Nebenbedingungen Q D e 1 ; xij 0 .ij 2 E/ Š Ax Hierin ist e 1 der erste kanonische Einheitsvektor im Rn1 , und AQ bezeichnet die Knoten-Kanten-Inzidenzmatrix des Graphen ohne ihre letzte Zeile. Nach Satz 4.2.6 ist jede zulässige Basislösung des Problems (P) ganzzahlig, besitzt also wegen der ersten Gleichungsnebenbedingung nur die Komponenten 0 oder 1. Unsere Vernachlässigung der Forderung xij 2 ¹0; 1º ist also solange berechtigt, wie wir Varianten des Simplexverfahrens zur Problemlösung verwenden oder auf andere Weise Ganzzahligkeit erzwingen. Offenbar ist Problem (P) zulässig, wenn ein Weg von s nach t existiert. Falls zusätzlich cij 0 gilt, ist die Zielfunktion auf dem zulässigen Bereich nach unten durch 0 beschränkt, und es existiert eine optimale Lösung. Da wir das Netzwerk als zusammenhängend vorausgesetzt haben, existiert auch ein spannender Baum, und die
236
Kapitel 4 Netzwerkflussprobleme
Matrix AQ hat vollen Zeilenrang n 1. Dann besitzt das Kürzeste-Wege-Problem auch eine optimale Basislösung. Wir werden im Folgenden dennoch nicht das Netzwerksimplexverfahren zur Lösung des Kürzeste-Wege-Problems heranziehen, sondern gezielter die Problemstruktur ausnutzen. Auch das Dualproblem ist von sehr spezieller Gestalt. Duales Kürzeste-Wege-Problem 4.4.2. (D) Maximiere y1 unter den Nebenbedingungen yi yj cij
.ij 2 E/ Š
Vereinbarungsgemäss ist hier yn WD 0, und die eigentlichen dualen Variablen sind y1 ; : : : ; yn1 2 R. Dieses Dualproblem werden wir in Unterabschnitt 4.4.2 für die Interpretation des Kürzeste-Wege-Algorithmus von Dijkstra als primalduales Verfahren verwenden. Unabhängig vom speziellen Hintergrund beschreiben wir zunächst das Konzept dieses primaldualen Verfahrens.
4.4.1 Ein primaldualer Algorithmus Vorübergehend wenden wir uns wieder der allgemeinen primalen Normalform 2.1.2 und der zugehörigen dualen Normalform 2.6.4 mit den dort eingeführten Bezeichnungen zu. Primalproblem 4.4.3. Vorgegeben seien c 2 Rn ; b 2 Rm und die reelle m nMatrix A. (P)
Minimiere c >x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
Das zugehörige Dualproblem lautet: Dualproblem 4.4.4. (D) Maximiere b>y unter den Nebenbedingungen y 2 Rm und A> y c Š
237
Abschnitt 4.4 Kürzeste Wege
Ohne Beschränkung der Allgemeinheit setzen wir b 0Rm voraus. Dies kann durch Multiplikation von Gleichungsnebenbedingungen im primalen Problem mit 1 stets erreicht werden. Wie üblich werden die Spalten von A mit aj (j D 1; : : : ; n) bezeichnet. Ziel des folgenden konzeptionellen Algorithmus ist die Berechnung eines primalzulässigen Vektors x und eines dualzulässigen Vektors y, so dass die Complementary Slackness Conditions xj ..aj /> y cj / D 0
.j D 1; : : : ; n/
erfüllt sind. Im schwachen Dualitätssatz 2.6.5 wurde bereits gezeigt, dass die Gültigkeit der Complementary Slackness Conditions für primalzulässiges x und dualzulässiges y hinreichend für die Optimalität von x and y ist. Konzept des Algorithmus: Sei ein dualzulässiger Vektor q 2 Rm für (D) gegeben. Falls c 0Rn gilt, kann stets q D 0Rm gewählt werden. Es bezeichne J WD ¹j 2 ¹1; : : : ; nº W .aj /> q D cj º die Indexmenge der für q aktiven dualen Beschränkungen. Die Complementary Slackness Conditions sind erfüllt, falls ein primalzulässiger Vektor x für (P) mit xj ..aj /> q cj / D 0 .j … J / bestimmt werden kann. Wegen .aj /> q cj < 0 für j … J muss xj D 0 für alle j … J gelten. Insgesamt muss ein x 2 Rn mit X j 2J
aj xj D AJ xJ D b; xj 0 .j 2 J /; xj D 0
.j … J /
bestimmt werden. Dies kann mit Hilfe eines Hilfsproblems erreicht werden, welches bereits in Phase I des Simplexverfahrens zur Bestimmung einer zulässigen Basislösung auftrat. Zur Formulierung des Problems wird eine künstliche Schlupfvariable 2 Rm mit nichtnegativen Komponenten eingeführt. Minimierung der Summe der Komponenten von
führt auf das folgende Problem.
238
Kapitel 4 Netzwerkflussprobleme
Reduziertes Primalproblem 4.4.5. (RP) Minimiere m X
i
i D1
unter den Nebenbedingungen AJ xJ C D b; xj 0 .j 2 J /; xj D 0 .j … J /;
i 0 .i D 1; : : : ; m/ Š Das reduzierte Problem (RP) besitzt stets eine optimale Lösung, da die Zielfunktion auf dem zulässigen Bereich nach unten durch 0 beschränkt ist und eine zulässige Lösung .x; / mit x WD 0Rn und WD b 0Rm existiert. Das Problem (RP) könnte im Prinzip mit dem Simplexverfahren gelöst werden. Jedoch wird sich später zeigen, dass das Problem (RP) (bzw. dessen duales Problem) für speziell strukturierte Probleme, wie z. B. das Kürzeste-Wege-Problem, sehr einfach direkt zu lösen ist. Es bezeichne w den Optimalwert von (RP) und .x; N / N eine optimale Lösung von (RP). Zwei Fälle können auftreten: (i) Falls w D 0 gilt, ist xN zulässig für (P) und erfüllt die Complementary Slackness Conditions. Folglich ist xN optimal für (P) und q optimal für (D). (ii) Falls w > 0 gilt, ist xN nicht zulässig für (P), da nur AxN C N D b mit N 6D 0Rm gilt. Im Fall (ii) wird versucht, die aktuelle Iterierte q zu verbessern. Hierzu wird das zu (RP) duale Problem verwendet. Dieses ist gegeben durch Duales reduziertes Problem 4.4.6. (DRP) Maximiere b>y unter den Nebenbedingungen .AJ /> y 0Rn ; yj 1
.j D 1; : : : ; m/ Š
Es bezeichne yN eine optimale Lösung von (DRP). Der Hauptsatz der linearen Optimierung liefert b > yN D w > 0.
239
Abschnitt 4.4 Kürzeste Wege
Wir versuchen, den dualen Zielfunktionswert b > q für das Dualproblem (D) zu vergrößern, indem ein „besserer“ dualzulässiger Vektor q D q C yN für eine geeignete Schrittweite 2 R berechnet wird. Der duale Zielfunktionswert wächst wegen b > yN > 0 für > 0, b > q D b > q C b > yN > b > q: Zusätzlich soll die duale Zulässigkeit von q für (D) garantiert werden, was zu der Bedingung führt .aj /> q D .aj /> q C .aj /> yN cj
.j D 1; : : : ; n/:
Da yN bereits .aj /> yN 0 für j 2 J erfüllt, ist die obige Ungleichung für jedes 0 und j 2 J erfüllt. Es bleibt, die duale Zulässigkeit für j … J zu überprüfen. Zwei Fälle können auftreten: (iia) Falls .aj /> yN 0 für alle j … J gilt, dann bleibt die duale Zulässigkeit für alle 0 erhalten. Für ! 1 ist die duale Zielfunktion jedoch unbeschränkt, da b > q ! 1 für ! 1. Folglich besitzt das primale Problem (P) nach dem schwachen Dualitätssatz keine zulässige Lösung. (iib) Falls .aj /> yN > 0 für ein j … J gilt, dann bleibt die duale Zulässigkeit erhalten für ²
max
³ cj .aj /> q j > W j … J; .a / yN > 0 : WD min .aj /> yN
q WD q C max yN ist zulässig für (D) und vergrößert den aktuellen dualen Zielfunktionswert. Dieses Konzept wird realisiert in folgendem Algorithmus, der also ein „Aufstiegsverfahren“ für das Dualproblem (D) ist, wobei der Optimalitätstest die Lösung des reduzierten Problempaars (RP) und (DRP) erfordert. Der Algorithmus arbeitet nicht mit zulässigen Basislösungen für das Problem (D), sondern baut die Indexmenge J dualaktiver Ungleichungen erst sukzessive auf. Die „innere“ Optimierung, nämlich die Lösung der reduzierten Probleme, wird für Kürzeste-Wege-Probleme mit hocheffizienten, auf diese Problemstruktur zugeschnittenen Spezialverfahren durchgeführt, vgl. den folgenden Unterabschnitt 4.4.2 über Dijkstras Algorithmus.
240
Kapitel 4 Netzwerkflussprobleme
Primaldualer Algorithmus 4.4.7. (0) Wähle eine zulässige Lösung q für (D). (1) Setze J D ¹j 2 ¹1; : : : ; nº W .aj /> q D cj º. (2) Berechne eine Optimallösung xN von (RP) mit dem Optimalwert w und eine Optimallösung yN von (DRP). (3) Falls w D 0, dann endet das Verfahren erfolgreich: xN ist optimal für (P), und q ist optimal für (D). (4) Falls w > 0 und .aj /> yN 0 für jedes j … J , dann endet das Verfahren erfolglos: (D) ist unbeschränkt, und (P) ist unzulässig. (5) Berechne ´
max
μ cj .aj /> q j > WD min W j … J; .a / yN > 0 ; .aj /> yN
setze q WD q C max yN und gehe zu (1). Wir illustrieren diesen Algorithmus an folgendem Beispiel. Beispiel 4.4.8. Gegeben sei das lineare Optimierungsproblem (P) Minimiere
c>x
u. d. N.
Ax D b; x 0Rn Š
Dabei sei 0
1 2 B 3 C C cDB @ 0 A; 0
8 bD ; 9
AD
1 2 1 0 2 1 0 1
:
Das duale Problem lautet: (D)
Maximiere u. d. N.
8y1 C 9y2 y1 C 2y2 2; 2y1 C y1 3; y1 0; y2 0 Š
Iteration 1: q D .1; 1/> ist zulässig für (D). Nur die zweite duale Beschränkung ist aktiv, und die Indexmenge der aktiven dualen Beschränkungen lautet J D ¹2º.
241
Abschnitt 4.4 Kürzeste Wege
Das reduzierte Primalproblem lautet: (RP)
1 C 2
Minimiere
2x2 C 1 D 8;
u. d. N.
x2 C 2 D 9;
x2 ; 1 ; 2 0 Š
Dieses lineare Optimierungsproblem besitzt die Lösung xN 2 D 4; N 1 D 0; N 2 D 5 mit w D 5 > 0, welche mit dem Simplexverfahren berechnet wurde. Eine Lösung von (DRP) berechnet sich zu yN D .1=2; 1/> . Es gilt A> yN D .3=2; 0; 1=2; 1/> ; und wir berechnen
² max D min
³ 2 2 .3/ 0 .1/ D : ; 3=2 1 3
Dann ist q WD q C max yN D .4=3; 1=3/> . Iteration 2: Es gilt A> q D .2; 3; 4=3; 1=3/> und daher J D ¹1; 2º. Das reduzierte Problem lautet:
1 C 2
(RP) Minimiere u. d. N.
x1 C 2x2 C 1 D 8; 2x1 C x2 C 2 D 9;
x1 ; x2 ; 1 ; 2 0 Š
Dieses Problem besitzt die Lösung xN 1 D 10=3; xN 2 D 7=3; N 1 D N 2 D 0 mit w D 0. Das Optimalitätskriterium ist erfüllt, und xN D .10=3; 7=3; 0; 0/> ist somit optimal für (P) und q D .4=3; 1=3/> optimal für (D).
4.4.2 Dijkstras Algorithmus In diesem Abschnitt behandeln wir das Kürzeste-Wege-Problem mit positiven Gewichten cij > 0 für alle ij 2 E. Wir wenden dazu den primaldualen Algorithmus 4.4.7 auf das Kürzeste-WegeProblem 4.4.1 und das zugehörige Dualproblem 4.4.2 an. Wegen c > 0Rm ist q WD 0Rn dualzulässig und definiert die Indexmenge J D ¹ij 2 E W qi qj D cij º: Das reduzierte Problem mit Schlupfvariablen D . 1 ; : : : ; n1 /> lautet: (RP) Minimiere n1 X i D1
i
242
Kapitel 4 Netzwerkflussprobleme
unter den Nebenbedingungen AQJ xJ C D e 1 ;
xij 0 .ij 2 J /;
0Rn1 Š
(4.22)
Es besitzt stets eine Optimallösung und, da die Koeffizientenmatrix vollen Zeilenrang n 1 hat, auch eine optimale Basislösung. Wir wissen bereits, dass diese Basislösung ganzzahlig ist. Also ist der Optimalwert w dieses Problems ganzzahlig. Das duale reduzierte Problem ist gegeben durch: (DRP)
Maximiere u. d. N.
y1 yi yj 0 .ij 2 J /; .i D 1; : : : ; n 1/; yi 1 yn WD 0 Š
(4.23)
Die Bedingung yn WD 0 entsteht durch das Weglassen der letzten Zeile der KnotenKanten-Inzidenzmatrix. Der Optimalwert von (DRP) ist nach dem Hauptsatz der linearen Optimierung ebenfalls gleich w und ganzzahlig. w kann dann nur gleich 0 oder 1 sein, da der Optimalwert von (RP) stets nichtnegativ ist. Definiere yNn WD 0. Falls der Zielknoten n vom Knoten i über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar ist, so setze yNi D 0. Alle übrigen Knotenzahlen definiere man als yNi WD 1. Für die so gewonnenen Knotenzahlen gilt dann yNi 1. Sei die Kante ij 2 J beliebig gewählt. Falls yNj D 1, so ist natürlich yNi yNj 0. Sei also yNj D 0. Dann ist der Zielknoten n vom Knoten j längs eines Wegs mit lauter Kanten aus J erreichbar. Also ist der Knoten n auch vom Knoten i längs eines Wegs mit lauter Kanten aus J erreichbar, d. h. es ist yNi D 0. Die so definierten Knotenzahlen yNi sind also zulässig für Problem (DRP). Ist der Zielknoten n nicht vom Startknoten 1 über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar, so ist yN1 D 1 und yN Maximallösung von (DRP). Ist der Zielknoten n vom Startknoten 1 über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar, so ist yN1 D 0, und für jede zulässige Lösung y von (DRP) ist y1 0. Also ist dann auch yN Maximallösung von (DRP). Damit ist die innere Optimierung des primaldualen Algorithmus vollständig graphentheoretisch interpretiert. Optimalitätskriterium 4.4.9. Definiere yNn WD 0. Falls der Zielknoten n vom Knoten i über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar ist, so setze yNi D 0. Alle übrigen Knotenzahlen definiere man als yNi WD 1. Ist der Zielknoten n nicht vom Startknoten 1 über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar, so ist yN1 D 1 und yN Maximallösung von (DRP). Ist der Zielknoten n vom Startknoten 1 über einen (gerichteten) Weg mit lauter Kanten aus J erreichbar, so ist yN1 D 0 und yN Maximallösung von (DRP).
243
Abschnitt 4.4 Kürzeste Wege
Im letzteren Fall sind die Optimalwerte von (DRP) und (RP) beide gleich 0, und der primalduale Algorithmus endet mit der optimalen Lösung. Solange also noch nicht yN1 D 0 erreicht ist, fahren wir mit dem primaldualen Algorithmus fort, berechnen die Schrittweite max D
min
ij …J WyN i yNj >0
¹cij .qi qj /º;
setzen q WD q C max yN und beginnen mit der nächsten Iteration des primaldualen Algorithmus. Der folgende Satz verdeutlicht, wie der primalduale Algorithmus, angewendet auf das Kürzeste-Wege-Problem, arbeitet. Wir verwenden dabei die Menge W D ¹i 2 V W Zielknoten n ist erreichbar von i über Kanten in J º D ¹i 2 V W yNi D 0º: Satz 4.4.10. Sei .V; E; c; s; t / mit jV j D n ein Netzwerk mit positiven Gewichten cij > 0 für alle ij 2 E. (a) Falls der primalduale Algorithmus mit dem zulässigen dualen Punkt qi D 0 (i D 1; : : : ; n) startet, dann wird der kürzeste Weg von s nach t nach höchstens n 1 Iterationen bestimmt. (b) In jeder Iteration wird eine Kante ij 2 E mit i … W und j 2 W zur Indexmenge J hinzugefügt. Diese Kante bleibt in J für alle folgenden Iterationen. (c) Der Wert der Variablen qi mit i 2 W ist die Länge des kürzesten Wegs von Knoten i zu Knoten t D n. Beweis (vgl. Bomze und Grossmann [18, Satz 7.3, S. 334]). (i) Initialisierung: Betrachte die erste Iteration des Algorithmus. Es bezeichne ` D 0 den Itera.0/ tionsindex. Da cij > 0 für alle ij 2 E gilt, ist qi D 0 (i D 1; : : : ; n) zulässig für das duale Problem. Des Weiteren gilt J .0/ D ;, da 0 D qi.0/ qj.0/ < cij für alle ij 2 E gilt. Damit folgen in der ersten Iteration ` D 0 die Beziehungen yNn D 0, yNi D 1 (i D 1; : : : ; n 1) und W .0/ D ¹nº. Sei ck n WD min.i;n/2E ci n . Dann gilt max D ck n , und nach der ersten Iteration gilt μ ´ ´ .0/ 0 .i D n/; .i 2 W .0/ / qi .1/ qi D D .0/ .0/ ck n .i D 1; : : : ; n 1/: qi C max .i … W /
244
Kapitel 4 Netzwerkflussprobleme
Insbesondere gilt qk.1/ D ck n und somit qk.1/ qn.1/ D ck n , d. h. die duale Restriktion qk qn ck n wird aktiv für q .1/ . Daher wird .k; n/ 2 E zur Menge .1/ J .0/ hinzugefügt, und qk D ck n D min.i;n/2E ci n bezeichnet die Länge des kürzesten k-n-Wegs. (ii) Induktionsschritt: Die Behauptung wird per Induktion über den Iterationsindex ` bewiesen. .`/ Es bezeichne yj für j 2 W .`/ die Länge eines kürzesten j -n-Wegs in Iteration `. Sei yN eine Lösung von (DRP) zum Maximalwert w D 1. Dann gilt yNi D 1 für jedes i … W .`/ und yNj D 0 für jedes j 2 W .`/ . Die Schrittweite berechnet sich zu .`/ y.`/ / max D c .y
WD D
min
.cij .yi.`/ yj.`/ //
ij …J .`/ ;yNi yNj >0
min
ij …J .`/ ;i …W .`/ ;j 2W .`/
.cij .yi.`/ yj.`/ //:
Für jedes ij 2 E mit i … W .`/ und j 2 W .`/ gilt ´ .`/ .i 2 W .`/ /; yi .`C1/ D yi .`/ yi C max .i … W .`/ /: Speziell gilt .`C1/ .`/ .`/ .`/ D y C max D y C c y C y.`/ D y.`/ C c ; y
d. h. .; / mit … W .`/ und 2 W .`/ wird zu J .`/ hinzugefügt. .`/
Da y nach Induktionsvoraussetzung die Länge eines kürzesten -n-Wegs an.`C1/ gibt und y die Beziehung .`C1/ D y.`/ C c D y .`C1/
erfüllt, ist y
min
ij …J .`/ ;i …W .`/ ;j 2W .`/
.yj.`/ C cij /
die Länge eines kürzesten -n-Wegs.
(iii) Endlichkeit: In jeder Iteration wird ein Knoten zu W .`/ hinzugefügt. Der Algorithmus endet daher nach höchstens n 1 Iterationen. (iv) Aktive duale Restriktionen: Es bleibt zu zeigen, dass, wenn immer eine Kante ij 2 E mit i … W .`1/ und j 2 W .`1/ zu J .`1/ hinzugefügt wird, diese in J .k/ für alle k ` verbleibt.
245
Abschnitt 4.4 Kürzeste Wege
Sei also ij 2 J .`/ mit i; j 2 W .`/ . In der Iteration ` gilt dann yNi D yNj D 0 und .`C1/ D yi.`/ und yj.`C1/ D yj.`/ und dann daher yi .`C1/
yi
yj.`C1/ D yi.`/ yj.`/ D cij :
Also ist ij 2 J .`C1/ und i; j 2 W .`C1/ . Die Behauptung folgt induktiv. Bemerkung 4.4.11. Die Voraussetzung c ij > 0 ist wesentlich für die Interpretation der dualen Variablen als Länge kürzester Wege. Der Algorithmus findet nicht nur einen kürzesten Weg von s nach t , sondern sogar kürzeste Wege von jedem Knoten in W zu t . Falls max nicht eindeutig bestimmt ist für ein ij … J , kann jedes solche ij zu J hinzugefügt werden. Beachte, dass der obige Satz nur eine Interpretation für die dualen Variablen qi mit i 2 W liefert. Wir demonstrieren die Arbeitsweise des primaldualen Algorithmus für KürzesteWege-Probleme an einem Beispiel. Beispiel 4.4.12. Gegeben sei das folgende Netzwerk.
3
2
4 2
2 1
2
3
6 5
1 3
1
5
Die Knotenmenge ist V D ¹1; 2; 3; 4; 5; 6º, und die Kantenmenge lautet E D ¹.1; 2/; .1; 3/; .2; 3/; .2; 4/; .3; 5/; .4; 6/; .5; 4/; .5; 6/º: Die Knoten-Kanten-Inzidenzmatrix lautet 0 1 1 1 0 0 0 0 0 0 B 1 0 1 1 0 0 0 0 C B C B 0 1 1 0 1 0 0 0 C B C: ADB C B 0 0 0 1 0 1 1 0 C @ 0 0 0 0 1 0 1 1 A 0 0 0 0 0 1 0 1
246
Kapitel 4 Netzwerkflussprobleme
Das Kürzeste-Wege-Problem von Knoten 1 zu Knoten 6 führt auf das folgende lineare Optimierungsproblem: Minimiere
c>x
u. d. N.
Ax D b; x 0R8 Š
Dabei ist c D .c12 ; c13 ; c23 ; c24 ; c35 ; c46 ; c54 ; c56 /> D .2; 1; 3; 3; 1; 2; 2; 5/> ; x D .x12 ; x13 ; x23 ; x24 ; x35 ; x46 ; x54 ; x56 /> ; b D .1; 0; 0; 0; 0; 1/> : Wir wenden den primaldualen Algorithmus mit Startpunkt q D .0; 0; 0; 0; 0; 0/> an. Da alle cij positiv sind, gilt 0R8 D A> q c. Die Indexmenge der aktiven dualen Beschränkungen ist J D ;.
3
2
4 2
2 1
2
3
6 5
1 3
1
5
Iteration 1: Optimale Lösung von (DRP): yN D .1; 1; 1; 1; 1; 0/> ;
W D ¹6º:
Schrittweite: max D
min
¹cij .qi qj /º D min¹c46 ; c56 º D min¹2; 5º D 2:
ij …J WyN i yNj >0
Update von q: q WD q C max yN D .2; 2; 2; 2; 2; 0/> :
247
Abschnitt 4.4 Kürzeste Wege
3
2
4 2
2 1
2
3
6 5
1 3
5
1
Iteration 2: Aktive duale Beschränkungen in (D): J D ¹.4; 6/º. Optimale Lösung von (DRP): yN D .1; 1; 1; 0; 1; 0/> ;
W D ¹4; 6º:
Schrittweite: max D
¹cij .qi qj /º
min
ij …J WyN i yNj >0
D min¹c24 .2 2/; c54 .2 2/; c56 .2 0/º D min¹3; 2; 3º D 2: Update von q: q WD q C max yN D .4; 4; 4; 2; 4; 0/> :
3
2
4 2
2 1
2
3
6 5
1 3
1
5
Iteration 3: Aktive duale Beschränkungen in (D): J D ¹.4; 6/; .5; 4/º. Optimale Lösung von (DRP): yN D .1; 1; 1; 0; 0; 0/> ;
W D ¹4; 5; 6º:
248
Kapitel 4 Netzwerkflussprobleme
Schrittweite: max D
¹cij .qi qj /º
min
ij …J WyN i yNj >0
D min¹c35 .4 4/; c24 .4 2/º D min¹1; 1º D 1: Update von q: q WD q C max yN D .5; 5; 5; 2; 4; 0/> :
3
2
4 2
2 1
2
3
6 5
1 3
5
1
Iteration 4: Aktive duale Beschränkungen in (D): J D ¹.4; 6/; .5; 4/; .2; 4/; .3; 5/º. Optimale Lösung von (DRP): yN D .1; 0; 0; 0; 0; 0/> ;
W D ¹2; 3; 4; 5; 6º:
Schrittweite: max D
min
¹cij .qi qj /º
ij …J WyN i yNj >0
D min¹c12 .5 5/; c13 .5 5/º D min¹2; 1º D 1: Update von q: q WD q C max yN D .6; 5; 5; 2; 4; 0/> :
249
Abschnitt 4.4 Kürzeste Wege
3
2
4 2
2 1
2
3
6 5
1 3
5
1
Iteration 5: Aktive duale Beschränkungen in (D): J D ¹.4; 6/; .5; 4/; .2; 4/; .3; 5/; .1; 3/º: Optimale Lösung von (DRP): yN D .0; 0; 0; 0; 0; 0/> ;
W D ¹1; 2; 3; 4; 5; 6º:
Es gibt einen Weg von Knoten 1 zu Knoten 6 in J . Folglich sind die Optimalwerte von (RP) und (DRP) gleich 0. Somit wurde die optimale Lösung sogar nach 4 Schritten gefunden. Der Wert der Variablen qi mit i 2 W ist die Länge eines kürzesten Wegs von Knoten i zum Knoten n. In jeder Iteration wurde mindestens eine Kante ij 2 E mit i … W und j 2 W zur Indexmenge J hinzugefügt. Diese Kante verblieb in J für alle nachfolgenden Iterationen. Der primalduale Algorithmus beschreibt die Funktionsweise des Algorithmus von Dijkstra zur Lösung von Kürzeste-Wege-Problemen. Eine effiziente Implementierung, bei der wir mit dem Startknoten s starten, lautet wie folgt: Dijkstras Algorithmus 4.4.13. (0) Initialisierung: Setze W D ¹1º, d.1/ D 0 und d.i / D 1 für alle i 2 V n ¹1º. (1) Für alle i 2 V n ¹1º mit .1; i/ 2 E setze d.i / D c1i und p.i/ D 1. (2) While W 6D V do Finde k 2 V n W mit d.k/ D min¹d.i / W i 2 V n W º. Setze W D W [ ¹kº. For all i 2 V n W mit .k; i/ 2 E do If d.i / > d.k/ C cki then Setze d.i / D d.k/ C cki und p.i/ D k. end if end do end do
250
Kapitel 4 Netzwerkflussprobleme
Ausgabe:
Für alle i 2 V enthält d.i / die Länge eines kürzesten s-i-Wegs, p.i/ bezeichnet den Vorgänger des Knotens i auf einem kürzesten Weg. Falls i nicht von s erreichbar ist, gilt d.i / D 1, und p.i/ ist undefiniert.
Komplexität: Die While-Schleife hat n1 Iterationen. Jede Iteration benötigt höchstens n Schritte in der For-Schleife, um d zu berechnen. Entsprechend werden höchstens n Schritte benötigt, um das Minimum d.k/ innerhalb der While-Schleife zu bestimmen. Demnach beträgt die Gesamtkomplexität von Dijkstras Algorithmus O.n2 /, wobei n die Anzahl der Knoten im Netzwerk bezeichnet. Es ist also ein polynomialer Algorithmus. Beispiel 4.4.14. Finde mit dem Algorithmus von Dijkstra einen kürzesten Weg von s D 1 nach t D 6 im folgenden Netzwerk: 4
2
4 2
5 1
3
2
6
3
7 3
5
1
Dijkstras Algorithmus erzeugt folgende Zwischenschritte: Initialisierung: W={1} d(2)=inf
d(4)=inf 4
2
4 2
5 d(1)=0
1
3
2
6
3
7 3 d(3)=inf
1
5 d(5)=inf
d(6)=inf
251
Abschnitt 4.4 Kürzeste Wege Schritt (1): W={1} d(2)=5 p(2)=1 2
d(4)=inf 4
4 2
5 d(1)=0
1
3
2
6
d(6)=inf
6
d(6)=inf
6
d(6)=11 p(6)=5
7
3 3
5
1
d(3)=3 p(3)=1
d(5)=inf
Schritt (2), Iteration 1: W={1,3}, k=3 d(2)=5 d(4)=inf p(2)=1 4 4 2 2
5 d(1)=0
1
3
2
7
3 3
5
1
d(3)=3 p(3)=1
d(5)=4 p(5)=3
Schritt (2), Iteration 2: W={1,3,5}, k=5 d(4)=7 d(2)=5 p(4)=5 p(2)=1 4 4 2 2
5 d(1)=0
1
3
2
7
3 3 d(3)=3 p(3)=1
1
5 d(5)=4 p(5)=3
252
Kapitel 4 Netzwerkflussprobleme Schritt (2), Iteration 3: W={1,2,3,5}, k=2 d(2)=5 d(4)=7 p(2)=1 p(4)=5 4 4 2 2
5 d(1)=0
1
3
2
6
d(6)=11 p(6)=5
6
d(6)=9 p(6)=4
7
3 3
5
1
d(3)=3 p(3)=1
d(5)=4 p(5)=3
Schritt (2), Iteration 4: W={1,2,3,4,5}, k=4 d(4)=7 d(2)=5 p(4)=5 p(2)=1 4 4 2 2
5 d(1)=0
1
3
2 3
7 3 d(3)=3 p(3)=1
5
1
d(5)=4 p(5)=3
Ergebnis: Ein kürzester Weg von s nach t ist der Weg .s; 3; 5; 4; t / mit Länge 9.
4.4.3 Algorithmus von Floyd-Warshall Wir lassen nun auch Gewichte cij 0 zu, allerdings mit der Einschränkung, dass das Netzwerk keine Kreise negativer Länge enthalten darf. Der folgende Algorithmus von Floyd-Warshall basiert auf den Arbeiten [47, 165] und berechnet nicht nur kürzeste Wege von s zu allen anderen Knoten j 2 V (wie Dijkstras Algorithmus), sondern sogar kürzeste Wege zwischen zwei beliebigen Knoten i 2 V und j 2 V . Darüber hinaus ist er leicht zu implementieren. Er funktioniert auch für negative Gewichte und ist in der Lage, Kreise negativer Länge zu detektieren.
253
Abschnitt 4.4 Kürzeste Wege
Algorithmus von Floyd-Warshall 4.4.15. (0) Initialisierung: Setze dij D 1 für alle ij (i; j D 1; : : : ; n). Setze dij D cij für alle ij 2 E. Setze di i D 0 für alle i D 1; : : : ; n. Setze pij D i für alle i; j 2 V . (1) For j D 1; : : : ; n do For i D 1; : : : ; n, i 6D j do For k D 1; : : : ; n, k 6D j do If dik > dij C dj k then Setze dik D dij C dj k und pik D pj k . end if end do end do end do Ausgabe:
Distanzmatrix
1 d11 d1n C B D D @ ::: : : : ::: A : dn1 dnn 0
Dabei ist dij die Länge eines kürzesten Wegs von i nach j .
Vorgängermatrix
1 p11 p1n C B P D @ ::: : : : ::: A : pn1 pnn 0
Darin bezeichnet .pij ; j / die letzte Kante auf einem kürzesten Weg von i nach j , d. h. pij ist der Vorgänger des Knotens j auf einem kürzesten i-j -Weg (falls ein solcher existiert). Komplexität: Jede For-Schleife hat höchstens n Iterationen. Die Gesamtkomplexität des Algorithmus ist daher O.n3 /, wobei n die Anzahl der Knoten des Netzwerks bezeichnet. Die Korrektheit des Algorithmus wird in folgendem Satz gezeigt, vgl. [96]. Satz 4.4.16. Für alle i; k 2 V berechnet der Algorithmus von Floyd-Warshall die Länge dik eines kürzesten Wegs von i nach k, falls das Netzwerk keinen Zyklus negativer Länge enthält.
254
Kapitel 4 Netzwerkflussprobleme
Beweis. Wir zeigen durch Induktion über ` 2 ¹0; : : : ; nº Folgendes: Nachdem die äußere Schleife für j D 1; : : : ; ` beendet wurde, enthält die Variable dik (für alle i und k) die Länge eines kürzesten i-k-Wegs, der nur Zwischenknoten v 2 ¹1; : : : ; `º enthält. Der Laufindex ` D 0 entspricht der Initialisierung. Die Einträge dik nach Durchlauf der äußeren Schleife für j D 1; : : : ; ` bezeichnen wir der Deutlichkeit halber mit ` . dik Für ` D 0 ist die Behauptung gemäß der Initialisierung in Schritt (0) richtig. Sei die Behauptung richtig für ein ` 2 ¹0; : : : ; n 1º. Wir müssen zeigen, dass die Behauptung auch für ` C 1 richtig ist. ` die Länge eines Seien i und k beliebige Knoten. Gemäß Induktionsannahme ist dik kürzesten i -k-Wegs, der nur Zwischenknoten aus ¹1; : : : ; `º enthält. Ist in der Schleife für j D ` C 1 ` ` ` di;`C1 C d`C1;k ; dik
so bleibt `C1 ` WD dik dik
ungeändert. Ist in der Schleife für j D ` C 1 ` ` ` dik > di;`C1 C d`C1;k ;
so wird `C1 ` ` WD di;`C1 C d`C1;k : dik
Also gilt allgemein `C1 ` ` ` D min¹dik ; di;`C1 C d`C1;k º: dik
Sei w ein beliebiger i-k-Weg der Länge d mit Zwischenknoten nur aus ¹1; : : : ; `C1º. Liegt ` C 1 nicht auf diesem Weg, so ist w ein i-k-Weg mit lauter Zwischenknoten ` d und daher aus ¹1; : : : ; `º. Nach Induktionsvoraussetzung ist dann dik `C1 ` dik dik d:
Liegt ` C 1 auf diesem Weg, so hat der Weg w die Gestalt .i; : : : ; ` C 1; : : : ; k/: Der Teilweg .i; : : : ; ` C 1/ verbindet also i und ` C 1 und verwendet nur Zwischen` . knoten aus ¹1; : : : ; `º, seine Länge ist also größer oder gleich di;`C1
255
Abschnitt 4.4 Kürzeste Wege
Ebenso verbindet der Teilweg .`C1; : : : ; k/ den Knoten `C1 mit k und verwendet ` . nur Zwischenknoten aus ¹1; : : : ; `º, seine Länge ist also größer oder gleich d`C1;k ` ` Also ist d di;`C1 C d`C1;k und daher `C1 ` ` di;`C1 C d`C1;k d: dik
Wir brauchen also nur noch einen i-k-Weg anzugeben mit lauter Zwischenknoten `C1 aus ¹1; : : : ; ` C 1º und Länge dik . `C1 ` , so existiert nach Induktionsvoraussetzung ein i -k-Weg kürzester D d Ist dik ik ` , der sogar nur Zwischenknoten aus ¹1; : : : ; `º enthält. Länge dik Sei also `C1 ` ` ` WD di;`C1 C d`C1;k < dik : dik ` ` bzw. d`C1;k die Längen eines kürzesten Nach Induktionsvoraussetzung sind di;`C1 i -(` C 1)-Wegs w1 bzw. (` C 1)-k-Wegs w2 mit lauter Zwischenknoten aus ¹1; : : : ; `º. Falls w1 und w2 einen gemeinsamen inneren Knoten v besitzen, so enthielte die zusammengesetzte Kantenfolge w1 w2 einen Zyklus von v über ` C 1 zurück zu v. Gemäß Voraussetzung hat dieser Zyklus nichtnegative Länge, und die Kantenfolge w1 w2 kann daher zu einem i -k-Weg abgekürzt werden. Dieser Weg nutzt nur Zwischenknoten in ¹1; : : : ; `º, und seine Länge ist kleiner ` ` ` im Widerspruch zur Induktionsannahme. C d`C1;k < dik oder gleich di;`C1 Dieser Widerspruch zeigt, dass die Wege w1 und w2 keinen gemeinsamen inneren Knoten besitzen. Die zusammengesetzte Kantenfolge w1 w2 ist also in der Tat ein i-k` ` C d`C1;k , der nur Zwischenknoten aus ¹1; : : : ; ` C 1º nutzt. Weg der Länge di;`C1
Beispiel 4.4.17. Betrachte das folgende Netzwerk, welches nur Kreise nicht negativer Länge enthält.
1
2
1
2
1
í2
4
3
3
256
Kapitel 4 Netzwerkflussprobleme
Der Algorithmus von Floyd-Warshall erzeugt die folgende Ausgabe: Initialisierung: 0 1 1 1 D:
2
0
1 1
1 1 0 1 1 2 3
1 1 1 1 P:
2 2 2 2 3 3 3 3
0
4 4 4 4
0 1 1 1
1 1 1 1
j D 1:
D:
2
0
1
3
1 1 0 1 1 2 3
P:
2 2 2 1 3 3 3 3
0
4 4 4 4
0 1 1 1
1 1 1 1
j D 2:
D:
2
0
1
3
1 1 0 1
P:
2 2 2 1 3 3 3 3
0 2 1 0
2 4 2 4
0 1 1 1
1 1 1 1
j D 3:
D:
2
0
1
3
1 1 0 1
P:
2 2 2 1 3 3 3 3
0 2 1 0
2 4 2 4
0 1 0
1
1 4 2 1
2
3
j D 4:
D:
0
1
1 1 0 1 0 2 1 0
P:
2 2 2 1 3 3 3 3 2 4 2 4
257
Abschnitt 4.5 Aufgaben
Mit Hilfe der Vorgängermatrix P kann nun leicht ein optimaler Weg rekonstruiert werden. Zum Beispiel hat der kürzeste Weg von Knoten 1 nach Knoten 3 die Länge d13 D 0. Der Eintrag p13 D 2 in P liefert den Vorgänger des Knotens 3 auf dem kürzesten Weg, nämlich Knoten 2. Der Vorgänger des Knotens 2 auf dem kürzesten Weg steht in p12 D 4. Schließlich steht der Vorgänger des Knotens 4 in p14 D 1. Damit ist ein kürzester Weg von 1 nach 3 gegeben durch .1; 4; 2; 3/. Bemerkung 4.4.18 (Kreise negativer Länge). Man kann zeigen, dass die Diagonalelemente di i , i D 1; : : : ; n, genau dann nicht negativ bleiben, wenn das Netzwerk keinen Kreis negativer Länge enthält. Daher ist der Algorithmus von Floyd-Warshall in der Lage, Kreise negativer Länge festzustellen. Der Algorithmus muss gestoppt werden, sobald ein Diagonalelement in D negativ wird.
4.5
Aufgaben
Aufgabe 4.5.1. Ein Routenplaner steht vor dem Problem, den kürzesten Weg zwischen zwei Städten A und B zu berechnen. Dabei sei A der Startort und B der Zielort. Die möglichen Verbindungsstrecken von A nach B über Zwischenstationen 1; 2; 3; 4 sind durch folgendes Netzwerk charakterisiert: 1
4
3
5
2 2
A
B
3
3
7 2
1
4
Die Länge des Wegs zwischen zwei Stationen ist über der jeweiligen Verbindungskante eingetragen. Lösen Sie die Aufgabe, indem Sie das Problem des kürzesten Wegs im Netzwerk mit dem Netzwerksimplexverfahren lösen. Aufgabe 4.5.2. Ein Partylieferant muss für die nächsten vier Tage 100, 60, 60 bzw. 90 Stoffservietten bereitstellen. Er kann entweder neue Servietten für 2 Euro pro Stück kaufen, oder er kann gebrauchte und gereinigte Servietten verwenden. Ein Reinigungsservice berechnet für die Reinigung 25 Cent pro Serviette bei einer Lieferzeit
258
Kapitel 4 Netzwerkflussprobleme
von 2 Tagen. Alternativ kann der Partylieferant die Servietten innerhalb eines Tages selbst reinigen. Berücksichtigt er die hierfür nötige Arbeitszeit, so belaufen sich seine Kosten auf 75 Cent pro Serviette. Wie soll der Partylieferant verfahren, um seine Kosten minimal zu halten? Aufgabe 4.5.3 (vgl. [168]). Der Preis für ein neues Auto betrage 10 000 Euro. Die jährlichen Reparaturkosten und der Wiederverkaufswert sind abhängig vom Alter des Fahrzeugs und durch die folgende Tabelle gegeben: Alter
Kosten in Euro
Wiederverkaufswert in Euro
1 2 3 4 5 6
300 500 800 1200 1600 2200
7000 6000 4000 3000 2000 1000
Bestimmen Sie für die nächsten sechs Jahre eine Reparatur-Verkauf-Strategie zur Minimierung der Nettokosten für den Besitz eines Autos unter der Voraussetzung, dass nur neue Autos gekauft werden. Es wird angenommen, dass der Kauf bzw. Verkauf eines Autos zu Beginn eines Jahres erfolgen kann und dass zu Beginn des ersten Jahres ein neues Auto gekauft wird. Hinweis: Problem des kürzesten Wegs in einem Netzwerk. Aufgabe 4.5.4. Um nach Knoten 6 zu gelangen, treten durchschnittlich 900 Autos pro Stunde in Knoten 1 des vorliegenden Straßennetzes ein. 600
2 800
4 400
100
1
6
600
600
300
3
600 400
5
259
Abschnitt 4.5 Aufgaben
Die Zeiten, die ein Auto benötigt, um eine Strecke entlang einer Kante des Netzwerks zurückzulegen, sind in der folgenden Tabelle angegeben: Kanten
.1; 2/
.1; 3/
.2; 4/
.2; 5/
.3; 4/
.3; 5/
.4; 5/
.4; 6/
.5; 6/
Minuten
10
50
30
70
10
60
30
60
30
Auf Grund der unterschiedlichen Straßenbeschaffenheit ist die Anzahl der Autos, die pro Stunde eine Straße durchfahren können, begrenzt durch die im Netzwerk neben den Kanten eingetragenen Werte. Die Aufgabe eines Verkehrsleitsystems besteht darin, die 900 Autos derart durch das Straßennetz zu leiten, dass die Durchfahrtzeit minimal wird. Wie sieht eine solche Verteilung aus? Aufgabe 4.5.5. Sei .V; E/ ein Baum mit Knotenmenge V , jV j D n und Kantenmenge E. Es sei v1 2 V ein fest gewählter Knoten. Zeigen Sie, dass die übrigen Knoten so als v2 ; v3 ; : : : ; vn nummeriert werden können, dass gilt: Für jedes i 2 existiert genau eine Kante, die vi als Endpunkt besitzt und deren anderer Endpunkt aus ¹v1 ; : : : ; vi1 º stammt. Aufgabe 4.5.6. Ein Projekt sei durch die Aktivitäten der folgenden Tabelle gegeben. Vorgang
Vorgänger
Dauer
A B C D E F G H
– – – A, B A, B B, C D, E E
3 3 1 3 3 2 4 3
(a) Formulieren Sie lineare Optimierungsprobleme zur Bestimmung der kürzestmöglichen Gesamtdauer des Projekts und lösen Sie diese. Interpretieren Sie das duale Problem. (b) Erläutern Sie, wie man mit Hilfe der linearen Optimierungsprobleme analysieren kann, ob bzw. wie sich die Verschiebung der (erwarteten) Vorgangsdauer eines Vorgangs auf die Gesamtdauer auswirkt.
260
Kapitel 4 Netzwerkflussprobleme
Aufgabe 4.5.7. Router sind Computer, die die Aufgabe haben, Datenpakete im Internet von einem Sender über mehrere Zwischenstationen zu einem Empfänger zu leiten. Sie bilden die Verbindungen zwischen den einzelnen Datenleitungen im Internet. Mit Routing wird der Vorgang der Weiterleitung von Datenpaketen im Internet vom Herkunfts- zum Zielrechner bezeichnet. Dabei stehen im Allgemeinen mehrere Wege über verschiedene Router zur Verfügung. Da es auf einzelnen Teilstrecken zu Engpässen durch Überlastung oder Ausfälle kommen kann, besteht die Aufgabe des (dynamischen) Routings darin, einen möglichst schnellen und sicheren Weg zum Empfänger zu finden. Die einer Verbindung zugeordnete aktuelle Transferrate kann z. B. durch regelmäßige Messung und Speicherung der Übertragungszeit in einer Tabelle durch die Router ermittelt werden. Werden die aktuellen Transferraten als Kantenbewertungen in einem Netzwerk interpretiert, welches die Vernetzung der Router beschreibt, besteht die Aufgabe darin, einen kürzesten Weg durch das Netzwerk zu bestimmen, um eine möglichst kurze Übertragungszeit der Daten zu erreichen. Bestimmen Sie mit Hilfe des Algorithmus von Dijkstra einen kürzesten Weg von A nach D für das abgebildete Netzwerk. B 8
3
C
A
3
3
2
D
F 2
6
1 H
1
2
E 4
G
Aufgabe 4.5.8. Im Interesse seines Kunden möchte ein Taxifahrer den kürzesten Weg zwischen Startort s und Zielort t im abgebildeten Straßennetz bestimmen. Die Straßen und ihre Längen sind durch gerichtete Kanten abgebildet und können nur in den angegebenen Richtungen durchfahren werden. Den Knoten entsprechen Kreuzungen. Helfen Sie dem Taxifahrer, indem Sie einen kürzesten Weg mit Hilfe des Verfahrens von Dijkstra bestimmen.
261
Abschnitt 4.5 Aufgaben
3
2 2
2
5 6
s 1
3
5
5
3
10
6 8
3
4
7 4
2
9
5
7
8
7
8
9 t
1
Aufgabe 4.5.9. Es sei V D ¹1; : : : ; nº die Knotenmenge und E die Kantenmenge eines gerichteten Graphen mit jV j D n und jEj D m. A bezeichne die KnotenKanten-Inzidenzmatrix des Graphen. cij seien die den Kanten .i; j / 2 E zugeordneten Längen. Es treten keine Zyklen negativer Länge im Graph auf. Die Aufgabe, kürzeste Wege von 1 zu sämtlichen Knoten j 6D 1 zu bestimmen, kann als lineares Optimierungsproblem formuliert werden: X cij xij Minimiere .i;j /2E
A.xij /.i;j /2E D ..n 1/; 1; : : : ; 1; 1/> ;
u. d. N.
xij 0 ..i; j / 2 E/ Š (a) Formulieren Sie das zugehörige duale Problem. (b) Betrachten Sie den Graphen
3
2 2 6
s 1
2
5 3
−7 5
9
5
8
2 10
6 3
7 4
3
5
8
8 4 7
1
9
t
wobei s dem Startknoten 1 und t dem Zielknoten n entspricht. Formulieren und lösen Sie hierfür das duale Problem aus (a) mit der Zusatzforderung, dass die duale Variable v1 D 0 sei. Verifizieren Sie, dass die duale Variable vj die Länge des kürzesten Wegs vom Startknoten s D 1 zum Knoten j angibt.
262
Kapitel 4 Netzwerkflussprobleme
Aufgabe 4.5.10. Lösen Sie das Transportproblem mit den Daten 0
1 2 3 C D @ 2 4 A; 1 4
0 1 1 @ a D 2 A; 3
1 bD 5
durch das Netzwerksimplexverfahren. Zur Bestimmung einer zulässigen Basislösung p (spannender Baum des Graphen) wird folgendermaßen vorgegangen: (i) Es sei V D ¹v1 ; : : : ; vn º die Knotenmenge und E V V die Kantenmenge des Graphen. Belege jede Kante .i; j / 2 E des Graphen mit maximalem oder minimalem (endlichem!) Kantenfluss. (ii) Führe einen zusätzlichen künstlichen Knoten v0 ein. Für jeden Knoten vi (i D 1; : : : ; n) führe eine Kante zwischen vi und v0 ein und transportiere längs dieser Kante den Überschuss von Knoten vi zu v0 weg oder das Defizit von v0 zu vi hin. Dies legt die Richtung der künstlichen Kanten fest. Für die künstlichen Kanten wird als untere Schranke 0 und als obere Schranke 1 definiert. (iii) Löse das Hilfsproblem mit dem Netzwerksimplexverfahren, wobei die Transportkosten entlang der Kanten .i; j / 2 E den Wert 0 und die Transportkosten entlang der künstlichen Kanten den Wert 1 haben. Aufgabe 4.5.11. Eine Firma hat zwei Fabriken (F 1 und F 2), die eine Chemikalie herstellen. Die Produktion wird an zwei Kunden (K1 und K2) geliefert, die monatlich genau 660 bzw. 800 Tonnen von dieser Chemikalie abnehmen. Die monatliche Kapazität von F 1 liegt zwischen 400 und 900 Tonnen, die von F 2 zwischen 450 und 900 Tonnen. Die Produktionskosten pro Tonne in F 1 und F 2 sind 25 bzw. 28 Euro. Die Firma kauft die Rohmaterialien von zwei Unternehmen (U1 und U 2) für 200 bzw. 210 Euro pro Tonne. Die Firma hat sich verpflichtet, monatlich mindestens 500 bzw. 750 Tonnen von U1 und U 2 zu kaufen. Die Transportkosten (in Euro) der Firma sind der folgenden Tabelle zu entnehmen: U1
U2
K1
K2
F1
10
9
3
4
F2
12
13
5
2
Es wird angenommen, dass eine Tonne des Rohstoffs für genau eine Tonne der Chemikalie ausreicht. Die Firma will die Gesamtkosten (für Rohstoffe, für Produktion und Transport) minimieren. Stellen Sie diese Aufgabe als Netzwerkflussproblem dar., vgl. Aufgabe 1.3.10.
263
Abschnitt 4.5 Aufgaben
Aufgabe 4.5.12. Betrachten Sie das folgende Netzwerk: 1 c3
c1
3
0 c2
c4 2
Dabei seien die Kapazitäten c1 ; : : : ; c4 2 R vorgegeben. Das zugehörige Netzwerkflussproblem hat die folgende Form: x1 C x2
Maximiere
x1 C x3 D 0;
u. d. N.
x2 C x4 D 0; xi ci
.i D 1; : : : ; 4/;
xi 0 .i D 1; : : : ; 4/ Š Dualisieren Sie dieses Netzwerkflussproblem und zeigen Sie, dass für jede zulässige Basislösung y des dualen Problems yi 2 ¹1; 0; 1º gilt. Interpretieren Sie das duale Problem. Aufgabe 4.5.13. Lösen Sie die folgenden linearen Programme mit Hilfe des primaldualen Algorithmus. (a)
Minimiere
x1 C x2 C 2x3 C 8x4
u. d. N.
2x1 x2 C 3x3 2x4 D 3; x1 C 3x2 4x3 C 4x4 D 1; x1 ; x2 ; x3 ; x4 0 Š
Startpunkt: q D .1=2; 0/> . (b)
Minimiere
7x1 C 3x2 x3
u. d. N.
7x1 C x2 3x3 D 1; 4x1 3x2 C x3 D 2; x1 ; x2 ; x3 0 Š
Startpunkt: q D .1; 0/> .
264
Kapitel 4 Netzwerkflussprobleme
Aufgabe 4.5.14. Bestimmen Sie ausgehend vom aktuellen Fluss einen maximalen Fluss und das Volumen des Flusses mit dem Algorithmus von Ford und Fulkerson im folgenden Netzwerk. Die frei stehenden Zahlen neben den Kanten bezeichnen maximale Kapazitäten der Kanten und die Zahlen in Klammern den Wert des Flusses. Die unteren Kapazitäten seien allesamt Null.
4 7(7)
10(7) 3(0) 6(6)
1
1(1)
5
6
8(2)
5(3) 6(1)
1(0) 2
9(6) 3
4(4)
Verwenden Sie den Markierungsalgorithmus von Ford und Fulkerson, um flussvergrößernde Wege und einen Schnitt minimaler Kapazität zu bestimmen.
Aufgabe 4.5.15. Vier Mädchen und vier Jungen sind interessiert am Eiskunstpaarlauf. Der Trainer hat jede Mädchen-Jungen Kombination im Hinblick auf ihre Eignung für ein Eiskunstlaufpaar untersucht. Das Resultat ist durch die folgende Tabelle gegeben, wobei leere Zellen keine Eignung bedeuten. Das Ziel ist es, eine Zuweisung zwischen Mädchen und Jungen zu finden, die die maximale Anzahl geeigneter Paare realisiert. Bestimmen Sie ein Netzwerk, das dieses Problem als Maximalflussproblem abbildet. B1 G1
ja
G2
ja
B2
B3
ja
G3 G4
B4
ja ja
ja
ja
265
Abschnitt 4.5 Aufgaben
Aufgabe 4.5.16. Bestimmen Sie das duale Problem des Transportproblems Minimiere
n m X X
cij xij
i D1 j D1 n X
u. d. N.
j D1 m X
xij D ai
.i D 1; : : : ; m/;
xij D bj
.j D 1; : : : ; n/;
i D1
xij 0
.i D 1; : : : ; m; j D 1; : : : ; n/ Š
Bestimmen Sie einen zulässigen Punkt für das duale Problem, der als Startpunkt für den primaldualen Algorithmus verwendet werden kann. Aufgabe 4.5.17. Bestimmen Sie mit dem Algorithmus von Dijkstra einen kürzesten Weg von Knoten 1 zu Knoten 8 in folgendem Netzwerk. 6
3
3
5 1
3
1 7
2
4 4
5
6
8
2 4
14 7
Aufgabe 4.5.18. Bestimmen Sie alle kürzesten Wege zwischen je zwei Knoten i; j 2 V mit dem Algorithmus von Floyd-Warshall. (a)
4
2
4 2
5 2 1
3
1
6
3
7 3
−4
5
Bestimmen Sie mit Hilfe der Vorgängermatrix einen kürzesten Weg von 1 nach 6.
266
Kapitel 4 Netzwerkflussprobleme
(b)
2
1
1
2
1
í4
4
3
3
Man beachte, dass dieses Netzwerk einen Kreis negativer Länge enthält. Aufgabe 4.5.19. Gegeben sei das folgende Netzwerk mit Fluss x. Die Zahlen ohne Klammern neben den Kanten bezeichnen maximale Kapazitäten, Zahlen in Klammern den Wert des Flusses. 2 3(2)
8(4)
6(1)
1
3(3)
6(4)
4
2(2) 3
(a) Formulieren Sie das Maximalflussproblem explizit als lineares Optimierungsproblem. (b) Bestimmen Sie alle Schnitte und deren Kapazitäten im Netzwerk. P P (c) Für jeden Schnitt C berechne man i 2C;j …C xij und i …C;j 2C xij . (d) Berechnen Sie mit Hilfe von (b) einen maximalen Fluss. Aufgabe 4.5.20. Flieg-über-Nacht Airlines (FNA) möchte die tägliche Anzahl an Flügen zwischen Frankfurt (F) und Palma de Mallorca (PDM) maximieren. Verbindungsflüge stoppen in den Städten Amsterdam (A), Paris (P), Zürich (Z), Barcelona (BAR), Marseille (M). Hier betrachten wir nur die Beschränkung der Kapazitäten der Flugkorridore in untenstehender Tabelle. Die frei stehenden Zahlen geben die maximale Anzahl von möglichen Flügen pro Tag an. Die Zahlen in Klammern geben an,
267
Abschnitt 4.5 Aufgaben
wieviele Flüge derzeit im jeweiligen Korridor fliegen. Eine leere Zelle gibt an, dass der Korridor nicht verfügbar ist. FNA kann keine anderen Flugkorridore oder Direktflüge von F nach PDM nutzen. Formulieren Sie dieses Problem als Maximalflussproblem und lösen Sie es. Bestimmen Sie einen minimalen Schnitt und interpretieren Sie dessen Bedeutung.
F A P Z
A
P
Z
5(4)
5(5)
6(2)
3(1) 3(2)
BAR
M
7(1)
3(2)
PDM
4(4) 5(2)
2(2)
BAR
5(1)
M
8(8)
Kapitel 5
Konvexe Optimierung
Bislang haben wir überwiegend lineare Optimierungsprobleme behandelt. Ein wichtiger Zwischenschritt auf dem Wege hin zu allgemeinen nichtlinearen Optimierungsproblemen wird in der konvexen Optimierung gemacht, die in diesem Kapitel dargestellt wird. Wichtigstes Hilfsmittel sind Trennungssätze für konvexe Mengen, die wir in Abschnitt 5.2 für endlichdimensionale Räume ohne Beweis zusammenstellen. Alle Beweise und auch die übrigen in diesem Kapitel verwendeten Hilfsmittel aus der konvexen Analysis finden sich in [134]. Mittels dieser Trennungssätze beweisen wir in Abschnitt 5.3 zunächst notwendige Optimalitätsbedingungen vom Fritz John-Typ ohne jegliche so genannte „Constraint Qualification“. Dieser Zugang hat den Vorteil, dass er sich auch direkt auf konvexe Funktionenraumprobleme wie z. B. Regelungsprobleme, Variationsprobleme, optimale Steuerungsprobleme übertragen lässt und die für diese Probleme bekannten Maximumprinzipien und dualen Variationsprinzipien liefert. Die typische Schwierigkeit bei Funktionenraumproblemen, dass das (relative) Innere konvexer Mengen leer sein kann, obwohl die konvexe Menge selbst nicht leer ist, tritt bei endlichdimensionalen Optimierungsproblemen, die das Thema dieses Kapitels sind, nicht auf. Die (globalen) Karush-Kuhn-Tucker-Bedingungen folgen direkt aus den Fritz John-Bedingungen, wenn eine zusätzliche Constraint Qualification erfüllt ist, die ursprünglich für ungleichungsrestringierte Probleme von Slater [153] eingeführt worden ist. Wir beweisen hier, basierend auf der sehr präzisen Darstellung in [17], die (globalen) Karush-Kuhn-Tucker-Bedingungen unter einer abgeschwächten Form der Slater-Bedingung, die nur fordert, dass ein zulässiger Punkt alle nichtaffinen Ungleichungsnebenbedingungen strikt erfüllt. Dies hat auch den Vorteil, dass wir die Dualitätssätze der linearen Optimierung nochmals gewinnen, und zwar als Spezialfälle der entsprechenden Sätze der konvexen Optimierung. In Abschnitt 5.4 wird dann mit der gleichen geometrisch bzw. störungstheoretisch motivierten Technik wie in der linearen Optimierung das duale Optimierungsproblem eingeführt. Karush-Kuhn-Tucker-Vektoren werden als duale Optimallösungen interpretiert und auf diese Weise alle einschlägigen Dualitätssätze der konvexen Optimierung bewiesen. Ziel dieses Kapitels ist nicht, Monographien über konvexe Analysis und Optimierung zu ersetzen, sondern es soll die konvexe Optimierung soweit dargestellt werden, dass man ihre Bedeutung für das Operations Research und die Ökonomie erkennen kann: Die Dualitätstheorie liefert wie im linearen Fall Sensitivitätsaussagen für
269
Abschnitt 5.1 Problemstellung
das gestörte Problem, insbesondere Stetigkeits- und Differenzierbarkeitseigenschaften der Minimalwertfunktion. Die (globalen) Karush-Kuhn-Tucker-Bedingungen sind äquivalent zu Sattelpunktsaussagen, Minimax-Theoremen, Variationsungleichungen und Komplementaritätsproblemen. Im ökonomischen Kontext können sie daher auch als wirtschaftliche Gleichgewichte interpretiert werden. Wir empfehlen als weiterführende Literatur, auch mit Blick auf nichtkonvexe Probleme, für Sattelpunkts- und Minimax-Theorie [159], für Komplementaritätsprobleme und Variationsungleichungen im Rn [30], [53], für die mathematischen Grundlagen ökonomischer Gleichgewichte [6], [7]. Konvexe Funktionen haben Richtungsdifferenzierbarkeitseigenschaften, die allein aus der Konvexität folgen. Damit lassen sich dann die Karush-Kuhn-Tucker-Bedingungen äquivalent lokal formulieren. Dies geschieht am Ende des Abschnitts 5.3 und motiviert gleichzeitig die lokalen Karush-Kuhn-Tucker-Bedingungen für nichtkonvexe differenzierbare Probleme in Kapitel 6. Mit diesen Richtungsdifferenzierbarkeitseigenschaften für konvexe Funktionen lassen sich aber auch Verfahren der nichtglatten Optimierung formulieren und Konvergenzeigenschaften untersuchen. Dies zeigen wir in Abschnitt 5.6 exemplarisch an der nichtglatten Variante des Kelleyschen Schnittebenenverfahrens, das im Kontext von Branch and Bound-Methoden auch als Relaxationsmethode interpretiert werden kann, bei der Zielfunktion und Ungleichungsrestriktionen simultan mittels Subgradienten relaxiert werden. In der Darstellung stützen wie uns hier auf [17]. Als weiterführende Literatur zur nichtglatten Optimierung empfehlen wir [79, 80, 146, 53, 4].
5.1
Problemstellung
Durch Spezialisierung erhalten wir aus dem Optimierungsproblem 1.2.1 folgendes Konvexes Optimierungsproblem 5.1.1. K sei konvexer Teil eines reellen Vektorraumes X, f W K ! R sei konvex; gi W K ! R sei konvex
.i D 1; : : : ; m0 /;
gi W K ! R sei affin
.i D m0 C 1; : : : ; m/:
Minimiere f .x/ unter den Nebenbedingungen x 2 K und gi .x/ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
270
Kapitel 5 Konvexe Optimierung
Dabei heißt die Menge K bekanntlich konvex , falls mit x; y 2 K auch jeder Punkt x C .1 /y .0 1/ der Verbindungsstrecke von x und y zu K gehört. f W K ! R heißt konvex, falls gilt f .x C .1 /y/ f .x/ C .1 /f .y/
.x; y 2 K; 2 Œ0; 1/;
und strikt konvex, falls gilt f .x C .1 /y/ < f .x/ C .1 /f .y/
.x; y 2 K; x ¤ y; 2 .0; 1//:
f W K ! R heißt affin, falls gilt f .x C .1 /y/ D f .x/ C .1 /f .y/
.x; y 2 K; 2 Œ0; 1/:
Da nur endlich viele explizite reelle Nebenbedingungen vorkommen, aber der Grundraum X nicht notwendig endlichdimensional ist, heißt das Problem 5.1.1 auch semifinites konvexes Optimierungsproblem. Ist auch X endlichdimensional, so ist das Problem 5.1.1 finit. Es hat dann oft die folgende Form: Konvexes Standardproblem 5.1.2. f W Rn ! R sei konvex; gi W Rn ! R sei konvex
.i D 1; : : : m0 /;
gi W Rn ! R sei affin
.i D m0 C 1; : : : ; m/:
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und xj 0 .j D 1; : : : ; n0 /; gi .x/ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š Wir haben mit Beispiel 1.1.10 bereits ein konvexes Optimierungsproblem kennen gelernt. Ein weiteres entsteht bei der Ausgleichsrechnung. Beispiel 5.1.3 (Ausgleichsproblem mit Fehlerschranken). Gegeben seien eine reelle m n-Matrix A, ein reeller m-Vektor b und ein reeller Parameter . Damit erhalten wir das Problem: Minimiere .Ax b/> .Ax b/
271
Abschnitt 5.1 Problemstellung
unter den Nebenbedingungen x 2 Rn und kAx bk1 Š Dieses Problem lässt sich äquivalent schreiben als: Minimiere .Ax b/> .Ax b/ unter den Nebenbedingungen x 2 Rn und 0 1 1 : Ax b @ :: A ; 1 0 1 1 : @ Ax C b :: A Š 1 Der Parameter ist dabei als Toleranzgrenze anzusehen, die Ungleichungen sind komponentenweise zu verstehen. In unendlichdimensionalen Räumen sind so genannte Minimumnormprobleme die einfachsten konvexen Optimierungsprobleme. Beispiel 5.1.4 (Kontrollproblem im Hilbertraum). Minimiere Z 1 u.t /2 dt 0
unter den Nebenbedingungen u 2 L2 Œ0; 1 und y.t R / C y.t P / D u.t / für fast alle t 2 Œ0; 1; y.0/ D y.0/ P D 0; y.1/ D 1; y.1/ P D0Š Die Lösung der Differentialgleichung erster Ordnung für w.t / WD y.t P / w.t P / C w.t / D u.t / ist w.t / D ˛e t C
Z
t 0
e .t/ u. / d
.0 t 1/:
272
Kapitel 5 Konvexe Optimierung
Wegen w.0/ D 0 ist ˛ D 0. Die Bedingung w.1/ D 0 ist daher äquivalent zu Z
1
0
e .1/ u. /d D 0:
Aus der Differentialgleichung folgt durch einmalige Integration Z y.t / D y.0/ C
t 0
Œu. / y. R / dt Z
D y.0/ C y.0/ P y.t P /C
t
u. /d 0
.0 t 1/:
Die Bedingung y.1/ D 1 ist daher äquivalent zu Z
1
u. /d D 1:
0
Also ist das Kontrollproblem äquivalent zu: Minimiere Z
1
u.t /2 dt
0
unter den Nebenbedingungen u 2 L2 Œ0; 1 und Z
1 0
e .1/ u. /d D 0; Z
1 0
5.2
u. /d D 1 Š
Trennungssätze
Zur Herleitung notwendiger Optimalitätsbedingungen benötigen wir Resultate über die Trennbarkeit von konvexen Mengen durch Hyperebenen. Da wir die folgenden Resultate nur auf endlichdimensionale Probleme anwenden werden, beschränken wir uns auf Resultate im Rn , die wir ohne Beweis zusammenstellen. Verallgemeinerungen auf unendlichdimensionale Räume sind möglich, vgl. etwa [19, Sätze 2.13, 2.14, 2.17] und [105, 104]. Definition 5.2.1 (Hyperebene). Sei a 2 Rn , a 6D 0Rn und 2 R. Die Menge H D ¹x 2 Rn W a> x D º
273
Abschnitt 5.2 Trennungssätze
heißt Hyperebene. Die Menge HC D ¹x 2 Rn W a> x º heißt positiver Halbraum von H . Die Menge H D ¹x 2 Rn W a> x º heißt negativer Halbraum von H . Anschaulich zerlegt eine Hyperebene den Rn in zwei Teilmengen, nämlich in den positiven und in den negativen Halbraum, deren Durchschnitt genau die Hyperebene ist. Definition 5.2.2 (Trennung von Mengen). Es seien A; B Rn nichtleere Mengen. Die Hyperebene H D ¹x 2 Rn W a> x D º trennt A und B, wenn a> x
.x 2 A/;
a> x
.x 2 B/:
Die Hyperebene trennt A und B strikt, wenn a> x <
.x 2 A/;
a> x >
.x 2 B/:
Die Hyperebene trennt A und B eigentlich, wenn sie A und B trennt und nicht beide Mengen ganz in H enthalten sind. Abbildung 5.1 veranschaulicht diese Begriffe im R2 .
Abbildung 5.1. Trennung von Mengen durch Hyperebenen: Von links nach rechts sind folgende Fälle dargestellt: keine Trennung mit Hyperebenen möglich, keine strikte Trennung möglich, strikte Trennung, keine eigentliche Trennung.
Natürlich stellt sich die Frage, welche Mengen durch Hyperebenen getrennt werden können. Die folgenden Resultate finden sich u. a. in [134], [85], [53], [111] und [13].
274
Kapitel 5 Konvexe Optimierung
Der Satz 5.2.3 ist ein wichtiger Spezialfall von Satz 5.2.4. Satz 5.2.3. Sei A Rn nichtleer, konvex und 0Rn … A. Dann existiert eine Hyperebene, die ¹0Rn º von A trennt. Ist A überdies abgeschlossen, so kann ¹0Rn º strikt von A getrennt werden. Satz 5.2.4. Seien A; B Rn nichtleere konvexe Mengen mit A \ B D ;. Dann gibt es eine Hyperebene, die A und B trennt. Ist A überdies abgeschlossen und B kompakt, so gibt es eine Hyperebene, die A und B strikt trennt. Abschließend beschäftigen wir uns mit der Charakterisierung eigentlich trennbarer Mengen und benötigen hierfür einige Begriffe. Mit B .x/ bezeichnen wir dabei die (abgeschlossene) Kugel mit Radius > 0 und Mittelpunkt x 2 Rn bezüglich der euklidischen Vektornorm B .x/ WD ¹y 2 Rn W ky xk2 º: Definition 5.2.5 (affine Menge, affine Hülle, relatives Inneres). Sei A Rn eine Menge. (a) A heisst affine Menge, wenn .1 /x C y 2 A .x; y 2 A; 2 R/: (b) Die Menge aff.A/ WD D
\
¹M W M ist affine Menge und A M º
m °X
i xi W m 2 N;
i D1
m X
i D 1; i 2 R; xi 2 A .i D 1; : : : ; m/
±
i D1
heisst affine Hülle von A. (c) Die Menge rel int.A/ WD ¹x 2 A W Es gibt ein > 0 mit B .x/ \ aff.A/ Aº heisst relatives Inneres von A. Es gilt Satz 5.2.6. Sei A Rn nichtleer und konvex. Dann ist rel int.A/ 6D ;. Diese Aussage ist nicht mehr gültig in unendlichdimensionalen Räumen, was zu erheblichen Schwierigkeiten in der infiniten Optimierung führt, die allerdings auch nicht Thema dieses Buchs ist. Der wichtigste Trennungssatz dieses Abschnitts, von dem wir auch intensiven Gebrauch machen werden, ist der folgende:
275
Abschnitt 5.3 Optimalitätsbedingungen
Satz 5.2.7. Seien A; B Rn nichtleer und konvex. Genau dann existiert eine Hyperebene, die A und B eigentlich trennt, wenn rel int.A/ \ rel int.B/ D ;:
5.3
Optimalitätsbedingungen
Jede notwendige Optimalitätsbedingung beschreibt Eigenschaften von Optimallösungen, die zu deren unmittelbarer Berechnung oder zur Entwicklung von Lösungsverfahren dienen können. Jede hinreichende Optimalitätsbedingung hilft dabei, unter zulässigen Lösungen optimale zu erkennen. In der konvexen Optimierung liegen notwendige und hinreichende Optimalitätsbedingungen nicht weit auseinander, wie dieser Abschnitt zeigen wird. Einflussreiche Arbeiten auf dem Gebiet der Entwicklung von Optimalitätsbedingungen waren [162, 92, 86, 153, 102]. Wir betrachten im Folgenden nur endlichdimensionale konvexe Optimierungsprobleme. Dabei wollen wir zwischen konvexen und affinen Ungleichungen sorgfältig unterscheiden. Für die mathematische Analyse affiner Nebenbedingungen haben wir [17] herangezogen. Konvexes Optimierungsproblem 5.3.1. K sei eine konvexe Teilmenge des Rn , f W K ! R sei konvex; gi W K ! R sei konvex
.i 2 I1 /;
gi W K ! R sei affin
.i 2 I2 /;
gi W K ! R sei affin
.i 2 I3 /:
Die Indexmengen seien dabei definiert durch I1 WD ¹1; : : : ; m00 º; (P)
I2 WD ¹m00 C 1; : : : ; m0 º;
I3 WD ¹m0 C 1; : : : ; mº:
Minimiere f .x/ unter den Nebenbedingungen x 2 K und ´ gi .x/
0 .i 2 I1 [ I2 /; D 0 .i 2 I3 / Š
276
Kapitel 5 Konvexe Optimierung
xO sei optimal für (P). Betrachte die beiden konvexen Mengen O zi 0 .i 2 I1 [ I2 /; A D ¹.r; z/ 2 R1Cm W r f .x/; zi D 0 .i 2 I3 /º; B D ¹.r; z/ 2 R1Cm W r f .x/; zi gi .x/ .i 2 I1 [ I2 /; zi D gi .x/ .i 2 I3 /; x 2 Kº: R B f .x/ O
0Rm
Rm
A
Abbildung 5.2. Trennbarkeit der konvexen Mengen A und B am Beispiel einer Ungleichungsnebenbedingung g.x/ 0 mit g.x/ O D 0 und ohne Gleichungsrestriktionen.
Falls ein .r; z/ 2 A \ B existiert mit r < f .x/; O dann gibt es ein x 2 K mit gi .x/ 0 .i 2 I1 [ I2 /; gi .x/ D 0
.i 2 I3 /;
f .x/ r < f .x/ O im Widerspruch zur Minimalität von x. O Folglich ist ¹.r; z/ 2 A W r < f .x/º O \ B D ;;
277
Abschnitt 5.3 Optimalitätsbedingungen
insbesondere ist dann auch rel int.A/ \ rel int.B/ D ;: Nach dem Trennungssatz 5.2.7 sind A und B durch eine Hyperebene trennbar, d. h. es existieren .0 ; / 2 R1Cm n ¹0R1Cm º; 2 R mit 0 r C > z 0 rQ C > zQ für alle .r; z/ 2 A; .r; Q zQ / 2 B. Hieraus folgt 0 0; i 0 .i 2 I1 [ I2 /; > g.x/ O 0: Wegen .f .x/; O g.x// O 2A\B ist D 0 f .x/ O C > g.x/; O also O C > g.x/ O 0 f .x/ C > g.x/ .x 2 K/: 0 f .x/ Wegen .f .x/; O 0Rm / 2 A ist 0 f .x/ O 0 f .x/ O C > g.x/; O also > g.x/ O 0; O D 0. insgesamt somit > g.x/ Damit ist bewiesen: Notwendige Optimalitätsbedingung 5.3.2 (Variante des Satzes von Fritz John). xO sei optimal für das konvexe Optimierungsproblem 5.3.1. Dann existieren Multiplikatoren .0 ; / 2 R1Cm , die nicht alle gleich 0 sind, mit 0 0;
i 0 .i 2 I1 [ I2 /;
> g.x/ O D0
und 0 f .x/ O C > g.x/ O 0 f .x/ C > g.x/ .x 2 K/:
278
Kapitel 5 Konvexe Optimierung
Anmerkung. Die Bedingung > g.x/ O D 0 ist gleichbedeutend mit gi .x/ O 0 und damit o. B. d. A. 0 D 1 ist, so ist diese Bedingung sogar hinreichend für Optimalität. Hinreichende Optimalitätsbedingung 5.3.3. xO sei zulässig für das konvexe Optimierungsproblem 5.3.1, d. h. es ist ´ 0 .i 2 I1 [ I2 /; O xO 2 K und gi .x/ D 0 .i 2 I3 /: Existieren dann Multiplikatoren 2 Rm mit i 0 .i 2 I1 [ I2 /; > g.x/ O D0 und f .x/ O C > g.x/ O f .x/ C > g.x/ .x 2 K/; so ist xO optimal. Beweis. Es ist also f .x/ O f .x/ C > g.x/
.x 2 K/:
Ist x zulässig, so ist > g.x/ 0; also f .x/ O f .x/: Anmerkung. Die in 5.3.3 angegebenen Bedingungen heißen auch (globale) KarushKuhn-Tucker-Bedingungen (KKT-Bedingungen). Durch 5.3.3 wird die folgende Suche nach Kriterien für 0 > 0 in den Fritz John-Bedingungen 5.3.2 motiviert. Sei jetzt xO optimal für 5.3.1, und die notwendige Optimalitätsbedingung 5.3.2 sei mit 0 D 0 erfüllt. Dann existiert 2 Rm ; ¤ 0Rm , mit O D 0; > g.x/ O > g.x/ .x 2 K/: i 0 .i 2 I1 [ I2 /; > g.x/
279
Abschnitt 5.3 Optimalitätsbedingungen
Geometrisch bedeutet dies, dass die Projektionen prRm .A/ von A und prRm .B/ von B auf den Rm durch die Hyperebene ¹z 2 Rm W > z D 0º getrennt werden. Wir betrachten zunächst den Fall I3 D ;, d. h. es treten keine Gleichungsnebenbedingungen auf. Weiter sei O [ I2 .x/ O WD ¹i 2 I1 [ I2 W gi .x/ O D 0º I.x/ O WD I1 .x/ die Indexmenge der so genannten aktiven Nebenbedingungen. Wir wissen, dass gilt O i D 0 .i … I.x//: Slater-Bedingung 5.3.4. Es sei I3 D ;, und es existiere xQ 2 K mit Q g.x/ .x 2 K/: 0 D > g.x/ Damit haben wir bewiesen Satz von Karush-Kuhn-Tucker 5.3.5. Es sei I3 D ; und xO Optimallösung von 5.3.1. Es existiere xQ 2 K mit gi .x/ Q
f .x/ O C g.x/ O f .x/ C > g.x/ .x 2 K/: Anmerkung. Ist also die Slater-Bedingung 5.3.4 erfüllt, so kann die Fritz John-Bedingung 5.3.2 nur mit 0 > 0 gelten. Gibt es also Multiplikatoren .0 ; / mit 0 D 0, die die Fritz John-Bedingungen erfüllen, so kann es keinen Slater-Punkt xQ geben.
280
Kapitel 5 Konvexe Optimierung
Für Aussagen des Typs, dass es wenigstens einen Multiplikator gibt, der die KarushKuhn-Tucker-Bedingungen erfüllt, benötigt man daher Abschwächungen der SlaterBedingung. Wir untersuchen jetzt für eine Weile Probleme mit lauter affinen Ungleichungsrestriktionen. Dann ist I1 D ;; I3 D ; und I WD I2 beschreibt die Indexmenge der affinen Ungleichungen. Erst mit der abgeschwächten Slater-Bedingung 5.3.11 und der notwendigen Optimalitätsbedingung 5.3.12 wenden wir uns wieder dem allgemeinen Problem 5.3.1 zu. Wir untersuchen also zunächst das Problem mit lauter affinen Ungleichungsrestriktionen: O .P/
Minimiere
f .x/ u. d. N.
x 2 K;
gi .x/ 0 .i 2 I / Š
O IO I heißt wesentlich für x, Definition 5.3.6. xO sei Optimallösung von .P/. O falls xO auch das Problem löst .PO IO / Minimiere
f .x/
u. d. N.
x 2 K;
gi .x/ 0
.i 2 IO/ Š
und falls überdies zu jedem i 2 IO ein x i 2 K existiert mit gj .x i / 0 .j 2 IO n ¹i º/; f .x i / < f .x/: O Eine wesentliche Teilmenge von Nebenbedingungen ist also dadurch charakterisiert, dass die Optimallösung xO optimal bleibt, obwohl formal durch das Weglassen „unwesentlicher“ Nebenbedingungen eine Relaxation des Problems erfolgt ist, und dass keine weitere Restriktion weggelassen werden kann, wenn xO weiterhin optimal bleiben soll. Ist IO wesentlich, so gilt notwendig gi .x i / > 0
.i 2 IO/:
Wir beweisen jetzt drei Hilfsresultate für wesentliche Restriktionen, mit denen wir O herleiten köndann die notwendige Optimalitätsbedingung 5.3.10 für das Problem (P) nen. Lemma 5.3.7. Ist IO wesentlich für x, O so ist O D 0 .i 2 IO/; gi .x/ d. h. wesentliche Restriktionen sind aktiv.
281
Abschnitt 5.3 Optimalitätsbedingungen
Beweis. Sei für ein i0 2 IO gi0 .x/ O < 0: Dann existiert hierzu x i0 2 K mit gj .x i0 / 0
.j 2 IO n ¹i0 º/;
O f .x i0 / < f .x/: Für die Verbindungsstrecke O .0 ˛ 1/ xO C ˛.x i0 x/ ist gj .xO C ˛.x i0 x// O D .1 ˛/gj .x/ O C ˛gj .x i0 / 0 für alle j 2 JO n ¹i0 º und gi0 .xO C ˛.x i0 x// O D .1 ˛/gi0 .x/ O C ˛gi0 .x i0 / < 0; O .1 ˛/f .x/ O C ˛f .x i0 / f .xO C ˛.x i0 x// D f .x/ O C ˛.f .x i0 / f .x// O < f .x/; O O 2K xO C ˛.x i0 x/ für alle hinreichend kleinen ˛ > 0 im Widerspruch zur Minimalität von x. O Lemma 5.3.8. Sei IO wesentlich für x. O Dann gibt es für alle i 2 IO ein i 2 K mit gj . i / D 0 .j 2 IO n ¹iº/; f . i / < f .x/; O gi . i / > 0: Beweis. Da IO wesentlich ist für x, O existiert zu jedem i 2 IO ein x i 2 K mit gj .x i / 0 .j 2 IO n ¹iº/; f .x i / < f .x/; O gi .x i / > 0: Wähle i0 2 IO fest und betrachte das Hilfsproblem min¹gi0 .x/ W gj .x/ 0 .j 2 IO n ¹i0 º/; x 2 Qº
282
Kapitel 5 Konvexe Optimierung
auf der konvexen Hülle QD
°X
˛i x i W ˛i 0 .i 2 IO/;
i 2IO
X
±
˛i D 1
i 2IO
der Punkte x i .i 2 IO/. Q ist kompakt und x i0 2 Q;
gj .x i0 / 0 .j 2 IO n ¹i0 º/;
d. h. x i0 ist zulässig für das Hilfsproblem. Also besitzt dieses Hilfsproblem eine Minimallösung i0 . Da f konvex ist, gilt X X f ˛i x i ˛i f .x i / < f .x/ O i 2IO
i 2IO
P für alle ˛i 0 .i 2 IO/; i 2IO ˛i D 1. Insbesondere ist dann auch O f . i0 / < f .x/: Hieraus folgt noch gi0 . i0 / > 0; da andernfalls i0 zulässig für das Ausgangsproblem .PO IO / wäre im Widerspruch zur Minimalität von x. O Für jede Restriktion i 2 IO n ¹i0 º des Hilfsproblems gilt gj .x i / 0
.j 2 IO n ¹i0 º; j ¤ i /;
gi .x i / > 0; gi0 .x i / 0 < gi0 . i /: Die Restriktionen des Hilfsproblems sind also wesentlich, daher ist nach Lemma 5.3.7 gj . i0 / D 0 .j 2 IO n ¹i0 º/: Lemma 5.3.9. xO sei Lösung des Problems .PO IO / min¹f .x/ W gi .x/ 0 .i 2 IO/; x 2 Kº mit lauter affinen Ungleichungsnebenbedingungen, und IO sei wesentlich für x. O Dann existiert ein Q 2 K mit Q > 0 .i 2 IO/: gi . /
283
Abschnitt 5.3 Optimalitätsbedingungen
Beweis. Nach Lemma 5.3.8 existiert zu jedem i 2 IO ein i 2 K mit gj . i / D 0 .j 2 IO n ¹iº/; O f . i / < f .x/; gi . i / > 0: Bilde strikte Konvexkombination X ˛i i mit Q D
˛i > 0 .i 2 IO/;
i 2IO
X
˛i D 1:
i 2IO
Da alle Abbildungen gi .i 2 IO/ affin sind, folgt X Q D gj gj . / ˛i i D
X
i 2IO
˛i gj . i /
i 2IO
D ˛j gj . j / > 0 für jedes j 2 IO. Wir wissen, dass für das Problem .PO IO / die notwendigen Optimalitätsbedingungen 5.3.2 erfüllt sind, und nehmen an, dass der Multiplikator 0 D 0 ausfällt. Dann O existiert also 2 RjI j ; ¤ 0RjIO j ; mit i 0 .i 2 IO/; X X i gi .x/ O D0 i gi .x/ .x 2 K/: i 2IO
i 2IO
Für jeden zulässigen Punkt x2K ist also
mit X
gi .x/ 0 .i 2 IO/
i gi .x/ D 0:
i 2IO
Wir fordern zusätzlich die Gültigkeit der so genannten abgeschwächten Slater-Bedingung für .POIO /: Es gebe einen Punkt xQ 2 rel int.K/ mit Q 0 gi .x/
.i 2 IO/:
284
Kapitel 5 Konvexe Optimierung
Sei xQ solch ein Slater-Punkt. Dann ist mit obigen Multiplikatoren X i gi .x/ Q D0 i 2IO
und für beliebiges x 2 K X
i gi .x/ 0:
i 2IO
Für x 2 K und hinreichend kleines ˛ > 0 ist auch xQ ˛.x x/ Q 2 K; also 0
X
i gi .xQ ˛.x x// Q D .1 C ˛/
i2IO
X
i gi .x/ Q ˛
i 2IO
X
i gi .x/
i 2IO
und damit X
i gi .x/ 0:
i 2IO
Für beliebiges x 2 K gilt demnach sogar X i gi .x/ D 0: i 2IO
Da aber IO wesentlich für xO ist, existiert nach Lemma 5.3.9 ein Q 2 K mit Q > 0 .i 2 IO/: gi . / Für dieses Q ist dann X
Q > 0: i gi . /
i 2IO
Dieser Widerspruch beweist: O 5.3.10. xO sei Optimallösung von .P/ O Notwendige Optimalitätsbedingung für (P) O und I wesentlich für x. O Es existiere xQ 2 rel int.K/ mit Q 0 gi .x/
.i 2 IO/:
285
Abschnitt 5.3 Optimalitätsbedingungen
Dann gibt es Multiplikatoren i .i 2 IO/ mit X
i 0
.i 2 IO/;
i gi .x/ O D 0;
i 2IO
f .x/ O C
X
i gi .x/ O f .x/ C
i 2IO
X
i gi .x/
.x 2 K/:
i 2IO
Entscheidend ist, dass in der abgeschwächten Slater-Bedingung affine Ungleichungen nicht mehr strikt erfüllt werden müssen. Dann dürfen auch affine Gleichungen gi .x/ D 0 .i 2 I3 / äquivalent als zwei Ungleichungen geschrieben werden, gi .x/ 0; gi .x/ 0
.i 2 I3 /:
Vermeidet man auch noch den expliziten Bezug auf wesentliche Nebenbedingungen, so erhält die abgeschwächte Slater-Bedingung die Form Abgeschwächte Slater-Bedingung für .P/ 5.3.11. Es existiere xQ 2 rel int.K/ mit Q < 0 .i 2 I1 .x//; O gi .x/ gi .x/ Q 0 .i 2 I2 /; gi .x/ Q D 0 .i 2 I3 /: Zusammenfassung von Satz 5.3.5 und Bedingung 5.3.10 liefert dann Notwendige Optimalitätsbedingung für .P/ 5.3.12. xO sei Optimallösung des konvexen Optimierungsproblems 5.3.1. Die abgeschwächte Slater-Bedingung 5.3.11 sei erfüllt. Dann existieren Multiplikatoren 2 Rm mit i 0 i D 0;
.i 2 I1 [ I2 /; falls gi .x/ O < 0;
O f .x/ C > g.x/ .x 2 K/: f .x/ O C > g.x/ Beweis. a) xO löst das Optimierungsproblem Q min¹f .x/ W gi .x/ 0 .i 2 I1 /; x 2 Kº
286
Kapitel 5 Konvexe Optimierung
mit KQ WD ¹x 2 K W gi .x/ 0 .i 2 I2 /; gi .x/ D 0 .i 2 I3 /º: xO erfüllt hierfür die Slater-Bedingung 5.3.4. Also existiert nach dem Satz 5.3.5 ein Vektor 2 RjI1 j mit i 0
.i 2 I1 /;
X
falls gi .x/ O < 0; X Q i gi .x/ O f .x/ C i gi .x/ .x 2 K/:
i 2I1
i 2I1
f .x/ O C
i D 0;
b) xO ist also auch Minimallösung des Problems: Minimiere f .x/ C
X
i gi .x/
i 2I1
unter den Nebenbedingungen x 2 K und gi .x/ 0 .i 2 I2 /; gi .x/ 0 .i 2 I3 /; gi .x/ 0 .i 2 I3 / Š Wir reduzieren diese affinen Ungleichungsnebenbedingungen zu einem Satz wesentlicher Nebenbedingungen mit Indexmenge IO, die wegfallenden Nebenbedingungen erhalten alle den Muliplikator 0. xQ erfüllt für dieses Problem die abgeschwächte Slater-Bedingung. Aus 5.3.10 folgt dann die Existenz nichtnegativer Multiplikatoren i .i 2 I2 /; mit
X
i .i 2 I3 /;
i gi .x/ O C
i 2I2
X
i .i 2 I3 /
.i i /gi .x/ O D0
i 2I3
und f .x/ O C
X i2I1
i gi .x/ O C
X
i gi .x/ O C
i 2I2
f .x/ C
X i 2I1
X
.i i /gi .x/ O
i 2I3
i gi .x/ C
X i 2I2
i gi .x/ C
X
.i i /gi .x/
i 2I3
für alle x 2 K. Mit i WD i i .i 2 I3 / ist dies gerade die behauptete Aussage. Beachte, dass die Multiplikatoren i .i 2 I3 / nicht mehr vorzeichenbeschränkt sind.
287
Abschnitt 5.3 Optimalitätsbedingungen
Beispiel 5.3.13. Wir betrachten das konvexe Optimierungsproblem: Minimiere u. d. N.
.x1 2/2 C .x2 3/2 ° ± 1 1 .x1 ; x2 /> 2 K WD .x1 ; x2 /> 2 R2 W x2 C x1 D 0 ; 2 2 g1 .x1 ; x2 / WD x2 C 2x1 2 2 0; g2 .x1 ; x2 / WD x1 2 x2 1 0 Š
Die folgende Abbildung 5.3 zeigt Höhenlinien der auftretenden Funktionen: 3
2
1
x2
0
–1
–2
–3 –2
–1
0
1
2
x1 Abbildung 5.3.
Die Slater-Bedingung ist für x1 D 0; x2 D 1=2 erfüllt, und wir wollen einen KKTPunkt bestimmen. Mit der so genannten Lagrange-Funktion L.x1 ; x2 ; 1 ; 2 / WD .x1 2/2 C .x2 3/2 C 1 .x2 C 2x1 2 2/ C 2 .x1 2 x2 1/ lauten die KKT-Bedingungen für ein Minimum xO D .xO 1 ; xO 2 /> wie folgt: Es gibt Multiplikatoren D .1 ; 2 /> mit 1 ; 2 0; i gi .xO 1 ; xO 2 / D 0
.i D 1; 2/;
L.x; O 1 ; 2 / L.x; 1 ; 2 / ..x1 ; x2 /> 2 K/:
288
Kapitel 5 Konvexe Optimierung
Jeder Punkt .x1 ; x2 /> 2 K erfüllt x1 D 1 2x2 : Einsetzen in die Lagrange-Funktion liefert Q 2 ; 1 ; 2 / D 5x 2 2x2 C 10 C 1 x2 .8x2 7/ C 2 x2 .4x2 5/: L.x 2 Die Minimallösung minimiert die Lagrange-Funktion auf K, was äquivalent ist mit Q 2 ; 1 ; 2 / für x2 2 R. Notwendig gilt für ein Minimum der Minimierung von L.x Q von L dann 0 D LQ 0x2 .xO 2 ; 1 ; 2 / D 10xO 2 2 C 1 .16xO 2 7/ C 2 .8xO 2 5/:
(5.1)
Annahme: g1 .xO 1 ; xO 2 / < 0 und g2 .xO 1 ; xO 2 / < 0. Aus den Complementary Slackness Conditions folgt dann 1 D 2 D 0 und damit 0 D 10xO 2 2
bzw. xO 2 D
1 5
und
xO 1 D 1 2xO 2 D
3 : 5
Wir haben also unter den Annahmen g1 .xO 1 ; xO 2 / < 0 und g2 .xO 1 ; xO 2 / < 0 den Kandidaten .xO 1 ; xO 2 /> D .3=5; 1=5/> erhalten. Tatsächlich gilt g1 .xO 1 ; xO 2 / D 27 25 < 0 und 21 g2 .xO 1 ; xO 2 / D 25 < 0, und unsere Annahme war (ganz zufällig) richtig. Damit ist 3 1 > 49 ; xO D ; O D .0; 0/> ; f .x/ O D 5 5 5 KKT-Punkt und nach dem hinreichenden Kriterium 5.3.3 auch Optimallösung. Natürlich haben wir uns die Sache etwas einfach gemacht. Im Allgemeinen ist es notwendig, sämtliche Kombinationen von aktiven und nichtaktiven Beschränkungen g1 und g2 zu betrachten und auch weitere Informationen heranzuziehen. In diesem Beispiel kann es höchstens eine Minimallösung geben, da die Zielfunktion strikt konvex ist. Diese Minimallösung haben wir oben berechnet. Wir wollen die hinreichende Optimalitätsbedingung 5.3.3 und die notwendige Optimalitätsbedingung 5.3.12 äquivalent lokal mittels Ableitungen formulieren und benötigen dazu einige Hilfsresultate, die auch selbst von Interesse sind. Definition 5.3.14. K sei eine nichtleere Teilmenge des Rn und f W K ! R eine reelle Funktion auf K. Seien xO 2 K; xO C h 2 K und xO C h 2 K für alle 2 Œ0; 0 mit einem gewissen 0 > 0.
289
Abschnitt 5.3 Optimalitätsbedingungen
f heißt dann richtungsdifferenzierbar an der Stelle xO in der Richtung h, falls der Grenzwert 1
O f .xO C h/ f .x/ O DW f 0 .x/.h/ !0C lim
existiert. f 0 .x/.h/ O heißt Richtungsableitung von f an der Stelle xO in der Richtung h. Notwendiges Optimalitätskriterium 5.3.15. xO minimiere f auf K. Ist f richtungsdifferenzierbar in xO in Richtung h, so gilt O 0: f 0 .x/.h/ Beweis. Nach Voraussetzung existiert ein 0 > 0 mit xO C h 2 K
.0 0 /:
Da xO optimal ist, folgt f .xO C h/ f .x/ O
.0 0 /:
Also ist notwendig 1
f .xO C h/ f .x/ O 0: !0C
f 0 .x/.h/ O D lim
Lemma 5.3.16. f W K ! R sei konvex auf der konvexen Teilmenge K Rn , xO 2 K und xO C h 2 K. Dann ist './ D
1
f .xO C h/ f .x/ O
schwach monoton wachsend auf .0; 1. Also existiert die Richtungsableitung O D lim './ f 0 .x/.h/ !0C
von f in xO in Richtung h, wenn man auch den Wert 1 zulässt. O 0 für Gibt es überdies ein 0 < 0 mit xO C 0 h 2 K oder ist f .xO C h/ f .x/ alle 2 Œ0; 1, so existiert die Richtungsableitung O D lim './ 2 R f 0 .x/.h/ !0C
von f in xO in Richtung h.
290
Kapitel 5 Konvexe Optimierung
Anmerkung. a) Wie das Beispiel ´ f .x/ D
1 x2
.x D 0/ .x > 0/
zeigt, kann auf die Zusatzbedingungen nicht verzichtet werden. b) Zur Geometrie vgl. die Abbildung 5.4, die den Kern des folgenden Beweises illustriert. R
f
xO C 0 h
xO
xO C h
R
Abbildung 5.4. Richtungsableitung.
Beweis. Seien 1 ; 2 2 .0; 1 und 1 2 . Dann ist 1 Œf .xO C 1 h/ f .x/ O 1
1 1 1 1 f .x/ O C f .xO C 2 h/ f .x/ O 1 2 2 1 Œf .xO C 2 h/ f .x/ O D '.2 /: D 2
'.1 / D
Also ist ' schwach monoton wachsend auf .0; 1. In jedem Falle existiert also der lim './;
!0C
er könnte aber auch gleich 1 sein.
291
Abschnitt 5.3 Optimalitätsbedingungen
Es existiere ein 0 < 0 mit xO C 0 h 2 K, und 2 .0; 1 sei beliebig, aber fest gewählt. Dann ist 1 1 Œf .xO C 0 h/ f .x/ O Œf .xO C h/ f .x/ O 0
²
³ 1 0 1 f .x/ O D f .xO C 0 h/ C f .xO C h/ 0 0 0
'.0 / './ D
0; ' also auf .0; 1 durch '.0 / nach unten beschränkt. Ist f .xO C h/ f .x/ O 0 für alle 2 Œ0; 1, so ist ' auf .0; 1 durch 0 nach unten beschränkt. Zusammen mit der schon bewiesenen Monotonie folgt also unter einer der beiden Zusatzbedingungen die Existenz des lim!0C './ 2 R. Hinreichendes Optimalitätskriterium 5.3.17. Sei f konvex auf der konvexen Menge K und xO 2 K. Gilt dann O 0 f 0 .x/.h/ für alle h mit xO C h 2 K, so minimiert xO die Funktion f auf K. Beweis. Sei xO C h 2 K beliebig gewählt. Dann gilt nach Lemma 5.3.16 f .xO C h/ f .x/ O lim
!0C
1 O 0: Œf .xO C h/ f .x/ O D f 0 .x/.h/
Ist umgekehrt f konvex auf K und minimiert xO die Funktion f auf K, so ist f nach Lemma 5.3.16 richtungsdifferenzierbar in xO in jeder Richtung h mit xO C h 2 K. Aus dem notwendigen Optimalitätskriterium 5.3.15 folgt daher zusammen mit dem hinreichenden Optimalitätskriterium 5.3.17 der Charakterisierungssatz 5.3.18. Sei f konvex auf der konvexen Menge K und xO 2 K. xO minimiert f genau dann auf K, wenn gilt f 0 .x/.h/ O 0 für alle h mit xO C h 2 K. Aus dem Charakterisierungssatz 5.3.18, der hinreichenden Optimalitätsbedingung 5.3.3 und der notwendigen Optimalitätsbedingung 5.3.12 folgt unmittelbar die Lagrangesche Multiplikatorenregel 5.3.19. Definiere die so genannte LagrangeFunktion m X i gi .x/ L.x; / WD f .x/ C i D1
für alle x 2 K; 2 R
m.
292
Kapitel 5 Konvexe Optimierung
Die Richtungsableitung von L bei festem bezüglich x an der Stelle xO in Richtung O /.x x/. O x xO bezeichnen wir mit L0x .x; (a) xO sei zulässig für das konvexe Optimierungsproblem 5.3.1. Existieren dann Multiplikatoren 2 Rm mit i 0
.i 2 I1 [ I2 /;
i D 0;
falls gi .x/ O < 0;
und L0x .x; O /.x x/ O 0
.x 2 K/;
so ist xO optimal. (b) xO sei Optimallösung des konvexen Optimierungsproblems 5.3.1, und die abgeschwächte Slater-Bedingung 5.3.11 sei erfüllt. Dann existieren Multiplikatoren 2 Rm mit i 0
.i 2 I1 [ I2 /;
i D 0;
falls gi .x/ O < 0;
und L0x .x; O /.x x/ O 0
.x 2 K/:
Anmerkung. Die Lagrange-Funktion L und die Lagrangeschen Multiplikatoren 1 ; : : : ; m sind benannt nach dem französischen Mathematiker und Physiker italienischer Herkunft Joseph Louis de Lagrange, *Turin 25.1.1736, †Paris 10.4.1803. Lagrange hat nur gleichungsrestringierte differenzierbare, nicht notwendig konvexe Probleme unter einer geeigneten Rangvoraussetzung betrachtet. Damit kann ein Spezialfall der notwendigen Bedingung (b) bewiesen werden, vgl. hierzu das folgende Kapitel über differenzierbare Optimierung. Die volle Allgemeinheit, insbesondere die Berücksichtigung von Ungleichungsnebenbedingungen, wurde von Karush, Kuhn und Tucker erreicht.
5.4
Dualität und Sensitivität
Wir verwenden die gleiche Methode zur Herleitung eines Dualproblems für das konvexe Optimierungsproblem 5.3.1 wie im Abschnitt 2.6 und betrachten dazu die folgende Familie gestörter konvexer Optimierungsprobleme.
293
Abschnitt 5.4 Dualität und Sensitivität
Störung finiter konvexer Optimierungsprobleme 5.4.1. Wir übernehmen alle Bezeichnungen und Voraussetzungen für das konvexe Optimierungsproblem (P) aus 5.3.1. Dieses Problem stören wir durch so genannte Standardstörung der rechten Seite mit Störparameter b 2 Rm und erhalten damit die folgende Schar von Optimierungsproblemen: (Pb )
Minimiere f .x/ unter den Nebenbedingungen x 2 K und gi .x/ bi
.i 2 I1 [ I2 /;
gi .x/ D bi
.i 2 I3 / Š
Für b D 0Rm erhalten wir das Ausgangsproblem .P0Rm / D .P/. Definition 5.4.2. Die Funktion N D R [ ¹C1º [ ¹1º; w W Rm ! R w.b/ WD inf¹f .x/ W gi .x/ bi .i 2 I1 [ I2 /; gi .x/ D bi .i 2 I3 /; x 2 Kº für alle b 2 Rm , heißt Minimalwertfunktion für die Problemschar (Pb ). dom.w/ D ¹b 2 Rm W w.b/ < 1º heißt Domäne oder effektiver Definitionsbereich von w, epi.w/ D ¹.b; r/ 2 RmC1 W r w.b/º heißt Epigraph von w. Es ist epi.w/ eine konvexe Teilmenge des RmC1 . In diesem Sinne ist w W Rm ! N R ein konvexes Funktional. Q r/ Beweis der Konvexität. Seien .b; r/; .b; Q 2 epi.w/, d. h. r w.b/
und
Q rQ w.b/;
r; rQ 2 R:
Insbesondere ist dann w.b/ < 1;
Q < 1: w.b/
Zu beliebigem > 0 bzw. Q > 0 existieren dann x 2 K mit gi .x / bi
.i 2 I1 [ I2 /;
gi .x / D bi
.i 2 I3 /
294 und
Kapitel 5 Konvexe Optimierung
´ w.b/ C ; falls w.b/ 2 R; f .x / ; falls w.b/ D 1;
bzw. xQ Q 2 K mit gi .xQ Q / bQi
.i 2 I1 [ I2 /;
gi .xQ Q / D bQi
.i 2 I3 /
und
´ f .xQ Q /
Q C Q ; w.b/ Q ;
Q 2 R; falls w.b/ Q D 1: falls w.b/
Für beliebiges ˛ 0, ˛Q 0 mit ˛ C ˛Q D 1 folgt dann ˛x C ˛Q xQ Q 2 K; gi .˛x C ˛Q xQ Q / ˛gi .x / C ˛g Q i .xQ Q / ˛bi C ˛Q bQi
.i 2 I1 /;
gi .˛x C ˛Q xQ Q / D ˛gi .x / C ˛g Q i .xQ / ˛bi C ˛Q bQi
.i 2 I2 /;
Q Q / D ˛gi .x / C ˛g Q i .xQ Q / gi .˛x C ˛x D ˛bi C ˛Q bQi
.i 2 I3 /;
f .˛x C ˛Q xQ Q / ˛f .x / C ˛f Q .xQ Q /: Also ist Q f .˛x C ˛Q xQ Q /; w.˛b C aQ b/ Q < 1, also dom.w/ Rm konvex. insbesondere ist w.˛b C ˛Q b/ Weiter folgt Q ˛f .x / C ˛f w.˛b C ˛Q b/ Q .xQ Q / ² ³ ² Q C ˛Q Q ˛w.b/ C ˛ .falls w.b/ 2 R/ ˛w. Q b/ C ˛ .falls w.b/ D 1/ ˛Q Q Q 2 R, so folgt Sind nun w.b/ 2 R und w.b/ Q ˛r C ˛ C ˛Q rQ C ˛Q Q : w.˛b C ˛Q b/
³ Q 2 R/ .falls w.b/ Q D 1/ : .falls w.b/
295
Abschnitt 5.4 Dualität und Sensitivität
Da > 0; Q > 0 beliebig gewählt werden konnten, ist Q ˛r C ˛Q rQ w.˛b C ˛Q b/ und somit Q ˛r C ˛Q r/ .˛b C ˛Q b; Q 2 epi.w/: Q D 1, so folgt für alle ˛ > 0, ˛Q > 0 mit ˛ C ˛Q D 1 Ist w.b/ D 1 oder w.b/ Q D 1 ˛r C ˛Q r; w.˛b C ˛Q b/ Q Q ˛r C ˛Q r/ d. h. auch in diesem Falle ist .˛b C ˛Q b; Q 2 epi.w/. Mittels der Minimalwertfunktion w motivieren wir jetzt ein dem Problem (P) zugeordnetes konkaves Optimierungsproblem. Definiere die konvexen Mengen A D ¹.r; z/ 2 R1Cm W r ;
zi 0 .i 2 I1 [ I2 /; zi D 0 .i 2 I3 /º;
B D ¹.r; z/ 2
R1Cm
W r f .x/; zi gi .x/ .i 2 I1 [ I2 /; zi D gi .x/ .i 2 I3 /; x 2 Kº:
Wähle z WD b fest, dann ist inf¹r 2 R W r f .x/; gi .x/ bi .i 2 I1 [ I2 /; gi .x/ D bi .i 2 I3 /; x 2 Kº D inf¹f .x/ W gi .x/ bi .i 2 I1 [ I2 /; gi .x/ D bi .i 2 I3 /; x 2 Kº D w.b/: w./ beschreibt also gerade den „unteren Rand“ der Menge B. Beachte aber, dass dieser Rand nicht notwendig über ein x.b/ O erreicht werden muss, denn es ist w.b/ D f .x.b// O für x.b/ O 2 K mit O bi gi .x.b//
.i 2 I1 [ I2 /;
gi .x.b// O D bi
.i 2 I3 /
O besitzt. genau dann, wenn .Pb / die Optimallösung x.b/ Ähnlich wie in Abschnitt 2.6 fordern wir nun, dass die Mengen A und B durch eine nichtvertikale Hyperebene getrennt werden, vgl. Abbildung 5.5, und dass dabei möglichst groß ausfällt. Dies führt auf das Dualproblem:
296
Kapitel 5 Konvexe Optimierung
R B
Rm
0Rm A
Abbildung 5.5. Dualproblem.
Maximiere unter den Nebenbedingungen 2 Rm ; 2 R und rQ C > zQ r C > z für alle rQ ;
zQi 0
r f .x/; gi .x/ zi
.i 2 I1 [ I2 /;
zQi D 0
.i 2 I3 /;
.i 2 I1 [ I2 /; gi .x/ D zi
.i 2 I3 /;
Dieses Problem ist offenbar äquivalent zu: Maximiere unter den Nebenbedingungen 2 Rm , 2 R und i 0
.i 2 I1 [ I2 /;
f .x/ C > g.x/ .x 2 K/ Š Damit erhalten wir das Dualproblem 5.4.3. (D) Maximiere inf Œf .x/ C > g.x/
x2K
unter den Nebenbedingungen 2 Rm und i 0 .i 2 I1 [ I2 / Š
x2KŠ
297
Abschnitt 5.4 Dualität und Sensitivität
r w.y/
w.0Rm / ¹.y; r/ 2 RmC1 W > y C r D º .; 1/>
Rm
0Rm
Abbildung 5.6. Graphische Interpretation des Dualproblems: Abstützung des Graphen der Minimalwertfunktion durch eine Hyperbene mit Normalenvektor .; 1/> .
Einschließungssatz 5.4.4. xO sei zulässig für (P), O sei zulässig für (D). Dann gilt für den Minimalwert wP und den Maximalwert wD die Einschließung inf Œf .x/ C O > g.x/ wD wP f .x/: O
x2K
Beweis. Dies ist aus der geometrischen Motivation von (D) unmittelbar ersichtlich, aber auch leicht direkt beweisbar, denn es ist O C O > g.x/ O f .x/ O inf Œf .x/ C O > g.x/ f .x/
x2K
O für beliebige primalzulässige x, O dualzulässige . Hinreichendes Optimalitätskriterium 5.4.5. xO sei zulässig für (P), O sei zulässig für (D) und inf Œf .x/ C O > g.x/ D f .x/: O
x2K
Dann ist xO optimal für (P) und O optimal für (D). Außerdem gilt die Complementary Slackness Condition O i D 0;
falls gi .x/ O < 0;
und das Infimum wird in xO angenommen.
.i 2 I1 [ I2 /;
298
Kapitel 5 Konvexe Optimierung
Beweis. Die Optimalität folgt aus dem Einschließungssatz 5.4.4. Wegen O i 0;
gi .x/ O 0 .i 2 I1 [ I2 /;
gi .x/ O D 0 .i 2 I3 /
ist f .x/ O C O > g.x/ O f .x/ O D inf Œf .x/ C O > g.x/: x2K
O D 0. Also ist notwendig O > g.x/ Anmerkung. Vgl. hiermit auch die hinreichende Optimalitätsbedingung 5.3.3. Starker Dualitätssatz 5.4.6. xO sei Optimallösung von (P), und die abgeschwächte Slater-Bedingung 5.3.11 sei erfüllt. Dann existiert eine Optimallösung O von (D), und die Werte sind gleich, inf Œf .x/ C O > g.x/ D f .x/: O
x2K
Außerdem gilt die Complementary Slackness Condition O i D 0;
falls gi .x/ O < 0;
.i 2 I1 [ I2 /;
und das Infimum wird in xO angenommen. Beweis. Dies wurde in der notwendigen Optimalitätsbedingung 5.3.12 bewiesen. Anmerkung. Der starke Dualitätssatz 5.4.6 ist also die dualitätstheoretische bzw. störungstheoretische Interpretation der notwendigen Optimalitätsbedingung 5.3.12. Auch die dualen Optimallösungen lassen sich geometrisch interpretieren: Sei w.0Rm / 2 R und O 2 @w.0Rm /, d. h. w.0Rm / O > z w.z/ .z 2 Rm /: Dann ist also für jedes z 2 Rm , für das ein x 2 K existiert mit gi .x/ zi
.i 2 I1 [ I2 /;
gi .x/ D zi
.i 2 I3 /;
auch w.0Rm / f .x/ C O > z: Wegen w.0Rm / 2 R ist .P0Rm / zulässig und .Pz / bleibt zulässig für zi WD 0 .i 2 I3 / und beliebige zi 0 .i 2 I1 [ I2 /. Dann muss notwendig gelten O i 0
.i 2 I1 [ I2 /:
299
Abschnitt 5.4 Dualität und Sensitivität
Für jedes x 2 K kann man auch z WD g.x/ wählen und erhält somit w.0Rm / f .x/ C O > g.x/
.x 2 K/:
Also ist w.0Rm / D inf Œf .x/ C O > g.x/: x2K
Aus dem Einschließungssatz 5.4.4 folgt, dass O dualoptimal ist, überdies sind die Werte der Probleme (P) und (D) gleich. Sei umgekehrt O dualoptimal, und die Werte der Probleme (P) und (D) seien gleich. Dann ist für alle z 2 Rm w.0Rm / D inf Œf .x/ C O > g.x/ x2K
D O > z C inf Œf .x/ C O > .g.x/ z/ x2K
O > z C w.z/; also O 2 @w.0Rm /. Damit haben wir bewiesen: Satz 5.4.7. Sei w.0Rm / 2 R. Dann gilt: O ist dualoptimal und die Optimalwerte von (P) und (D) sind gleich genau dann, wenn O ein Subgradient von w in 0Rm ist. Leider gibt es Probleme mit Dualitätslücke (duality gap) wD < wP . Daher benötigt man in der konvexen Optimierung die oben eingeführten Constraint Qualifications. Wir stellen abschließend noch eine Reihe von Sensitivitätsaussagen zusammen, die allein aus der Konvexität der Minimalwertfunktion w folgen. Die Beweise der dafür benötigten Hilfsmittel aus der konvexen Analysis befinden sich alle in [134]. Unter Definition 5.4.2 haben wir bewiesen, dass die Minimalwertfunktion w als Abbildung in R [ ¹C1º [ ¹1º einen konvexen Epigraphen besitzt und in diesem Sinne ein konvexes Funktional ist. Mit [134], Thm. 10.1 und Thm. 10.4, erhalten wir damit die folgenden Stetigkeitseigenschaften von w. Stetigkeitseigenschaften 5.4.8. (i) Die Restriktion der Minimalwertfunktion w auf das relative Innere ihrer Domäne ist stetig. (ii) Sei w eigentlich konvex, also nirgends gleich 1 und nicht identisch C1. Dann ist w Lipschitz-stetig auf jeder kompakten Teilmenge des relativen Inneren der Domäne von w.
300
Kapitel 5 Konvexe Optimierung
Wir haben in Lemma 5.3.16 gezeigt, dass die Minimalwertfunktion w richtungsdifferenzierbar ist in jedem Punkt b 2 Rm mit w.b/ 2 R und in jeder Richtung h 2 Rm , wenn man für die Richtungsableitung w 0 .b/.h/ die Werte C1 und 1 zulässt. Das Subdifferential @w.b/ D ¹y 2 Rm W w.b/ C y > h w.b C h/ .h 2 Rm /º ist als Duchschnitt abgeschlossener Mengen stets abgeschlossen im Rm , es kann aber leer sein. Ist z. B. w eigentlich konvex, so ist @w.b/ D ; für alle b … dom.w/. Mittels des Subdifferentials erhalten wir die folgende Darstellung der Richtungsableitung, vgl. [134, Thm. 23.4]. Darstellung der Richtungsableitung 5.4.9. Die Minimalwertfunktion w sei eigentlich konvex. (i) Für alle b … dom.w/ ist @w.b/ D ;. (ii) Für alle b 2 rel int.dom.w// ist @w.b/ 6D ; und w 0 .b/.h/ D sup¹y > h W y 2 @w.b/º
.h 2 Rm /:
(iii) @w.b/ ist nichtleer und beschränkt genau dann, wenn b 2 int.dom.w//: Im Hinblick auf Satz 5.4.7 ist also der relative Rand der Domäne von w die kritische Zone. In dieser Hinsicht sind allgemeine konvexe Funktionen komplizierter als konvexe polyedrische Funktionen, wie sie uns in der linearen Optimierung begegnet sind. Bekanntlich heißt w in einem Punkt b 2 Rm differenzierbar (total oder Fréchetdifferenzierbar), falls ein y 2 Rm existiert mit 1 .w.b C h/ w.b/ y > h/ D 0: khk2 !0C khk2 lim
Dann heißt y Gradient von w in b, hat die Gestalt y D rw.b/ WD
> @w @w .b/; : : : ; .b/ ; @x1 @xm
und es folgt 1 .w.b C h/ w.b// !0C khk2 .w.b C h/ w.b/ rw.b/> h/ C rw.b/> h D lim !0C khk2
w 0 .b/.h/ D lim
D rw.b/> h:
(5.2)
Abschnitt 5.5 Sattelpunkte und Komplementarität
301
Mittels [134], Thm. 25.1 und Cor. 25.1.1, erhalten wir dann das bemerkenswerte Resultat: Differenzierbarkeitseigenschaften 5.4.10. Sei w.b/ 2 R. (i) Falls @w.b/ einpunktig ist, dann ist w differenzierbar in b. (ii) Ist w differenzierbar in b, dann ist @w.b/ einpunktig und @w.b/ D ¹rw.b/º. (iii) Ist w differenzierbar in b, so ist w eigentlich und b 2 int.dom.w// . Ist also w.0Rm / 2 R und wP D wD , was mit dem starken Dualitätassatz 5.4.6 überprüft werden könnte, so ist gemäß Satz 5.4.7 O 2 @w.b/ genau dann, wenn O dualoptimal ist. O so ist w differenzierbar in 0Rm Besitzt (D) überdies genau eine Optimallösung , und O w0 .0Rm / D rw.0Rm / D : Dies ist das Analogon der aus der linearen Optimierung bekannten Schattenpreise.
5.5
Sattelpunkte und Komplementarität
In diesem Abschnitt werden die Zusammenhänge zwischen den Karush-Kuhn-TuckerBedingungen, Sattelpunktsätzen, Minimax-Theoremen, Variationsungleichungen und Komplementaritätsproblemen dargestellt und am Beispiel von Nash-Gleichgewichten erläutert. Für den Zusammenhang zwischen Dualität, Sattelpunktsätzen und Minimax-Theoremen haben wir [159] und [17] verwendet. Komplementaritätsprobleme und Variationsungleichungen werden in [30] und [53] behandelt. Für die mathematischen Grundlagen ökonomischer Gleichgewichte wurden [6] und [7] herangezogen. Wir schildern diese Zusammenhänge an Hand des konvexen Optimierungsproblems in seiner Standardform. Analoge Resultate gelten aber auch für allgemeinere Problemklassen. Konvexes Optimierungsproblem 5.5.1. K sei eine konvexe Teilmenge des Rn , die Abbildungen f W K ! R; gi W K ! R .i D 1; : : : ; m0 / seien konvex, und die Abbildungen gi W K ! R seien affin.
.i D m0 C 1; : : : ; m/
302 (P)
Kapitel 5 Konvexe Optimierung
Minimiere f .x/ unter den Nebenbedingungen x 2 K und ´ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
Für x; O O seien die Karush-Kuhn-Tucker-Bedingungen erfüllt, d. h. es ist ´ 0 .i D 1; : : : ; m0 /; xO 2 K; gi .x/ O D 0 .i D m0 C 1; : : : ; m/; ´ 0 .i D 1; : : : ; m0 /; O 2 Rm ; O i O < 0; D 0; falls gi .x/ f .x/ O C
m X
O f .x/ C O i gi .x/
i D1
m X
O i gi .x/
(5.3)
.x 2 K/:
i D1
Die Bedingungen ´
0 .i D 1; : : : ; m0 /; D 0 .i D m0 C 1; : : : ; m/; ´ 0; .i D 1; : : : ; m0 /; O i O < 0; D 0; falls gi .x/
O gi .x/
(5.4)
kann man auch äquivalent schreiben als O 2 ƒ und m X i D1
i gi .x/ O
m X
O i gi .x/ O
(5.5)
i D1
für alle 2 ƒ, wobei ƒ WD ¹ 2 Rm W i 0 .i D 1; : : : ; m0 /º: Denn in der Tat folgt aus (5.4) unmittelbar (5.5). Sei (5.5) erfüllt für xO 2 K. Dann ist notwendig ´ 0 .i D 1; : : : ; m0 /; O gi .x/ D 0 .i D m0 C 1; : : : ; m/;
303
Abschnitt 5.5 Sattelpunkte und Komplementarität
damit auch m X
O i gi .x/ O 0:
i D1
Mit D 0Rm folgt aber auch aus (5.5) m X
O 0; O i g.x/
i D1
also ist (5.4) erfüllt. Damit ist gezeigt: O erfüllt die Karush-Kuhn-Tucker-Bedingungen geSattelpunkttheorem 5.5.2. .x; O / O Sattelpunkt der Lagrange-Funktion nau dann, wenn .x; O / L.x; / D f .x/ C
m X
i gi .x/
i D1
auf K ƒ ist, d. h. wenn gilt xO 2 K; O 2 ƒ und O L.x; / O L.x; O / L.x; O / für alle 2 ƒ und alle x 2 K. R L.x; /
O L.x; O / O xO
x Abbildung 5.7. Sattelpunkt.
304
Kapitel 5 Konvexe Optimierung
Für eine beliebige reelle Funktion L.x; / auf K ƒ gilt sup inf L.x; / sup L.x; / .x 2 K/;
2ƒ x2K
2ƒ
darum auch sup inf L.x; / inf sup L.x; /:
2ƒ x2K
x2K 2ƒ
O 2 K ƒ Sattelpunkt von L.x; /, Sei nun .x; O / O L.x; / O L.x; O / L.x; O /
.x 2 K; 2 ƒ/:
(5.6)
Dann ist O D max L.x; O / inf sup L.x; / L.x; O / 2ƒ
x2K 2ƒ
und O sup inf L.x; /: O D min L.x; / L.x; O / x2K
2ƒ x2K
Überall muss also Gleichheit gelten, und wir erhalten O sup inf L.x; / D min L.x; /
2ƒ x2K
x2K
O D L.x; O / D max L.x; O / 2ƒ
D inf sup L.x; /; x2K 2ƒ
insbesondere gilt also max inf L.x; / D min sup L.x; /: 2ƒ x2K
x2K 2ƒ
(5.7)
Gelte umgekehrt (5.7). Dann wird links das Maximum durch O 2 ƒ und rechts das Minimum für xO 2 K angenommen, und es ist O D sup L.x; O /: inf L.x; /
x2K
2ƒ
Nun ist aber O L.x; O sup L.x; O / O /; inf L.x; /
x2K
2ƒ
305
Abschnitt 5.5 Sattelpunkte und Komplementarität
also ist O D L.x; O D sup L.x; O / O / inf L.x; /
x2K
2ƒ
bzw. O L.x; / O L.x; O / L.x; O / für alle x 2 K; 2 ƒ. Damit ist gezeigt: Satz 5.5.3. Die Sattelpunkteigenschaft (5.6) und die Minimax-Eigenschaft (5.7) sind äquivalent. Aus dem Sattelpunkttheorem 5.5.2 folgt somit O erfüllt die Karush-Kuhn-Tucker-Bedingungen geMinimax-Theorem 5.5.4. .x; O / nau dann, wenn gilt O D min sup L.x; /: max inf L.x; / D L.x; O / 2ƒ x2K
x2K 2ƒ
Man überlege sich, dass der Hauptsatz 2.8.10 der Matrixspiele ein Spezialfall des Minimax-Theorems ist. Jetzt sei L.x; / auf K ƒ bezüglich x konvex und bezüglich konkav, K und ƒ O sei Sattelseien konvex. Dies ist für das Optimierungsproblem 5.5.1 der Fall. .x; O / punkt von L.x; / auf K ƒ, O L.x; / O L.x; O /
.x 2 K/;
O L.x; L.x; O / O / . 2 ƒ/: O und L.x; Insbesondere sind dann die konvexen Funktionale L.; / O / richtungsO differenzierbar in xO bzw. in jeder zulässigen Richtung x xO bzw. O mit x 2 K; 2 ƒ. Damit folgt O O /.x x; O 0Rm / 0 .x 2 K/; L0 .x; O Rn ; / O 0 . 2 ƒ/: O /.0 L0 .x;
(5.8)
Wir wissen bereits, dass hieraus wegen der Konvexität von L bezüglich x und L O Sattelpunkt von L auf K ƒ ist. bezüglich auch wieder folgt, dass .x; O / Damit ist gezeigt: Satz 5.5.5. K und ƒ seien konvex, L.x; / sei auf K ƒ bezüglich x konvex, bezüglich konkav. Dann sind die Sattelpunkteigenschaft (5.6) und die VariationsungleiO 2 K ƒ äquivalent. chungen (5.8) für .x; O /
306
Kapitel 5 Konvexe Optimierung
Die Variationsungleichungen (5.8) lassen sich als Komplementaritätsproblem interO bezüglich x und pretieren, falls die partiellen Richtungsableitungen von L in .x; O / bezüglich linear sind und K und ƒ Standardform besitzen: K D ¹x 2 Rn W xj 0 .j D 1; : : : ; n0 /º; ƒ D ¹ 2 Rm W i 0 .i D 1; : : : ; m0 /º: Nach [134], Thm. 25.2, ist L bezüglich x und bezüglich sogar differenzierbar, und wir können die im Folgenden auftretenden partiellen Richtungsableitungen als gewöhnliche partielle Ableitungen schreiben. Seien für xO 2 K; O 2 ƒ die Variationsungleichungen O L0 .x; O /.x x; O 0Rm / 0 .x 2 K/; O Rn ; / O 0 . 2 ƒ/ O /.0 L0 .x; erfüllt, komponentenweise ausgeschrieben n X @L O .xj xOj / 0 .x 2 K/; .x; O / @xj
j D1
m X @L O .i O i / 0 . 2 ƒ/: .x; O / @i i D1
Genauso wie unter (5.4) und (5.5) zeigt man, dass dies äquivalent ist zu 8 0 ˆ 0; .x; O / ˆ @xj : D 0 .j D n0 C 1; : : : ; n/; 8 0 ˆ 0; .x; O / ˆ @i : D 0 .i D m0 C 1; : : : ; m/: Damit ist gezeigt: Satz 5.5.6. Sei K D ¹x 2 Rn W xj 0 .j D 1; : : : ; n0 /º; ƒ D ¹ 2 Rm W i 0 .j D 1; : : : ; m0 /º: O 2 K ƒ, L.x; / sei richtungsdifferenzierbar bezüglich x und bezüglich in .x; O / beide Richtungsableitungen seien linear.
Abschnitt 5.5 Sattelpunkte und Komplementarität
307
O die Variationsungleichung Dann löst .x; O / O L0 .x; O /.x x; O 0Rm / 0 .x 2 K/; O Rn ; / O 0 . 2 ƒ/ O /.0 L0 .x; O das folgende nichtlineare Komplementaritätsproblem löst: genau dann, wenn .x; O / xOj 0 .j D 1; : : : ; n0 /; ´ @L O 0 .x; O / @xj D0 ´ @L O 0 .x; O / @i D0
O i 0 .i D 1; : : : ; m0 /; .j D 1; : : : ; n0 /; .j D n0 C 1; : : : ; n/; .i D 1; : : : ; m0 /; .i D m0 C 1; : : : ; m/;
(5.9)
n m X X @L @L O O O i D 0: .x; O /xOj .x; O / @xj @i
j D1
i D1
Wir schließen diesen Abschnitt mit einer wichtigen Anwendung auf ökonomische Gleichgewichte, die für die Entwicklung der mathematischen Wirtschaftstheorie von großer Bedeutung war. Nichtkooperative N -Personenspiele 5.5.7. Wir modellieren das Verhalten von N Akteuren Aj
.j D 1; : : : ; N /:
Jeder Akteur Aj kann Strategien wählen xj 2 X j
.j D 1; : : : ; N /:
Jedes N -Tupel .x 1 ; : : : ; x N / heißt Multistrategie. Die Menge aller Multistrategien ist dann X WD X 1 X N : Das Verhalten des Akteurs Aj wird bestimmt durch die Menge seiner zulässigen Strategien S j .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N / X j
308
Kapitel 5 Konvexe Optimierung
und durch seine Kostenfunktion f j W X ! R: Befolgt der Akteur Aj die so genannte kanonische Entscheidungsregel für nichtkooperative N -Personenspiele, so wählt er seine Entscheidungen aus der Menge seiner optimalen Strategien aus: Optj .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N / WD ¹xO j 2 S j .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N / W f j .x 1 ; : : : ; x j 1 ; xO j ; x j C1 ; : : : ; x N / f j .x 1 ; : : : ; x j 1 ; x j ; x j C1 ; : : : ; x N / für alle x j 2 S j .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N /º: Jeder Akteur Aj hat also ein parametrisches Optimierungsproblem zu lösen, das von den unbekannten Entscheidungen seiner Konkurrenten abhängt. Die Optimallösungen dieses Problems, die damit auch von den Entscheidungen seiner Konkurrenten abhängen, sind gerade die kanonischen Entscheidungen des Akteurs Aj . Definition 5.5.8. Eine Multistrategie xO D .xO 1 ; : : : ; xO N /; die die kanonische Entscheidungsregel aus 5.5.7 für alle Akteure simultan erfüllt, heißt Nash-Gleichgewicht. Es gilt der grundlegende Satz 5.5.9 (Arrow, Debreu, Nash). Die Mengen X 1 ; : : : ; X N seien konvexe und kompakte Teilmengen eines (der Einfachheit halber) endlichdimensionalen reellen Vektorraums. Die mengenwertigen Abbildungen .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N / 7! S j .x 1 ; : : : ; x j 1 ; x j C1 ; : : : ; x N / seien stetig mit nichtleeren, abgeschlossenen und konvexen Werten. Alle Funktionen f j seien stetig, und alle Funktionen x j 7! f j .x 1 ; : : : ; x j 1 ; x j ; x j C1 ; : : : ; x N / seien konvex. Dann existiert ein Nash-Gleichgewicht.
309
Abschnitt 5.5 Sattelpunkte und Komplementarität
Zum Beweis vgl. man [6] und [7]. Bemerkenswert ist, dass der Volkswirtschaftler Kenneth J. Arrow, der Volkswirtschaftler und Mathematiker Gerard Debreu und der Mathematiker John F. Nash für ihre Leistungen auf dem Gebiet ökonomischer Gleichgewichte den Nobelpreis für Wirtschaftswissenschaften erhalten haben. Neben dieser Existenzaussage stellt sich die Frage, wie man Nash-Gleichgewichte berechnen kann. Durch separate Lösung der parametrischen Optimierungsprobleme aus 5.5.7 ist dies sicherlich nicht möglich. Man kann aber versuchen, die Optimalitätsbedingungen aus Abschnitt 5.3 bzw. 5.4 oder eine ihrer äquvalenten Formen aus diesem Abschnitt 5.5 simultan zu erfüllen. Wir erläutern dies an dem folgenden ganz einfachen Beispiel aus [53]. Beispiel 5.5.10. Die Unternehmen j D 1; : : : ; N stellen xj Einheiten desselben ProP P dukts her, p. jND1 xj / sei der Preis pro Einheit, zu dem jND1 xj Einheiten nachgefragt werden, cj .xj / seien die Gesamtkosten der Produktion des Unternehmens j . Das Unternehmen j möchte seine Kosten minimieren: Minimiere
cj .xj / xj p xj C
N X
xO
D1 ¤j
unter den Nebenbedingungen xj 0 ! Allerdings sind ihm die Produktionsmengen xO
. ¤ j /
seiner Konkurrenten unbekannt. Ein Produktionsvektor xO 2 RN ist dann ein Nash-Gleichgewicht, falls xOj obiges Problem löst für j D 1; : : : ; N . Wir setzen voraus, dass cj ./ konvex und N X xO xj p xj C D1 ¤j
konkav bezüglich xj sind und dass cj ./; p./ differenzierbar sind für j D 1; : : : ; N . Dann ist xO genau dann ein Nash-Gleichgewicht, wenn xO die Variationsungleichungen löst: xOj 0 .j D 1; : : : ; N /; h
cj0 .xOj / p
N X D1
N X i xO xOj p 0 xO .xj xOj / 0 .xj 0; j D 1; : : : ; N /: D1
310
Kapitel 5 Konvexe Optimierung
Dies ist äquivalent dazu, dass xO das nichtlineare Komplementaritätsproblem löst:
cj0 .xOj / p
N X
xOj 0
.j D 1; : : : ; N /;
N X xO xOj p 0 xO 0
.j D 1; : : : ; N /;
D1 N h X
cj0 .xOj / p
j D1
N X D1
D1
N X i xO xOj p 0 xO xOj D 0: D1
Während man die Kostenminimierung nicht direkt durchführen kann, da man die Produktionsmengen der Konkurrenten nicht kennt, kann man das Komplementaritätsproblem zu lösen versuchen und erhält auf diese Weise ein Nash-Gleichgewicht.
5.6
Schnittebenenverfahren
Das Schnittebenenverfahren für konvexe Optimierungsprobleme wurde zuerst von Cheney und Goldstein [25] und von Kelley [93] beschrieben. Wir stellen es hier in einer Form vor, die nur Konvexitätseigenschaften ausnutzt und daher auch auf so genannte nichtdifferenzierbare Optimierungsprobleme anwendbar ist. Für weitere Verfahren der nichtdifferenzierbaren Optimierung sei auf [79, 80, 146, 53, 4] verwiesen. Konvexes Optimierungsproblem 5.6.1. Die Teilmenge C Rn sei konvex und abgeschlossen. Die reellen Funktionen f und gj .j 2 J / seien konvex auf einer konvexen, offenen Obermenge von C , die Indexmenge J sei endlich. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 C und gj .x/ 0
.j 2 J / Š
Die zulässige Menge S sei nichtleer und besitze eine konvexe kompakte Obermenge C0 mit S C0 C: Die Menge C ist dabei im Allgemeinen eine „einfache“ Menge, die z. B. durch affine Gleichungen und Ungleichungen beschrieben wird. Ist C kompakt, so wird man C0 D C wählen.
311
Abschnitt 5.6 Schnittebenenverfahren
Für dieses Problem definieren wir das Schnittebenenverfahren 5.6.2. Die Menge C mit S C C sei bereits erzeugt und w D inf f .x/: x2C
Berechne x 2 C mit w f .x / w C ; wobei 0 und lim!1 D 0. Bestimme einen Index j 2 J mit gj .x / gj .x / ı
.j 2 J /;
wobei ı 0 und lim!1 ı D 0. Wähle einen Subgradienten l 2 @gj .x /: Setze CC1 D C \ ¹x 2 C W gj .x / C l .x x / 0º:
x0 x2 xO S rf
C0
Abbildung 5.8. Schnittebenenverfahren.
x1
312
Kapitel 5 Konvexe Optimierung
Konvergenzsatz 5.6.3. Die Folge .x /D0;1;2;::: ist wohldefiniert und besitzt einen Häufungspunkt x. O Jeder Häufungspunkt dieser Folge ist Minimallösung des konvexen Optimierungsproblems 5.6.1. Beweis. a) Vorbemerkungen: Gemäß 5.4.8 und 5.4.9 sind die Funktionen f; gj (j 2 J ) stetig auf einer offenen Obermenge O von C0 , Lipschitz-stetig auf jeder kompakten Teilmenge von O, und alle ihre Subdifferentiale sind auf O nicht leer. Zu jedem Punkt x 2 C0 gibt es eine offene Kugel intB .x/ O mit Radius x > 0 und Mittelpunkt x derart, dass auch noch int B2 .x/ O: Diese offenen Kugeln bilden eine offene Überdeckung von C0 , aus der eine endliche Überdeckung ausgewählt werden kann, int B1 .x1 /; : : : ; int BN .xN /: Definiere WD min¹1 ; : : : ; N º und damit B.C0 ; / WD ¹x C y 2 Rn W x 2 C0 ; kyk2 º; diese Menge ist als stetiges Abbild einer kompakten Menge kompakt. Sei z 2 B.C0 ; / beliebig gewählt. Dann existiert x 2 C0 und zu diesem x ein Index j 2 ¹1; : : : ; N º mit kz xj k2 kz xk2 C kx xj k2 < C j 2j ; also ist z 2 O. Insgesamt ist damit gezeigt B.C0 ; / O: Wir zeigen jetzt, dass alle Subgradienten auf C0 gleichmäßig beschränkt sind. Es genügt, eine Abbildung zu betrachten, z. B. die Zielfunktion f . Sei also x0 2 C0 beliebig gewählt und l 2 @f .x0 /. Dann gilt f .x0 / C l > z f .x0 C z/ .z 2 Rn /: Auf B.C0 ; / ist f Lipschitz-stetig mit Lipschitz-Konstante L. Damit folgt 1 > 1 jl zj sup jf .x0 C z/ f .x0 /j L: kzk2 D kzk2 D
klk2 D sup
313
Abschnitt 5.6 Schnittebenenverfahren
b) Es ist S ¤ ; und gj .x/ Q C l .x x/ Q gj .x/ 0 Q also ist für jedes xQ 2 C , x 2 S, l 2 @gj .x/, ; ¤ S CC1 C C0 C: Nach a) ist f stetig auf C0 , damit existieren alle Minima auf den Mengen C , w D inf f .x/ D min f .x / 2 R; x2C
x2C
und der Minimalwert des Ausgangsproblems ist w wC1 w w0 : Also existiert der lim w D wO w:
!1
Weiter ist w f .x / w C ; wegen lim!1 D 0 ist also auch lim f .x / D wO w:
!1
Die unendliche Folge .x /D0;1;2;::: in dem Kompaktum C0 besitzt einen Häufungspunkt, xO sei ein beliebiger Häufungspunkt, O lim x D x:
!1
Da f stetig ist, ist O D wO w: lim f .x / D f .x/
!1
Nach Konstruktion ist für jedes j 2 J gj .x / gj .x / ı ; außerdem ist für jedes O > gj .x / C l .xO x / 0;
314
Kapitel 5 Konvexe Optimierung
insgesamt ist also gj .x / gj .x / C ı l .xO x / C ı Für O ! 1 erhalten wir
.O > /:
gj .x / l xO x C ı :
Nach a) ist gj .x / LkxO x k2 C ı
. 2 N/
und im Limes für ! 1 O 0: gj .x/ Da C abgeschlossen ist, ist auch xO 2 C . Also ist xO zulässig und daher f .x/ O D wO w: Insgesamt ist also f .x/ O D wO D w und daher xO minimal. Anmerkung. In den Anwendungen ist oft C WD ¹x D .x1 ; : : : ; xn /> 2 Rn W li xi ui .i D 1; : : : ; n/º mit gegebenen Schranken li ui für i D 1; : : : ; n. Zusätzlich sei die Zielfunktion f linear, d. h. f .x/ D c > x mit c 2 Rn . Die letzte Annahme ist keine wesentliche Einschränkung, da das konvexe Optimierungsproblem äquivalent ist zu: O .P/
Minimiere
˛
u. d. N. .x; ˛/> 2 SO Š
Dabei ist SO WD ¹.x; ˛/ 2 C R W gi .x/ 0 .i D 1; : : : ; m/; f .x/ ˛º: O linear ist. Beachte, dass die Zielfunktion in .P/ Außerdem nehmen wir an, dass ein Algorithmus zur Berechnung eines Subgradienten von gi zur Verfügung steht. Ist gi differenzierbar, so ist der Subgradient gerade der gewöhnliche Gradient. Unter der Voraussetzung, dass die Startmenge C0 durch endlich viele lineare Gleichungen und Ungleichungen beschrieben wird, sind alle Teilprobleme des Schnittebenenverfahrens linear und können z. B. mit dem dualen Simplexverfahren gelöst werden.
315
Abschnitt 5.6 Schnittebenenverfahren
Beispiel 5.6.4.
Minimiere
2x C y
u. d. N.
0 x 5; 0 y 4; .x 3/2 C .y 2/2 4 0; .x 3/2 y 0 Š
Der zulässige Bereich und die Höhenlinie der Zielfunktion zum Niveau 4 sind in Abbildung 5.9 abgebildet: 4
3
y2
1
0
1
2
x
3
4
5
Abbildung 5.9.
Die Abbildungen 5.10–5.12 zeigen die ersten drei Schnitte: Schnitt 1: 6x y 9. Lösung: x D 1:5, y D 0. 4
3
y2
1
0
1
2
x
3
Abbildung 5.10.
4
5
316
Kapitel 5 Konvexe Optimierung
Schnitt 2: 3x y 6:75. Lösung: x D 2:25, y D 0. 4
3
y2
1
0
1
2
x
3
4
5
Abbildung 5.11.
Schnitt 3: 1:5x y 3:9375. Lösung: x D 1:875, y D 1:125. 4
3
y2
1
0
1
2
x
3
Abbildung 5.12.
4
5
317
Abschnitt 5.6 Schnittebenenverfahren
Numerische Lösung: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
j 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
gj 0.9000000000000000EC01 0.2250000000000000EC01 0.5625000000000000EC00 0.1406250000000000EC00 0.3515625000000000E01 0.8789062500000000E02 0.2197265625000000E02 0.5493164062500000E03 0.1373291015625000E03 0.3433227539062500E04 0.8583068847656250E05 0.2145767211914062E05 0.5364418029785156E06 0.1341104507446289E06 0.3352761268615723E07 0.8381903171539307E08 0.2095475792884827E08 0.5238689482212067E09 0.1309672370553017E09 0.3274180926382542E10 0.8185452315956354E11 0.2046363078989089E11 0.5115907697472721E12 0.1278976924368180E12 0.3197442310920451E13 0.7993605777301127E14 0.1998401444325282E14 0.5427516075462435E15 0:5305543331057816E15
w 0.0000000000000000EC00 0.3000000000000000EC01 0.4500000000000000EC01 0.4875000000000000EC01 0.4968750000000000EC01 0.4992187500000000EC01 0.4998046875000000EC01 0.4999511718750000EC01 0.4999877929687500EC01 0.4999969482421875EC01 0.4999992370605469EC01 0.4999998092651367EC01 0.4999999523162842EC01 0.4999999880790710EC01 0.4999999970197678EC01 0.4999999992549419EC01 0.4999999998137355EC01 0.4999999999534339EC01 0.4999999999883585EC01 0.4999999999970896EC01 0.4999999999992724EC01 0.4999999999998181EC01 0.4999999999999545EC01 0.4999999999999886EC01 0.4999999999999972EC01 0.4999999999999993EC01 0.4999999999999998EC01 0.5000000000000000EC01 0.5000000000000000EC01
Näherung der optimalen Lösung: x D 0:2000000004954636EC01; y D 0:9999999900907280EC00:
318
5.7
Kapitel 5 Konvexe Optimierung
Aufgaben
Aufgabe 5.7.1. Sei C eine beliebige Menge im Rn . Zeigen Sie: Die Menge C ist genau dann konvex, wenn sie alle Konvexkombinationen von Punkten in C enthält. Aufgabe 5.7.2. Zeigen Sie: Die konvexe Hülle co.D/ einer Menge D Rn besteht aus der konvexen Hülle aller Punkte, die sich als Konvexkombination von jeweils zwei Punkten X; Y 2 D schreiben lassen, d. h. co.D/ D co.M /;
M WD ¹x 2 Rn W x D X C .1 /Y; X; Y 2 D; 0 1º:
Aufgabe 5.7.3. Es seien A; B Rn konvexe Mengen. Zeigen Sie: Die konvexe Hülle co.C / der Menge C D A [ B besteht aus allen Punkten x 2 Rn , die sich als Linearkombination x D a C .1 /b;
0 1;
mit a 2 A und b 2 B schreiben lassen. Aufgabe 5.7.4. Gegeben sei ein konvexes Optimierungsproblem. Zeigen Sie:
Die Menge der optimalen Lösungen ist konvex.
Jedes lokale Minimum ist auch globales Minimum.
Aufgabe 5.7.5. Beweisen Sie die Trennungssätze: (a) Sei C Rn eine nichtleere konvexe Menge und sei y 2 Rn ein Punkt, der nicht im Abschluss CN von C liegt. Dann gibt es eine Hyperebene H D ¹x 2 Rn W a> x D º, die y enthält und a> y < infx2C a> x erfüllt. (b) Sei C Rn eine konvexe Menge und sei y 2 Rn ein Randpunkt von C . Dann gibt es eine Hyperebene, die y enthält und die C in einem ihrer abgeschlossenen Halbräume enthält. Hinweis: Verwenden Sie den Projektionssatz: Sei ; 6D M Rn eine abgeschlossene und konvexe Menge. Dann gibt es zu jedem Vektor y 2 Rn einen eindeutigen Vektor x0 2 M mit ky x0 k2 ky xk2 für alle x 2 M . Notwendig und hinreichend für die Optimalität von x0 ist, dass .y x0 /> .x x0 / 0 für alle x 2 M gilt. Aufgabe 5.7.6. Sei f W Œa; b ! R konvex. Sei a < c < d < b. Zeigen Sie, dass eine Konstante L existiert mit jf .x1 / f .x2 /j Ljx1 x2 j
.x1 ; x2 2 Œc; d /:
319
Abschnitt 5.7 Aufgaben
Hinweis: Zeigen Sie zunächst, dass für a < x < y < b gilt f 0 .x/.1/
f .x/ f .y/ ; xy
sowie ein analoges Resultat für f 0 .y/.1/. Aufgabe 5.7.7. Betrachten Sie das Optimierungsproblem (P) Minimiere f .x/ u. d. N.
x 2 S WD ¹x 2 C W gi .x/ 0 .i D 1; : : : ; m/º Š
Darin sei C Rn konvex und abgeschlossen, und f und gi (i D 1; : : : ; m) seien konvexe Funktionen, die auf einer offenen Obermenge von C definiert sind. Die Funktionen gi (i D 1; : : : ; m) seien stetig differenzierbar. Zur numerischen Lösung des Problems soll das Schnittebenenverfahren von Kelley verwendet werden: (0) Sei C0 6D ; konvex und kompakt, und es gelte S C0 C . Setze i D 0. (1) Berechne xi 2 Ci mit f .xi / D min¹f .x/ W x 2 Ci º. (2) Falls xi 2 S gilt, ist xi optimal für (P): STOP. Falls maximale Iterationszahl imax erreicht ist: STOP. (3) Bestimme ki 2 ¹1; : : : ; mº mit gki .xi / D
max gj .xi /
j D1;:::;m
und setze CiC1 D Ci \ ¹x 2 Rn W gki .xi / C rgki .xi /> .x xi / 0º: (4) Falls CiC1 D ;, STOP mit Fehlermeldung. Andernfalls setze i D i C 1 und gehe zu (1). Implementieren Sie das Schnittebenenverfahren von Kelley für den folgenden Spezialfall des Problems (P): Minimiere
c>x
u. d. N.
x 2 C WD ¹x 2 Rn W li xi ui .i D 1; : : : ; n/º; gi .x/ 0
.i D 1; : : : ; m/ Š
Die Funktionen gi W Rn ! R (i D 1; : : : ; m) seien stetig differenzierbar und konvex. Für die Schranken gelte li < ui (i D 1; : : : ; n).
320
Kapitel 5 Konvexe Optimierung
Testen Sie das Programm für Beispiel 5.6.4: Minimiere
2x1 C x2
u. d. N.
0 x1 5; 0 x2 4; .x1 3/2 C .x2 2/2 4 0; .x1 3/2 x2 0 Š
Aufgabe 5.7.8. Gegeben sei das quadratische Optimierungsproblem Minimiere u. d. N.
1 > x Qx C c > x 2 Ax D b; x 2 Rn Š
Hierin sei A 2 Rmn . Die Matrix Q 2 Rnn sei symmetrisch und positiv semidefinit. (a) Formulieren Sie notwendige und hinreichende Optimalitätsbedingungen für das quadratische Optimierungsproblem. (b) Leiten Sie unter den zusätzlichen Annahmen, dass Q positiv definit und Rang.A/ D m seien, eine explizite Lösungsformel für x und den Lagrangeschen Multiplikator her und formulieren Sie einen effizienten Algorithmus zur numerischen Berechnung. (c) Was ergibt sich für die folgenden Optimierungsprobleme? (i) Minimiere x12 C 2x22 2x1 x2 3x1 4x2 u. d. N. x1 C 2x2 D 4 ! (ii) Minimiere 12 .x12 C x22 4x1 x2 / x1 u. d. N. x1 C x2 D 0 ! Aufgabe 5.7.9. Gegeben sei das Optimierungsproblem Minimiere
f .x/
u. d. N.
x 2 K; ´ gi .x/
0 .i 2 I2 /; D 0 .i 2 I3 / Š
Hierin sei K D ¹x 2 Rn W hj .x/ 0 .j D 1; : : : ; m1 /; hj .x/ D 0 .j D m1 C 1; : : : ; m/º: Die Funktionen gi (i 2 I2 [ I3 ) und hj (j D 1; : : : ; m) seien affin linear, und f sei konvex und stetig differenzierbar. Zeigen Sie: Ist xO optimal, so gibt es Multiplikatoren i (i 2 I2 [ I3 ) mit i 0;
i 2 I2 ;
i gi .x/ O D 0;
i 2 I2 ;
O /> .x x/ O 0 rx L.x;
.x 2 K/:
321
Abschnitt 5.7 Aufgaben
Hinweis: Beachten Sie, dass die Gültigkeit der abgeschwächten Slaterbedingung hier nicht vorausgesetzt wird! Aufgabe 5.7.10. Gegeben sei das Optimierungsproblem min f .x/:
x2X
Darin seien f W Rn ! R konvex und X Rn konvex und kompakt. Das Schnittebenenverfahren zur Lösung des Optimierungsproblems lautet: (0) Wähle x 0 2 X und setze k D 0. (1) Falls x k einem Abbruchkriterium genügt: STOP. (2) Berechne ein k 2 @f .x k / und definiere fk .x/ WD
max
j D0;1;:::;k
¹f .x j / C .j /> .x x j /º:
(3) Berechne eine Lösung x kC1 von min fk .x/:
x2X
(4) Setze k WD k C 1 und gehe zu Schritt (1). Implementieren Sie das Schnittebenenverfahren für den Spezialfall X D ¹x 2 Rn W Ax b; li xi ui .i D 1; : : : ; n/º mit A 2 Rmn , b 2 Rm , li ; ui 2 R, li ui (i D 1; : : : ; n). Lösen Sie das Problem ausgehend von x 0 D .1; 1/> für f .x1 ; x2 / D max¹5x1 C x2 ; 5x1 C x2 ; x12 C x22 C 4x2 º; l D .10; 10/> ; u D .10; 10/> ; A D .1 1/ ; b D .10/: Hinweis: Das Teilproblem minx2X fk .x/ kann für den angegebenen Spezialfall von X als lineares Optimierungsproblem geschrieben werden: Minimiere
v
u. d. N.
Ax b; li xi ui
.i D 1; : : : ; n/;
f .x j / C .j /> .x x j / v
.j D 0; 1; : : : ; k/ Š
322
Kapitel 5 Konvexe Optimierung
Aufgabe 5.7.11. Sei M Rn nichtleer und abgeschlossen. Zu festem y 2 Rn definiere f .x/ WD kx yk2 , x 2 Rn . Zeigen Sie: f besitzt auf M ein globales Minimum. Ist M konvex, so ist das globale Minimum eindeutig bestimmt. Aufgabe 5.7.12. Sei Œa; b R, a < b, und f W Œa; b ! R konvex. Zeigen Sie, dass f auf dem offenen Intervall a; bŒ stetig ist. Hinweis: Betrachten Sie die Fälle x < x0 und x > x0 getrennt und wenden Sie (im ersten Fall) die Konvexitätsbedingung jeweils auf die Punkte a; x; x0 und x; x0 ; b an. Ist f auch notwendig in den Randpunkten a; b stetig? Gilt die Stetigkeit auch für konvexe Funktionen auf offenen, konvexen Teilmengen des Rn ? Aufgabe 5.7.13. Gegeben sei das lineare Optimierungsproblem Minimiere u. d. N.
3 X i D1 3 X j D1 3 X j D1 3 X
ci> xi A1j xj D b1 ; A2j xj b2 ; A3j xj b3 ;
j D1
x1 0; x2 0; x3 frei Š Darin seien xi ; ci 2 Rni für i D 1; 2; 3, Aij 2 Rmi nj für i; j D 1; 2; 3 und bi 2 Rmi für i D 1; 2; 3. Zeigen Sie, dass das duale Problem mit yi 2 Rmi (i D 1; 2; 3) gegeben ist durch: Maximiere
3 X
bi> yi
i D1
u. d. N.
c1 c2 c3 D
3 X i D1 3 X i D1 3 X
A> i1 yi ; A> i2 yi ; A> i3 yi ;
i D1
y2 0; y3 0; y1 frei Š
323
Abschnitt 5.7 Aufgaben
Aufgabe 5.7.14. Gegeben sei das gestörte quadratische Optimierungsproblem: .QP.ı//
Minimiere u. d. N.
1 > x Qx 2 Ax D b C ı; x 2 Rn Š
Q 2 Rnn sei symmetrisch und positiv definit, A 2 Rmn mit m n habe den Rang m, und ı 2 Rm sei eine Störung. Zeigen Sie, dass für die Minimalwertfunktion ² ³ 1 > n w.ı/ WD inf x Qx W Ax D b C ı; x 2 R 2 gilt 1 w.ı/ D w.0Rm / .0Rm /> ı C ı > .AQ1 A> /1 ı; 2 wobei .0Rm / die Lösung des zu .QP.0Rm // dualen Problems bezeichnet. Aufgabe 5.7.15. Gegeben sei das primale Problem Minimiere Darin sei
f .x/
u. d. N.
x 0 Š
´ x 2 2x; falls x 0; f .x/ D x; falls x < 0:
(a) Berechnen Sie die Minimalwertfunktion explizit und skizzieren Sie diese. (b) Ermitteln Sie die Lösung des Dualproblems graphisch und rechnerisch.
Kapitel 6
Differenzierbare Optimierung
In diesem Kapitel werden Optimalitätsbedingungen behandelt für Optimierungsprobleme mit endlich vielen reellen Entscheidungsvariablen, endlich vielen nichtlinearen Gleichungs- und Ungleichungsnebenbedingungen und nichtlinearer Zielfunktion. Die zulässige Menge solcher Probleme und auch die Minimalwertfunktion gestörter Probleme sind im Allgemeinen nicht mehr konvex. Daher werden neue Konzepte und Beweismethoden benötigt. Trotzdem sollte man natürlich so viel wie möglich aus der gut entwickelten Theorie konvexer Optimierungsprobleme weiterverwenden. Dies gelingt mit der Methode der lokalen Approximation nichtkonvexer Optimierungsprobleme durch ihre Konvexifizierung in einer zulässigen Lösung. Interessanterweise verwenden auch die Methode der zulässigen Richtungen, die SQP-Methode (Sequential Quadratic Programming) und die SCP-Methode (Sequential Convex Programming) Folgen linearisierter bzw. konvexifizierter Optimierungsprobleme zur Berechnung von Optimallösungen. Dies führen wir weiter aus in Kapitel 7, das den algorithmischen Konzepten des Nonlinear Programming gewidmet ist. Für die lokale Approximation von Optimierungsproblemen benötigen wir zusätzliche analytische Hilfsmittel, die wir im einleitenden Abschnitt 6.1 zusammenstellen. Als vertiefende Literatur sind hier [34] und [107] zu empfehlen. Wir beschränken uns bei den verwendeten Differenzierbarkeitsbegriffen bewusst auf die bereits aus Kapitel 5 bekannten Begriffe der Richtungsdifferenzierbarkeit und der gewöhnlichen (totalen bzw. Fréchet-)Differenzierbarkeit. Ohne Schwierigkeiten könnten für Ungleichungsnebenbedingungen und Zielfunktion auch schwächere Differenzierbarkeitsbegriffe wie (konvexe) Gâteaux- oder Hadamard-Differenzierbarkeit verwendet werden. Dies würde die Darstellung technisch schwieriger machen, am mathematischen Gehalt aber wenig ändern. Für die Approximation von Mengen, die explizit gegeben sein können oder auch implizit als zulässige Mengen von Optimierungsproblemen, verwenden wir Tangentialkegel im Sinne von Bouligand oder Hestenes [76], für implizit durch Gleichungen und Ungleichungen beschriebene Mengen auch so genannte linearisierende Kegel. Mit Hilfe dieser Begriffe formulieren und beweisen wir noch eine auf endlichdimensionale Gleichungs- und Ungleichungssysteme zugeschnittene Form des Satzes von Ljusternik. Bei der Herleitung notwendiger Optimalitätsbedingungen wird stets die Existenz wenigstens einer Optimallösung vorausgesetzt. Die Frage, ob Optimallösungen überhaupt existieren, wurde von uns bislang allerdings noch nicht ausführlich thematisiert.
Kapitel 6 Differenzierbare Optimierung
325
Für den Fall kontinuierlicher linearer Optimierungsprobleme wird die Existenzfrage konstruktiv mit dem Simplexverfahren auch für nicht kompakte zulässige Mengen beantwortet. Für ganzzahlige Optimierungsprobleme wird sie zumeist durch eine globale Beschränkung der zulässigen Menge erledigt. Für konvexe Optimierungsprobleme liefern die Karush-Kuhn-Tucker-Bedingungen bzw. die Subgradienten der Minimalwertfunktion, letztlich also Trennungssätze für konvexe Mengen, die Existenz dualer Optimallösungen. Für allgemeine nichtlineare Probleme ist die Existenzfrage schwieriger zu beantworten. Wir beweisen daher im Abschnitt 6.2 noch eine auf Minimierungsprobleme zugeschnittene Version des Satzes von Weierstraß. Die eigentliche Schwierigkeit besteht dann natürlich darin, für konkrete Probleme die nötigen Halbstetigkeits- und Kompaktheits- bzw. Wachstumseigenschaften nachzuweisen. Die Methode der lokalen konvexen Approximation benutzen wir in Abschnitt 6.3 für die Herleitung notwendiger Optimalitätsbedingungen erster Ordnung. Wir betonen dabei Approximations- und Trennbarkeitseigenschaften im Bildraum der Zielfunktion und der Nebenbedingungen. Insofern ist unsere Darstellung beeinflusst von [76] sowie [83] und ebnet auch den Zugang zu kontinuierlichen dynamischen Optimierungsproblemen wie Variationsproblemen, Regelungsproblemen und optimalen Steuerungsproblemen. Als notwendige Optimalitätsbedingungen erhält man auf diese Weise verschiedene Varianten der (lokalen) Fritz John- und Karush-Kuhn-Tucker-Bedingungen, die nichts anderes sind als die entsprechenden globalen Bedingungen für das konvexifizierte Problem. Die (lokale) Slater-Bedingung, die Mangasarian-Fromovitz-Constraint Qualification und die Regularitätsbedingung von Robinson lassen sich dann alle geometrisch als Nichttrennbarkeitsaussagen zweier konvexer Mengen im Bildraum der Nebenbedingungen interpretieren. Die Constraint Qualification von Abadie ist von einem etwas anderen Typ. Sie stellt sicher, dass das linearisierte bzw. konvexifizierte Problem die gleiche Optimallösung besitzt wie das Ausgangsproblem. Dann können alle Resultate der konvexen Optimierung direkt angewendet werden. Wir zeigen am Ende des Abschnitts 6.3, dass die Mangasarian-Fromovitz-Constraint Qualification hinreichend ist für die Constraint Qualification von Abadie. Das Hauptziel des Abschnitts 6.4 ist der Beweis hinreichender Optimalitätsbedingungen. Wir bedienen uns dabei des eleganten Konzepts aus [78] der LagrangeFunktion als stützender Minorante der Zielfunktion auf der zulässigen Menge. In Abschnitt 6.5 beweisen wir noch Sensitivitätseigenschaften gestörter Probleme, die aus den hinreichenden Bedingungen zweiter Ordnung folgen. Diese Eigenschaften werden für die Konvergenzanalyse der Lagrange-Newton-Methode bzw. der SQPMethode benötigt, die im Kapitel 7 durchgeführt wird. Dies ist ein weiteres Beispiel für den Nutzen von Optimalitätsbedingungen für die Entwicklung und mathematische Analyse von Optimierungsmethoden.
326
6.1
Kapitel 6 Differenzierbare Optimierung
Analytische Hilfsmittel
Für die Herleitung von Optimalitätsbedingungen und die Begründung von Optimierungsverfahren benötigen wir Differenzierbarkeitseigenschaften der Zielfunktion und der Nebenbedingungen und lokale Approximationen von Mengen. Definitionen 6.1.1. (i) g W Rn ! Rm heißt richtungsdifferenzierbar im Punkt xO 2 Rn in Richtung h 2 Rn , falls der Limes g 0 .x/.h/ O WD lim
t!0C
1 .g.xO C t h/ g.x// O t
existiert. (ii) g W Rn ! Rm heißt differenzierbar (total differenzierbar, Fréchet-differenO W Rn ! Rm existiert zierbar) in xO 2 Rn , falls eine lineare Abbildung g0 .x/ mit kg.xO C h/ g.x/ O g 0 .x/hk O D 0: khk khk!0C lim
Dabei bezeichnet k k eine beliebige Norm im Rn bzw. Rm . (iii) g W Rn ! Rm heißt stetig partiell differenzierbar in xO 2 Rn , falls die Funktionalmatrix 0 1 @g1 @g1 .x/ : : : .x/ @xn B @x1: C :: :: C :: g 0 .x/ D B : : @ A @gm @gm .x/ : : : .x/ @x1 @xn existiert in einer Umgebung von xO und stetig ist in xO (als Funktion von x). Anmerkung. Stetige partielle Differenzierbarkeit im Punkte xO impliziert FréchetDifferenzierbarkeit in x. O Fréchet-Differenzierbarkeit in xO impliziert Richtungsdifferenzierbarkeit in x. O Die Fréchet-Ableitung wird, sofern sie existiert, stets durch die Funktionalmatrix dargestellt. O als Funktion der Richtung, in der sie Beachte, dass die Richtungsableitung g 0 .x/./ berechnet wird, nicht notwendig linear zu sein braucht. Ist g Fréchet-differenzierbar in x, O so ist O C r1 .x; O h/ g.xO C h/ D g.x/ O C g0 .x/h
(6.1)
327
Abschnitt 6.1 Analytische Hilfsmittel
mit 1 O h/ D 0Rm : r1 .x; khk!0C khk lim
Für jedes Paar von Folgen xi 2 Rn ;
ti > 0
.i D 1; 2; : : :/
mit lim
i !1
xi xO D h ¤ 0Rn ; ti
lim ti D 0
i !1
folgt dann 0 g .x/.x 1 O i x/ O O r1 .x; O xi x/ O kxi xk .g.xi / g.x// O D lim C i!1 ti i !1 ti ti kxi xk O lim
O D g 0 .x/h; also lim
1
i !1 ti
.g.xi / g.x// O D g0 .x/h: O
(6.2)
Ist g zweimal Fréchet-differenzierbar in x, O so ist O C g 00 .x/h O C r2 .x; O h/ g0 .xO C h/ D g 0 .x/
(6.3)
mit lim
khk!0C
1 O h/ D 0Rmn : r2 .x; khk
Beachte, dass hier die Konvergenz im Raum der m n-Matrizen gemeint ist. Dann ist 1 .g.xi / g.x/ O g0 .x/.x O i x// O i!1 t 2 i Z 1 1 0 .g .xO C .xi x// O g 0 .x//.x O O D lim 2 i x/d i!1 t 0 i Z 1 1 00 D lim 2 .g .x/..x O O xi x/ O C r2 .x; O .xi x//.x O O i x/; i x//d i!1 t 0 i lim
1 O h/; D g 00 .x/.h; 2
328
Kapitel 6 Differenzierbare Optimierung
also 1 1 .g.xi / g.x/ O g0 .x/.x O i x// O D g 00 .x/.h; O h/: 2 i !1 t 2 i lim
(6.4)
Dabei ist die zweite Fréchet-Ableitung g00 .x/ als bilineare Abbildung von Rn Rn in den Rm aufzufassen mit der konkreten Darstellung 0 2 1 @ gi @2 gi .x/ : : : .x/ @x1 @xn B @x1 @x: 1 C :: C h .i D 1; : : : ; m/: :: ::: gi00 .x/.h; h/ D h> B (6.5) : @ A 2 2 @ gi @ gi .x/ : : : @xn @xn .x/ @xn @x1 Die oben auftretenden Folgen nennt man auch richtungskonvergent. Ist nämlich x i D xO für höchstens endlich viele i 2 N, so können wir diese Indizes weglassen und erhalten i
x i xO ti x xO h : lim D lim D i i i !1 kx xk i !1 ti kx xk khk O O Schränkt man noch die Folgenglieder xi ein auf eine Teilmenge K Rn mit xO 2 K, so bilden die Vektoren h einen Kegel T .K; x/ O mit Scheitel 0Rn , der K in der Form xO C T .K; x/ O lokal in xO approximiert, vgl. die Abbildung 6.1 und die folgende Definition.
K
K
K
Abbildung 6.1. Tangentialkegel in verschiedenen Punkten der Menge K.
Definition 6.1.2. K sei eine Teilmenge des Rn und xO 2 K. Die Menge T .K; x/ O aller h 2 Rn , zu denen Folgen x i 2 K;
ti > 0 .i D 1; 2; 3; : : :/
existieren mit x i xO D h; i !1 ti lim
heißt Tangentialkegel an K in x. O
lim ti D 0;
i !1
329
Abschnitt 6.1 Analytische Hilfsmittel
Satz 6.1.3. Für jede Teilmenge K Rn mit xO 2 K ist T .K; x/ O ein abgeschlossener Kegel mit Scheitel 0Rn . O und mit h 2 T .K; x/ O und beliebigem 0 Beweis. Offenbar ist 0Rn 2 T .K; x/ auch h 2 T .K; x/. O Also ist T .K; x/ O ein Kegel mit Scheitel 0Rn . O mit Sei .hj /j 2N eine Folge in T .K; x/ lim hj D hO
j !1
und zugehörigen Folgen j
j
xi 2 K; ti > 0
.i D 1; 2; 3; : : :/
mit lim
xij xO tij
i !1
Zu jeder Kugel um hO mit Radius
1
D hj ;
j lim t i !1 i
D 0:
(6.6)
und 2 N gibt es dann ein hj./ mit
O khj./ hk
1 2
und damit ein j./
xi./ 2 K;
j./
ti./ > 0
mit j./ xi./ xO 1 O j./ h ; ti./ j./
dabei kann wegen der zweiten Bedingung in (6.6) noch ti./ Also folgt hO 2 T .K; x/, O d. h. T .K; x/ O ist abgeschlossen.
1
erreicht werden.
Für konvexe Mengen lässt sich der Tangentialkegel sehr einfach berechnen. Lemma 6.1.4. Die Menge K Rn sei konvex und xO 2 K. Dann ist der Tangentialkegel T .K; x/ O der Abschluss des durch K ¹xº O erzeugten Kegels mit Scheitel 0Rn . Anmerkung. Bezeichnen wir mit cl(A) den Abschluss einer Menge A und mit RCC die Menge der positiven reellen Zahlen, so ist also T .K; x/ O D cl.RCC .K ¹xº//; O insbesondere ist T .K; x/ O ein abgeschlossener konvexer Kegel mit Scheitel 0Rn .
330
Kapitel 6 Differenzierbare Optimierung
Beweis. Dass für beliebige t > 0; k 2 K t .k x/ O 2 T .K; x/ O gilt, ist offensichtlich. Da T .K; x/ O abgeschlossen ist, folgt O T .K; x/: O cl.RCC .K ¹xº// Seien umgekehrt xi 2 K;
ti > 0
.i 2 N/
Folgen mit 1 .xi x/ O D h; i !1 ti lim
lim ti D 0:
i !1
Dann ist jedes Folgenglied 1 .xi x/ O 2 RCC .K ¹xº/ O ti und daher h 2 cl.RCC .K ¹xº//: O O und damit ihr Abschluss ein Man rechne noch nach, dass die Menge RCC .K ¹xº/ konvexer Kegel mit Scheitel 0Rn ist. Beispiel 6.1.5. Für den Standardbereich K D ¹x 2 Rn W xj 0 .j D 1; : : : ; n0 /º ist T .K; x/ O D ¹x 2 Rn W xj 0; falls xOj D 0; .j D 1; : : : ; n0 /º: Die folgende Eigenschaft, die man dem obigen Standardbereich direkt ansieht, ist ein wichtiges Hilfsmittel für die Analyse von Mengenrestriktionen des Typs x 2 K. Satz 6.1.6. Die Menge K Rn sei konvex, ihr Inneres int.K/ nichtleer und xO 2 K. Seien x i 2 Rn ;
ti > 0 .i 2 N/
Folgen mit lim
1
i !1 ti
.xi x/ O D h;
lim ti D 0
i !1
331
Abschnitt 6.1 Analytische Hilfsmittel
und h 2 RCC .int.K/ ¹xº/: O Dann existiert i0 2 N mit xi 2 K
.i i0 /:
Überdies ist int.T .K; x// O D RCC .int.K/ ¹xº/: O Beweis. a) Wegen O h 2 RCC .int.K/ ¹xº/ existieren > 0; k 2 int.K/ mit h D .k x/: O Wegen lim
i !1
1 .xi x/ O D h; lim ti D 0 i !1 ti
gibt es zu beliebigem > 0 ein i 2 N mit 1 .xi x/ O 2 .k x/ O C B .0Rn / .i i /: ti Wähle > 0 so klein, dass kC
1 B .0Rn / K:
Wegen k 2 int.K/ ist dies stets möglich. Dann folgt xi 2 ti .k C
1 B .0Rn // C .1 ti /xO K
für alle i i mit ti 1, da K konvex ist. b) Es ist einerseits O cl.RCC .K ¹xº// O D T .K; x/; O cl.RCC .int.K/ ¹xº// andererseits, weil K konvex und int.K/ ¤ ;, O
cl.RCC .cl.int.K// ¹xº// O cl.RCC .int.K/ ¹xº// D cl.RCC .cl.K/ ¹xº// O
T .K; x/: O
332
Kapitel 6 Differenzierbare Optimierung
Also ist T .K; x/ O D cl.RCC .int.K/ ¹xº//: O Da O D RCC .int.K/ ¹xº/
[
.int.K/ ¹xº/ O
>0
offen, nichtleer und konvex ist, folgt O int.T .K; x// O D RCC .int.K/ ¹xº/: Ein weiterer Kegel spielt in der Optimierungstheorie eine wesentliche Rolle. Man approximiert dabei die Nebenbedingungen lokal mittels ihrer Ableitungen und hofft, dass die Lösungsmenge des auf diese Weise linearisierten Systems eine gute lokale Approximation der Lösungsmenge des nichtlinearen Systems ist. Definition 6.1.7. K sei eine Teilmenge des Rn und die Abbildung g W Rn ! Rm differenzierbar in xO 2 S mit ´ ² ³ 0 .i D 1; : : : ; m0 / S WD x 2 K W gi .x/ : D 0 .i D m0 C 1; : : : ; m/ Dann heißt ´ 0; O L.S; x/ O WD h 2 T .K; x/ O W gi0 .x/h D0 ²
falls gi .x/ O D 0; .i D 1; : : : ; m0 / .i D m0 C 1; : : : ; m/
³
linearisierender Kegel an S in x. O Lemma 6.1.8. K sei eine Teilmenge des Rn und die Abbildung g W Rn ! Rm differenzierbar in xO 2 S mit ´ ³ ² 0 .i D 1; : : : ; m0 / : S WD x 2 K W gi .x/ D 0 .i D m0 C 1; : : : ; m/ Dann gilt T .S; x/ O L.S; x/: O Beweis. Sei h 2 T .S; x/. O Dann existieren xj 2 S;
tj > 0
(6.7)
333
Abschnitt 6.1 Analytische Hilfsmittel
für alle j 2 N mit lim
j !1
xj xO D h; tj
lim tj D 0;
j !1
also mit gi .xj / gi .x/ O D gi0 .x/h O .i D 1; : : : ; m/: j !1 tj lim
O D 0 und i 2 ¹1; : : : ; m0 º, so folgt Ist gi .x/ O 0: gi0 .x/h Ist i 2 ¹m0 C 1; : : : ; mº, so folgt O D 0: gi0 .x/h Schwieriger zu beweisen ist der folgende Satz, der eine auf endlichdimensionale Optimierungsprobleme zugeschnittene Version des Satzes von Ljusternik ist. Die Differenzierbarkeitsvoraussetzungen wählen wir etwas stärker als nötig. Dann können wir den Beweis mittels des klassischen Satzes über implizite Funktionen führen. Satz 6.1.9. Der Punkt xO 2 S sei eine Lösung des Systems ´ ³ ² 0 .i D 1; : : : ; m0 / : S WD x 2 K W gi .x/ D 0 .i D m0 C 1; : : : ; m/ Dabei sei K eine konvexe Teilmenge des Rn mit nichtleerem Inneren int.K/. Die Funktionen gi W Rn ! R .i D 1; : : : ; m0 / seien in xO differenzierbar. Die Funktionen gi W Rn ! R .i D m0 C 1; : : : ; m/ seien in einer Umgebung von xO stetig differenzierbar. Es existiere ein h 2 int.T .K; x// O mit ² O D 0; .i D 1; : : : ; m0 / < 0; falls gi .x/ O (6.8) gi0 .x/h 0 D 0 .i D m C 1; : : : ; m/; und die lineare Abbildung 0
1 0 O gm 0 C1 .x/ B C :: n jJ j O WD @ gJ0 .x/ A W R ! R : 0 .x/ gm O
(6.9)
mit J D ¹m0 C 1; : : : ; mº sei surjektiv. Dann gilt T .S; x/ O D L.S; x/: O
(6.10)
334
Kapitel 6 Differenzierbare Optimierung
Beweis. Wir brauchen nur noch zu zeigen L.S; x/ O T .S; x/: O
(6.11)
a) Zunächst zeigen wir h 2 T .S; x/. O O surjektiv ist, existieren zu den kanonischen Einheitsvektoren e i des RjJ j Da gJ0 .x/ Vektoren y i 2 Rn mit O i D ei gJ0 .x/y
.i 2 J /:
Betrachte damit das Gleichungssystem X F .t; s/ WD gJ xO C t h C si y i D 0RjJ j i 2J
für die reellen Variablen t; s D .si /i 2J . Für dieses System gilt F .0; 0RjJ j / D gJ .x/ O D 0RjJ j ; @F .0; 0RjJ j / D gJ0 .x/y O J D EjJ j : @s Nach dem Satz über implizite Funktionen gibt es ein Intervall I WD .ı; Cı/ mit ı > 0 und eine stetig differenzierbare Abbildung s./ W I ! RjJ j mit s.0/ D 0RjJ j und F .t; s.t // D 0RjJ j
.t 2 I /:
Für die Ableitung von s./ in 0 gilt dann ˇ d F .t; s.t //ˇ tD0 dt X dsi D gJ0 .x/ O hC .0/y i dt
0RjJ j D
i 2J
D gJ0 .x/h O C
X dsi i 2J
D gJ0 .x/h O C
dt
ds .0/: dt
.0/e i
335
Abschnitt 6.1 Analytische Hilfsmittel
Wegen O D 0RjJ j gJ0 .x/h ist also ds .0/ D 0RjJ j : dt Für die differenzierbare Kurve x.t / WD xO C t h C
X
si .t /y i
.t 2 I /
i 2J
gilt also lim
t!0C
1 .x.t / x/ O Dh t
und gi .x.t // D 0
.0 t ı; i 2 J /:
Nach Voraussetzung ist gi0 .x/h O < 0;
falls gi .x/ O D 0;
.i D 1; : : : ; m0 /:
Wegen lim
t!0C
1 O D gi0 .x/h O .gi .x.t // gi .x// t
ist O D 0: lim .gi .x.t // gi .x//
t!0C
O < 0, so existiert 0 < ı 0 ı mit Ist also gi .x/ gi .x.t // < 0
.0 t ı 0 /:
O D 0, so folgt Ist gi .x/ 1 O D gi0 .x/h O 0; k 2 int.K/ mit h D .k x/: O Wegen lim
t!0C
1 .x.t / x/ O Dh t
gibt es zu beliebigem > 0 ein ı > 0 mit 1 .x.t / x/ O 2 .k x/ O C B .0Rn / t
.0 < t ı/:
Wähle > 0 so klein, dass kC
1 B .0Rn / K:
Wegen k 2 int.K/ ist dies stets möglich. Dann folgt 1 x.t / 2 t k C B .0Rn / C .1 t /xO K für alle 0 < t ı mit t 1, da K konvex ist. Insgesamt ist damit gezeigt h 2 T .S; x/: O b) Sei jetzt hQ 2 L.S; x/ O beliebig gewählt. Dann gilt für die Punkte der Verbindungsgeraden h C .hQ h/ .0 < 1/ wegen der Konvexität von T .K; x/ O und h 2 int.T .K; x// O h C .hQ h/ 2 int.T .K; x// O
(6.12)
O D0 sowie für i 2 ¹1; : : : ; m0 º mit gi .x/ Q 0 eine Kugelumgebung Bı .x/ O mit ı > 0 und f .x/ f .x/ O
O \ S/: .x 2 Bı .x/
Dann ist auch O f .xij / f .x/ für fast alle j 2 N . Dieser Widerspruch beweist w 2 R. b) Gemäß Definition von w existiert zu beliebigem i 2 N ein xi 2 S mit 1 f .xi / w C : i Da S kompakt ist, besitzt diese Folge eine konvergente Teilfolge mit lim xij DW xO 2 S:
j !1
Da f halbstetig nach unten ist in x, O existiert zu beliebigem > 0 eine KugelumgeO mit ı > 0 und bung Bı .x/ f .x/ f .x/ O
O \ S/: .x 2 Bı .x/
Dann ist auch f .x/ O f .xij / w C
1 ij
für fast alle j 2 N. Hieraus folgt f .x/ O w und, da > 0 beliebig gewählt werden durfte, f .x/ O w. Also minimiert xO die Funktion f auf S.
339
Abschnitt 6.2 Existenz von Optimallösungen
Lemma 6.2.3. Die reelle Funktion f W K ! R sei halbstetig nach unten auf einer abgeschlossenen Teilmenge K Rn . Dann ist die Niveaumenge zum Niveau c 2 R ¹x 2 K W f .x/ cº abgeschlossen. Beweis. Sei .xi /i 2N eine Folge in dieser Niveaumenge mit O lim xi DW x:
i !1
Da K abgeschlossen ist, ist xO 2 K. Da f halbstetig nach unten ist in x, O existiert zu O mit ı > 0 und beliebigem > 0 eine Kugelumgebung Bı .x/ f .x/ f .x/ O
.x 2 Bı .x/ O \ K/:
Dann ist also f .x/ O f .xi / C c C für fast alle i 2 N. Da > 0 beliebig gewählt werden konnte, ist f .x/ O c, d. h. xO gehört zur Niveaumenge zum Niveau c. Mit diesem Lemma und dem Satz 6.2.2 erhalten wir einen ersten Existenzsatz für das Optimierungsproblem 6.2.1. Existenzsatz 6.2.4. Die Funktionen f; gi .i D 1; : : : ; m0 / seien halbstetig nach unten, die Funktionen gi .i D m0 C 1; : : : ; m/ seien stetig auf der kompakten Menge K Rn , und die zulässige Menge S des Optimierungsproblems 6.2.1 sei nicht leer. Dann existiert eine Minimallösung. Beweis. Die zulässige Menge S ist als Durchschnitt der abgeschlossenen Mengen ¹x 2 K W gi .x/ 0º .i D 1; : : : ; m0 /;
¹x 2 K W gi .x/ D 0º .i D m0 C 1; : : : ; m/
abgeschlossen in K und daher kompakt, nach Voraussetzung auch nicht leer. Wende Satz 6.2.2 an. Auch für Standardmengen, z. B. K WD ¹x 2 Rn W xj 0 .j D 1; : : : ; n0 /º; ist K im Allgemeinen zwar abgeschlossen, aber nicht beschränkt. Dann hilft der folgende Existenzsatz weiter.
340
Kapitel 6 Differenzierbare Optimierung
Existenzsatz 6.2.5. Die Funktionen f; gi .i D 1; : : : ; m0 / seien halbstetig nach unten, die Funktionen gi .i D m0 C 1; : : : ; m/ seien stetig auf der abgeschlossenen Menge K Rn , und die zulässige Menge S des Optimierungsproblems 6.2.1 sei nicht leer. Die Zielfunktion f erfülle die Wachstumsbedingung lim f .xi / D C1
i !1
für jede Folge .xi /i 2N K mit lim kxi k D C1:
i !1
Dann existiert eine Minimallösung. Beweis. Wähle einen beliebigen zulässigen Punkt xQ und definiere SQ WD ¹x 2 S W f .x/ f .x/º: Q Die Menge SQ ist dann eine nichtleere abgeschlossene Teilmenge von S . Wir zeigen, dass SQ beschränkt ist. Andernfalls gäbe es zu jedem i 2 N ein xi 2 SQ mit kxi k i . Dann ist lim kxi k D C1
i !1
und daher auch lim f .xi / D C1
i !1
im Widerspruch zu f .xi / f .x/ Q .i 2 N/. Damit ist gezeigt, dass SQ kompakt ist. Wende Satz 6.2.2 an. Die Hauptschwierigkeit bleibt natürlich, für konkrete Probleme die nötigen Halbstetigkeits- und Kompaktheits- bzw. Wachstumseigenschaften nachzuweisen. Die Abbildung 6.2 illustriert, welche Effekte in der nichtlinearen Optimierung außerdem noch auftreten können. Für die skizzierten Funktionen f bedeuten die (lokalen) Karush-Kuhn-TuckerBedingungen im Punkte x gerade, dass die Ableitung von f in x gleich 0 ist. Ist f nicht konvex, so folgt hieraus keineswegs, dass x Minimallösung ist. x kann sogar ein globales Maximum sein, was für die Kostenminimierung wenig vorteilhaft ist. x braucht weder Minimallösung noch Maximallösung zu sein, es muss nicht einmal eine Optimallösung existieren. Neu gegenüber der konvexen Optimierung ist, dass auch lokale Minima auftreten können, die keine globalen Minima sind.
341
Abschnitt 6.2 Existenz von Optimallösungen
x
x
x
x Abbildung 6.2.
Definition 6.2.6. xO heißt lokale Minimallösung des Optimierungsproblems 6.2.1, falls xO zulässig ist und eine Umgebung U 3 xO existiert mit f .x/ O f .x/ für alle zulässigen Punkte x 2 U . Anmerkung. Ist das Problem 6.2.1 konvex, so sind Zielfunktion f und zulässige Menge konvex. Ist dann xO eine lokale Optimallösung und x ein beliebiger zulässiger Punkt, dann folgt f .x/ f .x/ O
1 .f .xO C .x x// O f .x// O
und daher aus der lokalen Optimalität von xO f .x/ f .x/ O 0; xO ist also auch globale Optimallösung.
.0 < 1/
342
Kapitel 6 Differenzierbare Optimierung
In den folgenden Abschnitten werden wir also zwischen lokalen und globalen Minima unterscheiden müssen. Zwar ist jedes globale Minimum auch ein lokales. Daher ist jede notwendige Optimalitätsbedingung für lokale Minima auch eine für globale Minima. Bei den hinreichenden Optimalitätsbedingungen muss man allerdings vorsichtiger sein. Soweit sie das Prinzip der lokalen Approximation nutzen, können sie nur hinreichend für lokale Minima sein.
6.3
Notwendige Optimalitätsbedingungen
In diesem Abschnitt wollen wir für verschiedene Varianten des nichtlinearen Optimierungsproblems 6.2.1 notwendige Optimlitätsbedingungen erster Ordnung beweisen. Wir setzen dazu voraus, dass eine Optimallösung xO existiere. Betrachte wiederum die beiden Mengen ´ ³ ² 0 .i D 1; : : : ; m0 / 1Cm W r f .x/; O zi A WD .r; z/ 2 R D 0 .i D m0 C 1; : : : ; m/ und ² B WD .r; z/ 2 R
1Cm
´ zi W r f .x/; gi .x/ D zi
³ .i D 1; : : : ; m0 / ; x2K ; .i D m0 C 1; : : : ; m/
die bereits in der konvexen Optimierung eine wichtige Rolle spielten. B ist jetzt nicht notwendig konvex. Daher approximieren wir B lokal folgendermaßen durch eine konvexe Menge ² O O C f 0 .x/.x O x/; O B WD .r; z/ 2 R1Cm W r f .x/ ´ ³ zi .i D 1; : : : ; m0 / 0 O gi .x/ ; x 2 xO C T .K; x/ O O C gi .x/.x O x/ O D zi .i D m0 C 1; : : : ; m/ mit (bezüglich des Zuwachses x xO konvexen) Richtungsableitungen f 0 .x/; O gi0 .x/ O
.i D 1; : : : ; m0 /
und (bezüglich des Zuwachses x xO linearen) gewöhnlichen Ableitungen O gi0 .x/
.i D m0 C 1; : : : ; m/
sowie einem konvexen Teilkegel des Tangentialkegels TO .K; x/ O T .K; x/: O Dies bedeutet, dass wir das nichtlineare Optimierungsproblem (P) aus 6.2.1 lokal approximieren durch ein
343
Abschnitt 6.3 Notwendige Optimalitätsbedingungen
Konvexifiziertes Optimierungsproblem 6.3.1. O Minimiere .P/ O x/ O f .x/ O C f 0 .x/.x unter den Nebenbedingungen x 2 xO C TO .K; x/ O und ´ 0 .i D 1; : : : ; m0 /; gi .x/ O C gi0 .x/.x O x/ O D 0 .i D m0 C 1; : : : ; m/ Š Unser Ziel ist es, die Gültigkeit der globalen Fritz John-Bedingungen und KarushO zu zeigen. Kuhn-Tucker-Bedingungen für verschiedene Varianten des Problems .P/ Dies sind dann gerade die lokalen Fritz John-Bedingungen und Karush-KuhnTucker-Bedingungen für die entsprechenden Varianten des Problems .P/. Dabei werden wir gleichzeitig die jeweils nötigen Anforderungen an die Ableitungen und an TO .K; x/ O präzisieren. Fritz John-Bedingungen 6.3.2 (Gleichungsnebenbedingungen linear). xO sei (lokal) optimal für (P). TO .K; x/ O sei ein konvexer Teilkegel von T .K; x/ O derart, dass zu jedem x xO 2 TO .K; x/ O ein t0 > 0 existiert mit xO C t .x x/ O 2K
.0 t t0 /:
Alle Gleichungsrestriktionen seien affin. Die Abbildungen f; g1 ; : : : ; gm0 seien richtungsdifferenzierbar in xO mit (bezüglich des Zuwachses x x) O konvexer Richtungsableitung. Dann existieren Multiplikatoren i .i D 0; : : : ; m/, die nicht alle 0 sind, mit ´ 0 .i D 0; : : : ; m0 /; i O < 0; .i D 1; : : : ; m0 / D 0; falls gi .x/ und 0 f 0 .x/.x O x/ O C
m X
.x xO 2 TO .K; x//: O
i gi0 .x/.x O x/ O 0
i D1
Beweis. Es existiere ein Punkt .r; z/ 2 A \ BO mit r < f .x/; O zi < 0 .i D 1; : : : ; m0 /. n Dann existiert also x xO 2 R mit x xO 2 TO .K; x/; O gi .x/ O C gi .x/ O C
gi0 .x/.x O 0 gi .x/.x O 0
(6.15) 0
x/ O D 0 .i D m C 1; : : : ; m/; 0
x/ O < 0 .i D 1; : : : ; m /;
O x/ O < f .x/: O f .x/ O C f .x/.x
(6.16) (6.17) (6.18)
344
Kapitel 6 Differenzierbare Optimierung
Nach Voraussetzung existiert t0 > 0 mit xO C t .x x/ O 2K
.0 t t0 /:
Da die Gleichungsnebenbedingungen affin sind, ist O D0 gi .xO C t .x x//
.0 t t0 ; i D m0 C 1; : : : ; m/:
Für die Ungleichungsnebenbedingungen folgt 1 O gi .x/ O D gi0 .x/.x O x/ O 2 R; Œgi .xO C t .x x// t!0C t lim
also O gi .x/ O D 0: lim Œgi .xO C t .x x//
t!0C
O < 0, so existiert 0 < ı t0 mit Ist also gi .x/ gi .xO C t .x x// O < 0 .0 t ı/: Ist gi .x/ O D 0, so folgt lim
t!0C
1 O gi .x/ O D gi0 .x/.x O x/ O und D .1 ; 2 ; 3 /> 0 unter Ausnutzung der Komplementaritätsbedingungen wie folgt: 0 D 0
1 0
C 2
0 1
0 C 3 : 1
Offensichtlich ist diese Bedingung nur für 0 D 0 und 2 D 3 erfüllt.
349
Abschnitt 6.3 Notwendige Optimalitätsbedingungen 1.4 1.2 1
rg3 .1; 0/
0.8 0.6 0.4 0.2 0 -0.2 0
0.2
0.4
0.6
0.8
1
1.2
1.4
rg2 .1; 0/ Abbildung 6.3.
Wir untersuchen jetzt die Frage, wann der Multiplikator 0 > 0 gewählt werden kann, wann also die lokalen KKT-Bedingungen gelten. Ein möglicher Zugang ist der folgende: Wir nehmen an, dass die Fritz John-Bedingungen mit 0 D 0 gelten. Dann sind also die Projektionen ´ ³ ² 0 .i D 1; : : : ; m0 / m prRm .A/ D z 2 R W zi D 0 .i D m0 C 1; : : : ; m/ und ´
²
O D z 2 R W gi .x/ prRm .B/ O C m
gi0 .x/.x O
x/ O
³ O x 2 xO C T .K; x/ O
zi D zi
.i D 1; : : : ; m0 / ; .i D m0 C 1; : : : ; m/
im Rm durch eine Hyperebene trennbar. Treten keine Gleichungsnebenbedingungen auf, so ist dies nicht möglich, falls die folgende Bedingung erfüllt ist. Lokale Slater-Bedingungen 6.3.6. Es existiert ein xQ 2 xO C TO .K; x/ O mit gi .x/ O C gi0 .x/. O xQ x/ O < 0 .i D 1; : : : ; m/:
350
Kapitel 6 Differenzierbare Optimierung
Anmerkung. Da TO .K; x/ O ein Kegel mit Scheitel 0Rn ist, kann man letzteres auch ausdrücken in der Form O xQ x/ O 0 .i 2 N/ mit xi xO D x x; O lim ti D 0: i !1 i !1 ti lim
Da f Fréchet-differenzierbar ist in xO und xO lokal optimal, folgt 1 Œf .xi / f .x/ O 0: i !1 ti
f 0 .x/.x O x/ O D lim
Wir geben noch Voraussetzungen an, unter denen die Mangasarian-Fromovitz-Constraint Qualification hinreichend ist für die Constraint Qualification von Abadie. Satz 6.3.19. xO sei zulässig für (P). K sei konvex und int.K/ ¤ ;. g1 ; : : : ; gm0 seien in xO Fréchet-differenzierbar, gm0 C1 ; : : : ; gm seien in einer Umgebung von xO stetig Fréchet-differenzierbar. Es gebe ein xQ 2 Rn mit xQ xO 2 int.T .K; x//; O ´ < 0 .i D 1; : : : ; m0 /; gi .x/ O C gi0 .x/. O xQ x/ O D 0 .i D m0 C 1; : : : ; m/: Die lineare Abbildung 1 0 O gm 0 C1 .x/ C B :: A @ : 0
0 .x/ O gm
sei surjektiv. Dann ist L.S; x/ O D T .S; x/: O
356
Kapitel 6 Differenzierbare Optimierung
Beweis. Zum Glück brauchen wir nichts mehr zu beweisen. Dieser Satz ist gerade die an endlichdimensionale nichtlineare Optimierungsprobleme angepasste Version des Satzes von Ljusternik 6.1.9, die wir bereits bewiesen haben. Im Allgemeinen ist es schwierig nachzuweisen, dass die Constraint Qualification von Abadie erfüllt ist, ohne auf die anderen Constraint Qualifications zurückzugreifen. Falls allerdings alle Restriktionen affin sind, ist die Constraint Qualification von Abadie immer erfüllt, und man kann mit ihr oder auch direkt nachweisen, dass die KKT-Bedingungen gelten. Dabei braucht die Zielfunktion in xO nur richtungsdifferenzierbar zu sein mit (bezüglich des Zuwachses x x) O konvexer Richtungsableitung O x/. O f 0 .x/.x Seien jetzt also alle Restriktionen von (P) affin, d. h. auch K werde durch affine Gleichungen und Ungleichungen beschrieben: ´ ³ ² 0 .j D 1; : : : ; n0 / n : K D x 2 R W gQj .x/ D 0 .j D n0 C 1; : : : ; n00 / xO sei lokale Optimallösung von (P). Dann ist ² T .K; x/ O D x xO 2 Rn W ´
O gQj0 .x/.x
0; x/ O D0
³ O D 0; .j D 1; : : : ; n0 / falls gQj .x/ : .j D n0 C 1; : : : ; n00 /
Sei x xO 2 T .K; x/. O Dann folgt für beliebiges t > 0 O D gQj .x/ O C t gQj0 .x/.x O x/ O gQj .xO C t .x x// ´ 0; falls gQj .x/ O D 0; .j D 1; : : : ; n0 / D0 .j D n0 C 1; : : : ; n00 / und für hinreichend kleine t > 0 gQj .xO C t .x x// O < 0; Sei weiter
´ O gi0 .x/.x
x/ O
0; D0
falls gQj .x/ O < 0:
O D 0; .i D 1; : : : ; m0 / falls gi .x/ .i D m0 C 1; : : : ; m/:
Dann ist für beliebiges t > 0 O D gi .x/ O C tgi0 .x/.x O x/ O gi .xO C t .x x// ´ 0; falls gi .x/ O D 0; .i D 1; : : : ; m0 / D0 .i D m0 C 1; : : : ; m/
357
Abschnitt 6.3 Notwendige Optimalitätsbedingungen
und für hinreichend kleines t > 0 gi .xO C t .x x// O < 0; falls gi .x/ O < 0: Für hinreichend kleines t > 0 muss dann auch f .xO C t .x x// O f .x/ O ausfallen. Ist f richtungsdifferenzierbar in x, O so folgt 1 Œf .xO C t .x x// O f .x/ O 0: t!0C t
O x/ O D lim f 0 .x/.x
Wir haben also direkt gezeigt, dass xO das Optimierungsproblem löst: O Minimiere .P/ O x/ O f .x/ O C f 0 .x/.x unter den Nebenbedingungen ´ O D 0; .i D 1; : : : ; m0 /; 0; falls gi .x/ gi .x/ D0 .i D m0 C 1; : : : ; m/; ´ O D 0; .j D 1; : : : ; n0 /; 0; falls gQj .x/ gQj .x/ D0 .j D n0 C 1; : : : ; n00 / Š Dies ist ein Optimierungsproblem mit konvexer Zielfunktion (f braucht nur konvex richtungsdifferenzierbar zu sein) und lauter affinen Restriktionen. Hierfür ist die abgeschwächte Slater-Bedingung 5.3.11, z. B. durch xO selbst, erfüllt. Daher gelten die KKT-Bedingungen in der Form: 00 Es existieren Multiplikatoren 2 Rm ; 2 Rn mit .i D 1; : : : ; m0 /; j 0
i 0
O < 0; i D 0; falls gi .x/
.j D 1; : : : ; n0 /;
j D 0; falls gQj .x/ O < 0;
und 0
f .x/.x O x/ O C
m X
00
i gi0 .x/.x O
i D1
x/ Q C
n X
j gQj0 .x/.x O x/ O 0
.x 2 Rn /:
j D1
Um die KKT-Bedingungen für das ursprüngliche Problem zu bekommen, müssen wir noch die Multiplikatoren j .j D 1; : : : ; n00 / wieder entfernen. Hierzu beachte man 00
n X j D1
j gQj0 .x/.x O x/ O 0 .x 2 T .K; x//: O
358
Kapitel 6 Differenzierbare Optimierung
Insgesamt sind damit bewiesen: KKT-Bedingungen 6.3.20 (alle Restriktionen affin). xO sei (lokale) Optimallösung für das Optimierungsproblem 6.2.1 mit lauter affinen Restriktionen, und ´ ³ ² 0 .j D 1; : : : ; n0 / n K D x 2 R W gQj .x/ D 0 .j D n0 C 1; : : : ; n00 / sei eine konvexe polyedrische Menge. f sei (konvex) richtungsdifferenzierbar in x. O m Dann existieren Multiplikatoren 2 R mit i 0 .i D 1; : : : ; m0 /;
i D 0; falls gi .x/ O < 0;
und 0
O x/ O C f .x/.x
m X
i gi0 .x/.x O x/ O 0
i D1
für alle x 2 Rn mit ´ 0; gQj .x/ D0
6.4
O D 0; .j D 1; : : : ; n0 /; falls gQj .x/ .j D n0 C 1; : : : ; n00 /:
Optimalitätsbedingungen zweiter Ordnung
In diesem Abschnitt beweisen wir notwendige und hinreichende Optimalitätsbedingungen zweiter Ordnung. Wir benutzen dabei die Stützeigenschaften der LagrangeFunktion auf der zulässigen Menge und damit implizit das Konzept der „lower support functions“ aus [78]. Notwendige Optimalitätsbedingungen zweiter Ordnung beschreiben Zusatzeigenschaften von Optimallösungen über die im vorigen Abschnitt 6.3 gewonnenen hinaus. Hinreichende Bedingungen werden benötigt zum Nachweis, dass eine mit anderen Methoden gewonnene „gute“ zulässige Lösung auch optimal ist. Die hinreichenden Optimalitätsbedingungen zweiter Ordnung werden auch benötigt als Hilfsmittel bei der Sensitivitätsanalyse differenzierbarer Optimierungsprobleme in Abschnitt 6.5 und im Konvergenzbeweis der Lagrange-Newton-Methode bzw. der SQP-Methode in den Abschnitten 7.4 und 7.5. Als Norm kk verwenden wir irgendeine Vektornorm im Rn . Der Einfachheit halber wählen wir als Mengenrestriktion K D Rn , d. h. alle gegebenenfalls vorkommenden impliziten Nebenbedingungen müssen durch explizite Gleichungen und Ungleichungen modelliert werden.
Abschnitt 6.4 Optimalitätsbedingungen zweiter Ordnung
359
Wir betrachten also das Optimierungsproblem 6.4.1. f; g1 ; : : : ; gm seien reelle Funktionen auf dem Rn . .P/
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und gi .x/ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
Im Folgenden bezeichne S die Menge der zulässigen Punkte des Optimerungsproblems .P/. Dann gilt stets die folgende Notwendige Bedingung 1. Ordnung 6.4.2. Sei xO ein lokales Minimum von f auf S und f Fréchet-differenzierbar in x. O Dann gilt O 0 f 0 .x/h
.h 2 T .S; x//: O
Beweis. Gemäß Definition des Tangentialkegels gibt es zu jedem x xO 2 T .S; x/ O Folgen xi 2 S;
ti > 0
.i 2 N/
mit lim
i !1
xi xO D x x; O lim ti D 0: i !1 ti
Da f Fréchet-differenzierbar ist in xO und xO lokal optimal, folgt 1 Œf .xi / f .x/ O 0: i !1 ti
O x/ O D lim f 0 .x/.x
Natürlich kennt man im Allgemeinen weder die Menge S noch den Tangentialkegel T .S; x/. O Der ganze vorherige Abschnitt bestand darin, praktikablere notwendige Bedingungen erster Ordnung anzugeben. Dennoch motiviert die Bedingung 6.4.2 die folgende Hinreichende Bedingung 1. Ordnung 6.4.3. Sei xO 2 S und f Fréchet-differenzierbar in x. O Gilt dann O > 0 .h 2 T .S; x/ O n ¹0Rn º/; f 0 .x/h so gibt es eine Umgebung U von xO und ein ˛ > 0 mit f .x/ f .x/ O C ˛kx xk O
.x 2 S \ U /:
360
Kapitel 6 Differenzierbare Optimierung
Beweis. Ist die Behauptung falsch, so gibt es zu jeder offenen Kugel mit Mittelpunkt xO und Radius 1i und jedem ˛i WD 1i einen Punkt xi 2 S mit 1 1 O < kxi xk; O kxi xk O < f .xi / f .x/ i i
.i 2 N/:
Beachte, dass auch gilt xi ¤ xO .i 2 N/. Da die Einheitskugel bezüglich k k im Rn kompakt ist, folgt nach Übergang zu einer geeigneten Teilfolge xi xO O DW h; i !1 kxi xk O lim
O D 0; lim kxi xk
i !1
d. h. hO 2 T .S; x/ O n ¹0Rn º, und damit der Widerspruch O hO D lim f 0 .x/
i !1
f .xi / f .x/ O 0: kxi xk O
Die Abbildung 6.4 illustriert diese hinreichende Bedingung. Natürlich kennt man auch hier im Allgemeinen weder die Menge S noch den Tangentialkegel T .S; x/. O Allerdings erweist sich jetzt der linearisierende Kegel als besonders nützlich, da er im Gegensatz zu S durch ein lineares Gleichungs- und
Abbildung 6.4. Striktes Minimum.
361
Abschnitt 6.4 Optimalitätsbedingungen zweiter Ordnung
Ungleichungssystem beschrieben wird: ´ ² O D 0; 0; falls gi .x/ n 0 O L.S; x/ O D h 2 R W gi .x/h D0
³ .i D 1; : : : ; m0 / : .i D m0 C 1; : : : ; m/
Hinreichende Bedingung 1. Ordnung 6.4.4. Seien f; g1 ; : : : ; gm Fréchet-differenzierbar in xO 2 S . Gilt dann O >0 f 0 .x/h
.h 2 L.S; x/ O n ¹0Rn º/;
so gelten für xO die KKT-Bedingungen, und es gibt eine Umgebung U von xO und ˛ > 0 mit f .x/ f .x/ O C ˛kx xk O
.x 2 U \ S/:
Beweis. Nach Lemma 6.1.8 ist T .S; x/ O L.S; x/, O und die zweite Behauptung folgt aus der hinreichenden Bedingung 6.4.3. Da offenbar 0Rn die lineare Zielfunktion f 0 .x/h O auf der konvexen polyedrischen Menge L.S; x/ O mimimiert, gelten hierfür die (globalen) KKT-Bedingungen. Dies sind gerade die (lokalen) KKT-Bedingungen für x. O Im folgenden Satz werden einige Eigenschaften der Lagrange-Funktion zusammengestellt, und es wird der Begriff des kritischen Kegels motiviert. Kritische Kegel haben fundamentale Bedeutung für die Formulierung und für den Beweis von Optimalitätsbedingungen zweiter Ordnung. Satz 6.4.5. Die Funktionen f; g1 ; : : : ; gm seien zweimal Fréchet-differenzierbar in xO 2 S . Für xO mögen die KKT-Bedingungen gelten mit einem Multiplikatorvektor 2 Rm . Dann ist die Lagrange-Funktion als Funktion von x bei festgehaltenem , F ./ WD f ./ C
m X
i gi ./;
i D1
zweimal Fréchet-differenzierbar in xO und besitzt die Eigenschaften: F .x/ f .x/ .x 2 S/; F .x/ O D f .x/; O O D 0> F 0 .x/ Rn : Die Menge SO WD ¹x 2 S W F .x/ D f .x/º
362
Kapitel 6 Differenzierbare Optimierung
lässt sich auch darstellen als 8 8 ˆ ˆ falls i D 0; .i D 1; : : : ; m0 / = 0 : falls i > 0; .i D 1; : : : ; m / > ; 0 .i D m C 1; : : : ; m/
Dann ist der linearisierende Kegel von SO in xO gleich 8 ˆ < O x/ L.S; O D h 2 Rn W ˆ : 9 8 > ˆ O D 0 und i D 0; .i D 1; : : : ; m0 / = 0; .i D 1; : : : ; m / D 0; falls gi .x/ > ˆ ; : 0 D0 .i D m C 1; : : : ; m/ O D 0. Es gilt h 2 L.SO ; x/ O genau dann, wenn h 2 L.S; x/ O und f 0 .x/h Im Hinblick auf die hinreichende Bedingung erster Ordnung 6.4.4 heißt der Kegel O x/ L.S; O auch kritischer Kegel in x. O Beweis. Die KKT-Bedingungen für xO lauten: Es gibt einen Multiplikatorvektor 2 Rm mit i 0 .i D 1; : : : ; m0 /;
i D 0; falls gi .x/ O < 0;
und O C f 0 .x/
m X i D1
i gi0 .x/ O D 0> Rn :
Hieraus folgt unmittelbar F .x/ f .x/ .x 2 S/; F .x/ O D f .x/; O F 0 .x/ O D 0> Rn : Sei x 2 S und F .x/ D f .x/. Dann ist also m X
i gi .x/ D 0:
i D1
Wegen x 2 S muss einzeln gelten i gi .x/ D 0 .i D 1; : : : ; m/;
Abschnitt 6.4 Optimalitätsbedingungen zweiter Ordnung
363
woraus sofort folgt gi .x/ D 0, falls i > 0. Die übrigen Nebenbedingungen sind O Ist umgekehrt x 2 S, O so sind x 2 S und wegen x 2 S erfüllt. Also ist x 2 S. F .x/ D f .x/ unmittelbar ersichtlich. O x/ Damit hat auch der linearisierende Kegel L.S; O die angegebene Form. Der linearisierende Kegel von S in xO ist gleich ² n
L.S; x/ O D h2R W
gi0 .x/h O
´ 0; D0
³ falls gi .x/ O D 0; .i D 1; : : : ; m0 / : .i D m0 C 1; : : : ; m/
O x/. Sei h 2 L.S; O Dann ist auch h 2 L.S; x/. O Gemäß den KKT-Bedingungen und der Definition von L.SO ; x/ O ist O D f 0 .x/h
m X
i gi0 .x/h O D 0:
i D1
O D 0. Gemäß den KKT-Bedingungen ist Sei umgekehrt h 2 L.S; x/ O und f 0 .x/h
m X
i gi0 .x/h O D 0:
i D1
Nach Definition von L.S; x/ O muss einzeln gelten O D 0 .i D 1; : : : ; m/; i gi0 .x/h O x/. O D 0, falls i > 0. Damit ist h 2 L.S; O also gi0 .x/h Die folgende notwendige Bedingung zweiter Ordnung liefert Zusatzinformationen über lokale Optimalösungen. Gleichzeitig gibt sie uns Hinweise darauf, wie eine hinreichende Optimalitätsbedingung zweiter Ordnung aussehen könnte. Notwendige Bedingung 2. Ordnung 6.4.6. Sei xO ein lokales Minimum von f auf S . Die Funktionen f; g1 ; : : : ; gm seien zweimal Fréchet-differenzierbar in xO 2 S. Für xO mögen die KKT-Bedingungen gelten mit einem Multiplikatorvektor 2 Rm . Definiere die Teilmenge SO von S durch 8 ˆ
0; .i D 1; : : : ; m / > ; 0 .i D m C 1; : : : ; m/
364
Kapitel 6 Differenzierbare Optimierung
Der kritische Kegel in xO ist der zugehörige linearisierende Kegel 8 ˆ < O L.S; x/ O D h 2 Rn W ˆ : 9 8 > ˆ O D 0 und i D 0; .i D 1; : : : ; m0 / = 0; .i D 1; : : : ; m / D 0; falls gi .x/ > ˆ : 0 C 1; : : : ; m/ ; D0 .i D m O x/ Ist dann T .SO ; x/ O D L.SO ; x/, O so gilt für jedes h 2 L.S; O h
>
h
00
O C f .x/
m X
i i gi00 .x/ O h 0:
i D1
Beweis. Sei h 2 T .SO ; x/ O D L.SO ; x/. O Dann gibt es xi 2 SO ;
ti > 0 .i 2 N/
mit lim
i !1
xi xO D h; ti
lim ti D 0:
i !1
Damit folgt mit der Lagrange-Funktion F aus Satz 6.4.5 1 > 00 F .xi / F .x/ O F 0 .x/.x O i x/ O O D lim h F .x/h 2 i !1 2 ti f .xi / f .x/ O 0: 2 i !1 ti
D lim
Ersetzt man in dieser notwendigen Optimalitätsbedingung die Semidefinitheit auf dem kritischen Kegel durch positive Definitheit auf diesem Kegel, so erhält man die folgende hinreichende Bedingung zweiter Ordnung. Hinreichende Bedingung 2. Ordnung 6.4.7. Seien f; g1 ; : : : ; gm zweimal Fréchetdifferenzierbar in xO 2 S. Für xO mögen die KKT-Bedingungen gelten mit einem Multiplikatorvektor 2 Rm . Für jedes h 2 Rn n ¹0Rn º aus dem kritischen Kegel 8 ˆ < O x/ L.S; O D h 2 Rn W ˆ : 9 8 0/ > ˆ . x/ O D 0 und D 0; .i D 1; : : : ; m 0; falls g i i = < 0 0 O gi .x/h D 0; falls gi .x/ O D 0 und i > 0; .i D 1; : : : ; m / > ˆ ; : D0 .i D m0 C 1; : : : ; m/
365
Abschnitt 6.4 Optimalitätsbedingungen zweiter Ordnung
sei m i h X h> f 00 .x/ O C i gi00 .x/ O h > 0: i D1
Dann gibt es eine Umgebung U von xO und ˛ > 0 mit f .x/ f .x/ O C ˛kx xk O 2
.x 2 U \ S/:
Beweis. a) Wähle h 2 T .S; x/ O n ¹0Rn º beliebig, dann existiert also eine Folge xj 2 S und eine positive Nullfolge tj mit lim
j !1
xj xO D h; lim xj D x: O j !1 tj
Hieraus folgt gi .xj / gi .x/ O lim D gi0 .x/h O j !1 tj
´
0; D0
O D 0; .i D 1; : : : ; m0 / falls gi .x/ .i D m0 C 1; : : : ; m/:
O < 0, folgt hieraus Da .x; O / ein KKT-Punkt ist mit i D 0, falls gi .x/ f 0 .x/h O D
m X
i gi0 .x/h O 0:
i D1
Dies bedeutet, dass xO die notwendige Optimalitätsbedingung erster Ordnung 6.4.2 auf S erfüllt. b) Die behauptete Aussage sei falsch; dann gibt es zu jeder Kugel mit Mittelpunkt xO und Radius k1 und jedem ˛k WD k1 ein xk 2 S mit f .xk / f .x/ O
00 F .xk / F .x/ O F 0 .x/.x O k x/ O O D lim 0 h F .x/h 2 kxk xk O 2 k!1 O x/. im Widerspruch zur Definitheitsvoraussetzung auf L.S; O
6.5
Sensitivität
Wir betten jetzt das Optimierungsproblem (P) aus 6.4.1 ein in eine Schar gestörter Optimierungsprobleme, wobei ! 2 R als Störung interpretiert wird. Parametrische Optimierungsprobleme 6.5.1. Gegeben seien Funktionen f; g1 ; : : : ; gm W Rn R ! R: .P! /
Minimiere f .x; !/ unter den Nebenbedingungen x 2 Rn und
´ 0 gi .x; !/ D0
.i D 1; : : : ; m0 / .i D m0 C 1; : : : ; m/ Š
Zunächst wollen wir herausfinden, ob die KKT-Bedingungen erhalten bleiben für kleine Störungen des Referenzproblems .P!O /. xO D x.!/ O sei dazu ein zulässiger Punkt für .P!O / mit Multiplikatorvektor O D .!/. O Die KKT-Bedingungen für einen zulässigen Punkt x.!/ von .P! / mit Multiplikatorvektor .!/ lauten: X fx .x.!/; !/ C i .!/gix .x.!/; !/ D 0> Rn ; (6.31) i 2I.x.!// gi .x.!/; !/ D 0 .i 2 I.x.!///; gi .x.!/; !/ < 0 .i 2 ¹1; : : : ; m0 º n I.x.!///; ´ 0 .i D 1; : : : ; m0 /; i .!/ D 0; falls gi .x.!/; !/ < 0:
367
Abschnitt 6.5 Sensitivität
So lange sich die Struktur dieses Gleichungs- und Ungleichungssystems nicht wesentlich ändert, d. h. solange sich die Indexmenge I.x.!// der aktiven Nebenbedingungen lokal nicht ändert, steht uns der Satz über implizite Funktionen als analytisches Hilfsmittel zur Verfügung. Damit erhalten wir den folgenden Störungssatz. Darin bezeichnet X
L.x; ; !/ WD f .x; !/ C
i .!/gi .x; !/
i 2I.x.!//
die Lagrange-Funktion des parametrischen Problems. Partielle Funktionalmatrizen bezüglich x oder ! kennzeichnen wir durch Indizierung. So ist z. B. gix .x; !/ D 0 B Lxx .x; ; !/ D B @
@gi @gi .x; !/ .x; !/ ; @x1 @xn @2 L .x; ; !/ @x1 @x1
::: :: :
:: : @2 L .x; ; !/ : : : @xn @x1
@2 L .x; ; !/ @x1 @xn
1
C :: C: : A @2 L .x; ; !/ @xn @xn
Mit ‚ bezeichnen wir diverse passend dimensionierte Nullmatrizen. Störungssatz für das reduzierte System 6.5.2. O erfülle die KKT-Bedingungen. (i) .x; O / (ii) Die Funktionen f; g1 ; : : : ; gm seien zweimal stetig partiell differenzierbar in einer Umgebung von .x; O !/. O (iii) Die folgende Funktionalmatrix sei regulär: O !/ Lxx .x; O ; O
.gix .x; O !// O > i 2I.x/ O
.gix .x; O !// O i 2I.x/ O
‚
! :
Dann gibt es eine offene Kugelumgebung U 3 !, O eine Umgebung V 3 .x; O .O i /i 2I.x/ O / und genau eine Abbildung .x./; .i .//i 2I.x/ O / W U ! V mit x.!/ O D x; O
O D O i i .!/
.i 2 I.x// O
368
Kapitel 6 Differenzierbare Optimierung
derart, dass das reduzierte System (6.31) mit I.x.!// I.x/ O durch x.!/; .i .!//i 2I.x/ O
.! 2 U /
gelöst wird. x./; .i .//i 2I.x/ O sind auf U stetig partiell differenzierbar, und es ist O !/ Lxx .x; O ; O
.gix .x; O !// O > i 2I.x/ O
.gix .x; O !// O i 2I.x/ O
‚
!
O x! .!/ O i 2I.x/ .i! .!// O D
!
O !/ Lx! .x; O ; O .gi! .x; O !// O i 2I.x/ O
! :
Korollar 6.5.3. Gilt über die Voraussetzungen in 6.5.2 hinaus die strikte KomplemenO ist also für i D 1; : : : ; m0 taritätsbedingung für x; O , O i > 0;
falls gi .x; O !/ O D 0;
so erfüllen die Punkte x.!/; .!/
.! 2 UQ /
die KKT-Bedingungen für .P! / auf einer Umgebung UQ U von !O mit i .!/ WD 0
.i … I.x//; O
i .!/ > 0
.i 2 ¹1; : : : ; m0 º \ I.x//: O
Wir wissen damit noch nicht, ob die KKT-Punkte x.!/; .!/
.! 2 UQ /
Minimallösungen von .P! / sind. Hier hilft uns die hinreichende Optimalitätsbedingung 6.4.7 weiter. Sensitivitätssatz 6.5.4. (i) xO sei zulässig für das ungestörte Problem .P!O /. (ii) f; g1 ; : : : ; gm seien zweimal stetig partiell differenzierbar. (iii) Die Gradienten gix .x; O !/ O >
.i 2 I.x// O
aller in xO aktiven Restriktionen seien linear unabhängig.
369
Abschnitt 6.5 Sensitivität
O sei KKT-Punkt für .P!O /. Ist xO bereits lokal optimal, so folgt die Existenz (iv) .x; O / von O aus (iii). O sei die strikte Komplementaritätsbedingung erfüllt. (v) Für .x; O / (vi) Es sei O !/h h> Lxx .x; O ; O >0 für alle h 2 K.x; O !/ O mit h ¤ 0Rn , wobei wegen (v) O !/h O D 0 .i 2 I.x//º O K.x; O !/ O WD ¹h 2 Rn W gix .x; der kritische Kegel für xO ist. O und Dann gibt es eine offene Kugelumgebung U 3 !, O eine Umgebung V 3 .x; O / genau eine Abbildung .x./; .// W U ! V mit x.!/ O D x; O
.!/ O D O
derart, dass x.!/ strikte lokale Minimallösung von .P! / ist mit I.x.!// D I.x/ O für alle ! 2 U . x./ ist auf U stetig partiell differenzierbar, die partiellen Ableitungen der Kostenfunktion f .x./; / W U ! R sind fx .x.!/; !/x! .!/ C f! .x.!/; !/: Beweis. a) Partitioniere die im Störungssatz 6.5.2 auftretende Funktionalmatrix in der Form ! A B> B ‚ mit einer n n-Matrix A und einer jI.x/j O n-Matrix B.
370
Kapitel 6 Differenzierbare Optimierung
O Sei mit h 2 Rn ; z 2 RjI.x/j
A B> B ‚
!
h z
! D ‚:
Dann ist Bh D ‚, also h> B > z D 0; daher h> Ah D 0: Da A positiv definit ist auf dem Nullraum von B, ist h D ‚ und damit auch B > z D ‚: Da die Zeilen von B linear unabhängig sind, folgt noch z D ‚. Die obige Matrix ist also injektiv. Da sie quadratisch ist, ist sie regulär. Die Voraussetzungen des Störungssatzes 6.5.2 und des Korollars 6.5.3 sind also alle erfüllt. O und Daher gibt es eine offene Kugelumgebung UQ 3 !, O eine Umgebung V 3 .x; O / genau eine Abbildung .x./; .// W UQ ! V derart, dass die Punkte x.!/; .!/
.! 2 UQ /
KKT-Punkte für .P! / sind und auch alle die strikte Komplementaritätsbedingung mit I.x.!// D I.x/ O erfüllen. xO erfüllt auch die hinreichende Optimalitätsbedingung 6.4.7, ist also strikte lokale Minimallösung von .P!O /. b) Wir zeigen, dass es dann eine offene Kugelumgebung U UQ von !O geben muss, auf der x.!/ die hinreichende Optimalitätsbedingung zweiter Ordnung erfüllt. Da die Punkte .x.!/; .!// die strikte Komplementaritätsbedingung für ! 2 UQ erfüllen mit I.x.!// I.x/, O genügt es zu zeigen: Es gibt offene Kugelumgebung U UQ von !O derart, dass für alle ! 2 U h> Lxx .x.!/; .!/; !/h > 0 .h 2 K.x.!/; !/ n ¹0Rn º/; wobei K.x.!/; !/ D ¹h 2 Rn W gix .x.!/; !/h D 0 .i 2 I.x//º O der zugehörige kritische Kegel ist.
371
Abschnitt 6.5 Sensitivität
Wäre dies nicht der Fall, so gäbe es für jede Kugel ³ ² 1 UQ O < Uk D ! 2 R W k! !k k ein ! k 2 Uk und wenigstens ein hk 2 Rn n ¹0Rn º mit gix .x.! k /; ! k /hk D 0 .i 2 I.x//; O .hk /> Lxx .x.! k /; .! k /; ! k /hk 0: Offenbar ist O lim ! k D !;
k!1
lim x.! k / D x; O
k!1
O lim .! k / D :
k!1
Da die Einheitskugel bezüglich k k kompakt ist, kann man ein konvergente Teilfolge auswählen mit hkj D h; j !1 khkj k lim
khk D 1:
Aus Stetigkeitsgründen ist dann gix .x; O !/h O D lim gix .x.! kj /; ! kj / j !1
hkj D0 khkj k
.i 2 I.x//; O
.hkj /> hkj kj kj kj O !/h L 0 O ; O D lim .x.! /; .! /; ! / h> Lxx .x; xx j !1 khkj k khkj k im Widerspruch zur Voraussetzung (vi). Auf U ist x./ stetig partiell differenzierbar, daher folgt die letzte Behauptung aus der Kettenregel. Bemerkung 6.5.5. Gemäß Störungssatz 6.5.2 können die Sensitivitätsableitungen x! .!/, O i! .!/, O i2 I.x/, O durch Lösen eines linearen Gleichungssystems numerisch berechnet werden. Allerdings werden hierzu u. a. die zweiten Ableitungen Lxx und Lx! benötigt, die häufig nur numerisch berechnet werden können. Die Sensitivitätsableitungen können auch zur Berechnung von approximativen optimalen Lösungen in Echtzeit verwendet werden, vgl. etwa [24, 23].
Leider macht der Sensitivitätssatz keine Aussagen darüber, wie groß die Umgebungen U und V sind. Weicht ! zu stark vom Nominalwert !O ab, wird sich im Allgemeinen die Indexmenge I.x/ O ändern. Für diese Situation liefert der Satz keine Aussage.
372
Kapitel 6 Differenzierbare Optimierung
Die hinreichende Bedingung zweiter Ordnung in (vi) von Satz 6.5.4 bei gleichzeitiger Gültigkeit der strikten Komplementaritätsbedingung (v) besagt, dass die HesseMatrix der Lagrange-Funktion positiv definit auf dem Kern der aktiven Nebenbedingungen ist, d. h.
O !/h O ; O >0 h> Lxx .x;
für alle h 2 Rn ; h ¤ 0Rn mit Bh D ‚;
wobei jI.x/jn O B WD .gix .x; O !// O i 2I.x/ : O 2R
Sie kann numerisch wie folgt mit Hilfe einer QR-Zerlegung von B > überprüft werden: R > O O ; Q D Y Z 2 Rnn ; Y 2 RnjI.x/j ; Z 2 Rn.njI.x/j/ : B DQ ‚ O x/j O ist regulär, da die Spalten von B > als linear unabhängig vorausR 2 RjI.x/jjI. gesetzt sind, Q ist orthogonal, Y ist eine Orthonormalbasis des Bildes von B > , Z ist eine Orthonormalbasis von Bild.B > /? D Kern.B/. Jedes h 2 Kern.B/ kann also eindeutig dargestellt werden als h D ZhZ mit einem O . hZ 2 RnjI.x/j Damit ist die Aufgabe, die positive Definitheit von Lxx auf Kern.B/ zu überprüfen, äquivalent zur Überprüfung der reduzierten Hesse-Matrix O x/j/ O O !/Z Z > Lxx .x; O ; O 2 R.njI.x/j/.njI.
auf positive Definitheit.
6.6
Aufgaben
Aufgabe 6.6.1. Betrachten Sie das nichtlineare Optimierungsproblem Minimiere
x1
u. d. N.
.x1 4/2 C x22 16; .x1 3/2 C .x2 2/2 D 13 Š
Skizzieren Sie den zulässigen Bereich und bestimmen Sie alle KKT-Punkte. Welcher Punkt ist Optimalpunkt für das Optimierungsproblem? Aufgabe 6.6.2. Untersuchen Sie das folgende Optimierungsproblem auf lokale Minima: Minimiere
f .x1 ; x2 / WD 0:1.x1 4/2 C x22
u. d. N.
g.x1 ; x2 / WD 1 x12 x22 0 Š
373
Abschnitt 6.6 Aufgaben
Überprüfen Sie insbesondere die KKT-Bedingungen sowie die notwendigen und hinreichenden Bedingungen zweiter Ordnung. Aufgabe 6.6.3. Für gegeben:
p
2 sei die folgende Familie von Optimierungsproblemen
Minimiere
f .x1 ; x2 / WD .x1 C 1/2 .x2 C 1/2
u. d. N.
g1 .x1 ; x2 / WD x12 C x22 2 0; g2 .x1 ; x2 / WD x1 0 Š
Bestimmen Sie (gegebenenfalls mit Hilfe einer Skizze) die Lösungen x./ O und überprüfen Sie die notwendigen Bedingungen erster und zweiter Ordnung und die hinreichende Bedingung zweiter Ordnung. Aufgabe 6.6.4. Lösen Sie das nichtlineare Optimierungsproblem Minimiere
x12 C x22
u. d. N.
1 x1 0; 1 x12 x22 0 Š
(a) graphisch, (b) mit Hilfe der KKT-Bedingungen. Welche der besprochenen Regularitätsbedingungen sind im Optimum erfüllt? Aufgabe 6.6.5 (vgl. [53]). Gegeben seien die Funktionen 8 2 ˆ 1; c.x/ D 0; falls 1 x 1; ˆ : 2 ; falls x < 1; .x C 1/ und g1 .x1 ; x2 / D c.x1 / x2 , g2 .x1 ; x2 / D c.x1 / C x2 sowie die Menge S WD ¹.x1 ; x2 /> 2 R2 W g1 .x1 ; x2 / 0; g2 .x1 ; x2 / 0º: (a) Skizzieren Sie die Menge S und zeigen Sie, dass S konvex ist. (b) Betrachten Sie den Punkt x D .x1 ; x2 /> D .0; 0/. Zeigen Sie, dass in x die Slater-Bedingung nicht erfüllt ist, während die Bedingung von Abadie erfüllt ist. (c) Zeigen Sie, dass die Bedingung von Abadie im Punkt xO D .1; 0/> nicht erfüllt ist.
374
Kapitel 6 Differenzierbare Optimierung
Aufgabe 6.6.6. Bestimmen Sie den Tangentialkegel für die Mengen (a) ¹.x; y/> 2 R2 W y x 3 º, (b) ¹.x; y/> 2 R2 W x 0 oder y 0º, (c) ¹.x; y/> 2 R2 W x D 0 oder y D 0º, (d) ¹.r cos '; r sin '/> 2 R2 W 0 r 1; =4 ' 7 =4º: Aufgabe 6.6.7. Bestimmen Sie für den zulässigen Bereich S D ¹x 2 R2 W g.x/ 0º jeweils den Tangentialkegel T .S; x/ O und den linearisierenden Kegel L.S; x/ O im Punkt x: O (a) g.x/ D .x2 x15 ; x2 /> , xO D .0; 0/> . (b) g.x/ D .1 x1 ; 1 x12 x22 /> , xO D .1; 0/> . Sind die Gradientenbedingung (Linear Independence Constraint Qualification) und die Regularitätsbedingung von Mangasarian-Fromovitz in xO erfüllt? Aufgabe 6.6.8. Für f W Rn ! R, g W Rn ! Rm , h W Rn ! Rp und X Rn sei das primale Problem gegeben: Minimiere
f .x/
u. d. N.
g.x/ C s D 0Rm ; h.x/ D 0Rp ; .x; s/ 2 XO WD ¹.x; s/> 2 RnCm W x 2 X; s 0Rm º Š
Zeigen Sie, dass das duale Problem äquivalent ist zu max
0Rm ;2Rp
.; /;
.; / D inf ¹f .x/ C > g.x/ C > h.x/º: x2X
Hinweis: Das duale Problem ist formal wie in Kapitel 5 definiert. Aufgabe 6.6.9. Gegeben sei das primale Problem Minimiere
x1 x2
u. d. N.
2x1 C x2 6; .x1 ; x2 /> 2 X WD ¹.x1 ; x2 /> 2 N 2 W 2.x1 2/2 C .x2 2/2 1º Š
Berechnen Sie die duale Zielfunktion ./ explizit und lösen Sie das duale Problem. Hinweis: Das duale Problem ist formal wie in Kapitel 5 definiert.
375
Abschnitt 6.6 Aufgaben
Aufgabe 6.6.10. Seien c; z 2 Rn gegebene Vektoren. Lösen Sie das folgende Optimierungsproblem mit Hilfe des dualen Problems: Minimiere
1 f .x/ D kx zk22 C c > x 2
u. d. N.
x 0Rn Š
Hinweis: Das duale Problem ist formal wie in Kapitel 5 definiert. Aufgabe 6.6.11. Zu den Parametern y D .y1 ; : : : ; ym /> und z D .z1 ; : : : ; zp /> sei das folgende parametrische Optimierungsproblem gegeben: Minimiere
f .x/
u. d. N.
gi .x/ yi 0
.i D 1; : : : ; m/;
hj .x/ zj D 0
.j D 1; : : : ; p/ Š
O / Es sei .x; O ; O ein KKT-Punkt des Nominalproblems zu den Nominalparametern yO D .yO1 ; : : : ; yOm /> D 0Rm und zO D .zO 1 ; : : : ; zOp /> D 0Rp . Zeigen Sie mit Hilfe des Sensitivitätssatzes (die Voraussetzungen des Satzes seien erfüllt), dass die folgenden Beziehungen gelten: @f .x.y; z// ˇˇ D O > ; ˇ .y;z/D.y; O z/ O @y @f .x.y; z// ˇˇ D O > : ˇ .y;z/D.y; O z/ O @z Die Lagrange-Multiplikatoren geben also die Sensitivität der Zielfunktion bezüglich Änderungen in den Nebenbedingungen an! Aufgabe 6.6.12. Vorgelegt sei das parametrische Optimierungsproblem (P! )
Minimiere p 1 1 x1 C !4 !4 x2 2 2 unter den Nebenbedingungen x 2 R2 und x1 C 0:1 !1 ; x2 !2 ; x1 C x2 1 !3 Š
Hierin sei ! 2 R4 ein Störungsvektor mit kleiner Norm k!k.
376
Kapitel 6 Differenzierbare Optimierung
Lösen Sie das Referenzproblem (P0R4 ) mittels der KKT-Bedingungen, und berechnen Sie die Ableitungen der Minimalwertfunktion @f .x.!/; !/ @f .x.!/; !/ @f .x.!/; !/ @f .x.!/; !/ .0R4 /; .0R4 /; .0R4 /; .0R4 / @!1 @!2 @!3 @!4 im Referenzpunkt ! D 0R4 . x.!/ sei dabei die Minimallösung von (P! ) mit zugehörigem Multiplikatorvektor .!/ für kleine k!k. Versuchen Sie, mittels der KKTBedingungen oder durch explizite Lösung der Probleme (P! ) sämtliche Ableitungen @ @x .0 4 /; .0 4 / @! R @! R zu berechnen.
Kapitel 7
Verfahren der nichtlinearen Optimierung
Nachdem in Kapitel 6 die Theorie restringierter nichtlinearer Optimierungsprobleme behandelt wurde, werden in diesem Kapitel numerische Verfahren vorgestellt. Hierbei ist unser Ziel, die Konzepte und prinzipiellen Funktionsweisen einiger typischer Verfahren für differenzierbare, restringierte Optimierungsverfahren darzustellen, ohne auf zu viele Details einzugehen. Die in diesem Kapitel vorgestellten Verfahren können insbesondere zur effizienten Lösung der in Kapitel 8 behandelten diskreten dynamischen Optimierungsprobleme verwendet werden. Diese sind für das Operations Research besonders wichtig und können häufig wegen ihrer sehr großen Komplexität nicht mit der Methode der dynamischen Programmierung gelöst werden. Nichtlineare Optimierungsprobleme besitzen aber auch eine eigenständige Bedeutung für das Operations Research, da viele Entscheidungsprobleme nichtlinear sind. In den letzten Jahrzehnten wurden zahlreiche Verfahren zur Lösung restringierter Optimierungsprobleme entwickelt, darunter die nachfolgenden Reduktionsverfahren, Verfahren der sequentiellen quadratischen Programmierung, Innere-Punkte-Verfahren, Projektionsverfahren, Verfahren der zulässigen Richtungen, Penalty-Verfahren und Multiplier-Methoden. Darüber hinaus gibt es sehr viele Verfahren, die sich speziell mit unrestringierten Optimierungsverfahren beschäftigen. Für eine komplette Darstellung verweisen wir auf die umfangreiche Spezialliteratur zu diesem Thema [42, 13, 154, 52, 53, 126, 3, 85]. Nichtdifferenzierbare Probleme werden beispielsweise in [146, 79, 80, 53, 4] behandelt. Die nachfolgenden Verfahren arbeiten allesamt iterativ, wobei die erzeugten Folgen von Näherungslösungen im Falle der Konvergenz in der Regel nur gegen lokale Minima konvergieren und im Allgemeinen nicht geeignet sind, globale Minima zu bestimmen. Die Bestimmung globaler Minima für nichtkonvexe Probleme ist ein Thema für sich und wird ausführlich im Buch [82] behandelt. Reduktionsmethoden werden in Abschnitt 7.1 nur kurz angesprochen, sie sollen nur die Idee vermitteln, dass es immer sinnvoll ist, das Problem vor der numerischen Lösung so weit wie möglich zu vereinfachen. Das Verfahren der zulässigen Richtungen aus Abschnitt 7.2 ist ein Vertreter so genannter zulässiger Verfahren, bei denen alle Iterierten zulässig sind. Bei der Konstruktion von Abstiegsrichtungen werden wesentliche Teile des Beweises der notwendigen Optimalitätsbedingungen in Abschnitt 6.3 verwendet. Da es für komplizierte Nebenbedingungen in der Regel sehr schwierig ist, einen zulässigen Startpunkt zu
378
Kapitel 7 Verfahren der nichtlinearen Optimierung
bestimmen, kommen Verfahren der zulässigen Richtungen nur für bestimmte Optimierungsprobleme in Frage. Projektionsverfahren in Abschnitt 7.3 sind immer dann angebracht, wenn die Projektion auf den zulässigen Bereich leicht durchführbar ist, etwa bei Boxschranken oder affin-linearen Restriktionen. In der Praxis haben sich Verfahren der sequentiellen quadratischen Programmierung (SQP) bewährt und gehören zu den am häufigsten verwendeten Methoden. SQPVerfahren nutzen das Konzept der lokalen Approximation des Ausgangsproblems durch eine Folge von linear-quadratischen Optimierungsproblemen, vgl. [75, 133, 142, 143]. Die SQP-Verfahren aus Abschnitt 7.5 sind eine Erweiterung des LagrangeNewton-Verfahrens aus Abschnitt 7.4, welches auf der Anwendung des Newton-Verfahrens auf die KKT-Bedingungen für gleichungsrestringierte Probleme beruht und lokale quadratische Konvergenz ermöglicht. Da diese schnelle Konvergenz im Allgemeinen nur lokal in der Nähe eines lokalen Minimums auftritt, sind für die Praxis so genannte Globalisierungstechniken unverzichtbar. Globalisierungstechniken dienen der Vergrößerung des Konvergenzbereichs und sollen die Konvergenz von weit entfernten Startpunkten aus ermöglichen. Gängige Globalisierungsstrategien verwenden Vertrauensbereiche (Trust-Regions), Liniensuchverfahren für Bewertungsfunktionen oder Filtermethoden. Trust-Region-Verfahren werden ausführlich in dem sehr umfangreichen Buch [29] behandelt und basieren auf der Verwendung von Vertrauensbereichen, in denen lokale Approximationen gültig sind und deren Größe iterativ angepasst wird. Filtermethoden sind ein relativ neues Konzept der Globalisierung, vgl. [45, 46], das Ideen aus der Paretooptimierung verwendet, um die Güte einer Approximation zu bewerten. Wir stellen hier nur Liniensuchverfahren für Bewertungsfunktionen ausführlicher dar, da sie auch die eigenständigen Penalty-Verfahren in Abschnitt 7.6 und Multiplier-Penalty-Verfahren in Abschnitt 7.8 motivieren. Auf Grund der Bedeutung von linear-quadratischen Optimierungsproblemen als Hilfsproblem in SQP-Verfahren und auch anderen Verfahren, aber auch weil sie eine eigenständige Bedeutung z. B. in der Portfoliooptimierung haben, wird in Abschnitt 7.5.3 exemplarisch eine primale aktive Mengenstrategie zur Lösung von konvexen linear-quadratischen Optimierungsproblemen vorgestellt, vgl. hierzu auch die Arbeiten [55, 56] und [64] für eine duale aktive Mengenstrategie. In Abschnitt 7.7 erläutern wir das Arbeitsprinzip von Innere-Punkte-Verfahren wegen deren Aktualität und großen Bedeutung in der Praxis. Innere-Punkte-Verfahren wurden bereits in [40] betrachtet, dann zwischenzeitlich wenig beachtet und erfuhren eine starke Wiederbelebung mit dem Nachweis der polynomialen Laufzeit für lineare Optimierungsprobleme in [91]. Heute werden Innere-Punkte-Verfahren sehr erfolgreich in verschiedenen Varianten für lineare, quadratische und nichtlineare Optimierungsprobleme eingesetzt, vgl. [169, 163, 164]. In der Praxis spielt neben den mathematischen Eigenschaften eines Verfahrens auch immer dessen konkrete Implementierung eine große Rolle. Insbesondere hängt die
379
Abschnitt 7.1 Reduktionsmethoden
Leistungsfähigkeit einer Software immer auch davon ab, wie gut sie mit Unwägbarkeiten wie
schlechter Kondition und Rangdefiziten,
schlechter Skalierung,
schlechten Startwerten,
fehlerbehafteten Ableitungen,
großen und dünn besetzten Problemen
zurecht kommt. Für die Behandlung dieser Probleme gibt es keine Patentrezepte, und in leistungsfähigen Softwarepaketen finden sich daher viele Heuristiken, auf die wir hier nicht eingehen möchten.
7.1
Reduktionsmethoden
Reduktionsmethoden basieren auf der Idee, Restriktionen aufzulösen, wann immer dies möglich ist. Wir schildern die Grundidee dieser Verfahren anhand der speziellen Problemklasse: Optimierungsproblem 7.1.1. f W Rn ! R sei stetig partiell differenzierbar, A eine reelle m n-Matrix vom Rang m und b 2 Rm . Minimiere f .x/ unter den Nebenbedingungen Ax D b Š Mittels Householder-Reduktion von A> erhalten wir die Faktorisierung R R > D Y Z D YR A DQ ‚ ‚ mit unitärer n n-Matrix Q, regulärer oberer m m-Dreiecksmatrix R, n m-Matrix Y und n .n m/-Matrix Z. Aus der linearen Algebra ist bekannt, dass Y eine Orthonormalbasis des Bildes von A> und Z eine Orthonormalbasis des Kerns von A ist. Insbesondere lässt sich die zulässige Menge S D ¹x 2 Rn W Ax D bº schreiben als S D ¹xQ C Z˛ W ˛ 2 Rnm º ; wobei xQ eine spezielle Lösung ist mit AxQ D b:
380
Kapitel 7 Verfahren der nichtlinearen Optimierung
Wir berechnen ein solches x. Q Die Nebenbedingungen liefern Y > xQ D R> Y > x: b D AxQ D AQQ> xQ D R> ‚ Q Z > xQ Diese Gleichung ist durch xQ D Y .R> /1 b erfüllt, da Y aus orthonormalen Spaltenvektoren besteht. Damit erhalten wir Reduktionsmethode 7.1.2. Mit den durch obige Householder-Reduktion gewonnenen Matrizen wird das Optimierungsproblem 7.1.1 äquivalent zu: Minimiere F .˛/ D f .Y .R> /1 b C Z˛/ unter der Nebenbedingung ˛ 2 Rnm Š Dieses Problem kann durch jeden Algorithmus für unrestringierte Optimierungsprobleme gelöst werden, z. B. mit dem Gradienten- oder Newton-Verfahren. Die gegebenenfalls benötigten ersten Ableitungen O D F 0 .˛/
@f O Z .Y .R> /1 b C Z ˛/ @x
bzw. zweiten Ableitungen O D Z> F 00 .˛/
@2 f .Y .R> /1 b C Z ˛/ O Z @x 2
heißen auch reduzierte Ableitungen. Bezeichnet man mit rF bzw. rf die Gradienten bezüglich ˛ bzw. x und mit r 2 F bzw. r 2 f die Hesse-Matrix bezüglich ˛ bzw. x, so ist rF .˛/ O D Z > rf .Y .R> /1 b C Z ˛/; O r 2 F .˛/ O D Z > r 2 f .Y .R> /1 b C Z ˛/Z: O
7.2
Methode der zulässigen Richtungen
Wir schildern die Idee dieser Verfahren am Beispiel der Minimierung einer differenzierbaren Funktion f auf einer konvexen Menge S.
381
Abschnitt 7.2 Methode der zulässigen Richtungen
hk
Ausgehend von einem zulässigen x k 2 S bestimmt man eine zulässige Richtung in x k , d. h. ein hk 2 Rn , zu dem ein > 0 existiert mit x k C t hk 2 S
.t 2 Œ0; /:
hk wird dabei möglichst so gewählt, dass rf .x k /> hk < 0 ausfällt, damit hk lokale Abstiegsrichtung in x k ist. x kC1 gewinnt man durch eindimensionale Minimierung von f .x k C t hk / für t 2 Œ0; . Wir betrachten das folgende differenzierbare Optimierungsproblem 7.2.1. X sei eine abgeschlossene konvexe Teilmenge des Rn , f; g1 ; : : : ; gm seien reelle, stetig partiell differenzierbare Funktionen auf einer offenen Obermenge von X. Minimiere f .x/ unter den Nebenbedingungen x 2 X und gi .x/ 0 .i D 1; : : : ; m/ Š Durch Analyse der Beweise der Fritz John-Bedingungen 6.3.2 bzw. 6.3.3 erhält man die folgenden Sätze, die grundlegend für die Verfahren der zulässigen Richtungen sind. Satz 7.2.2. Sei xO zulässig für 7.2.1, und das System rf .x/ O > h < 0; gi .x/ O C rgi .x/ O >h < 0
.i D 1; : : : ; m/;
xO C h 2 X besitze eine Lösung h. Dann existiert ein 2 .0; 1 mit xO C t h 2 X; gi .xO C t h/ < 0 f .xO C t h/ < f .x/ O für alle t 2 .0; .
.i D 1; : : : ; m/;
382
Kapitel 7 Verfahren der nichtlinearen Optimierung
Satz 7.2.3. Sei xO zulässig für 7.2.1, und das System rf .x/ O > h < 0; gi .x/ O C rgi .x/ O >h < 0
.i D 1; : : : ; m/;
xO C h 2 X besitze keine Lösung. Dann gibt es .0 ; / 2 R1Cm n ¹0R1Cm º mit i 0 i D 0; O >h C 0 rf .x/
m X
falls gi .x/ O < 0; i rgi .x/ O >h 0
.i D 0; 1; : : : ; m/; .i D 1; : : : ; m/; .h 2 RC .X x//: O
i D1
Die folgenden Korollare folgen aus der Lagrangeschen Multiplikatorenregel 5.3.19. Korollar 7.2.4. Sind über die Voraussetzungen in 7.2.3 hinaus f; g1 ; : : : ; gm konvex auf X und ist der Multiplikator 0 > 0 wählbar, so ist xO Optimallösung von 7.2.1. Korollar 7.2.5. f; g1 ; : : : ; gm seien konvex auf X, und die Slater-Bedingung sei erfüllt. xO sei zulässig für 7.2.1. Dann ist xO Optimallösung von 7.2.1 genau dann, wenn das System rf .x/ O > h < 0; gi .x/ O C rgi .x/ O >h < 0
.i D 1; : : : ; m/;
xO C h 2 X keine Lösung besitzt. Dieses Resultat ist die Grundlage des Verfahrens aus [49], das in [171], [173] weiterentwickelt wurde, vgl. auch [172]. Wir betrachten den folgenden konzeptionellen Algorithmus zur Lösung des Problems 7.2.1. Methode der zulässigen Richtungen 7.2.6. S sei die Menge der zulässigen Punkte von 7.2.1, > 0 und ˛ > 0 seien fest gewählt. Jedem x 2 S werde die Indexmenge I˛ .x/ D ¹i 2 I W ˛ gi .x/º zugeordnet, wobei I D ¹1; : : : ; mº.
383
Abschnitt 7.2 Methode der zulässigen Richtungen
(0) Berechne x 0 2 S und setze k WD 0. (1) Berechne eine Lösung hk des Problems .Pk / Minimiere max¹rf .x k /> h; gi .x k / C rgi .x k /> h
.i 2 I˛ .x k //º
unter den Nebenbedingungen x k C h 2 X; khk Š (2) Falls der Wert von .Pk / nicht negativ ist, dann beende das Verfahren. (3) Berechne eine Lösung x kC1 des Problems .PQ k / Minimiere f .x/ unter den Nebenbedingungen ® ¯ x 2 x k C t hk W 0 t 1 ; x2SŠ (4) Setze k WD k C 1 und gehe zu (1). Anmerkungen. (i) Die Probleme .Pk / können als lineare Programme gedeutet werden, wenn kk D k k1 und X eine konvexe polyedrische Menge ist. (ii) Die zusätzliche Restriktion khk in .Pk / erübrigt sich, wenn X kompakt ist. (iii) Die Hilfsprobleme .Pk / und .PQ k / besitzen stets Optimallösungen. Für den angegebenen Algorithmus gilt folgender Konvergenzsatz, der eine leichte Modifikation des Konvergenzsatzes aus [17] ist. Konvergenzsatz 7.2.7. Bricht die durch den Algorithmus 7.2.6 erzeugte Folge .x k /kD0;1;2;::: mit der Iterierten xO ab, so erfüllt xO die Fritz John-Bedingung, d. h. es gibt .0 ; / 2 R1Cm n ¹0R1Cm º
384
Kapitel 7 Verfahren der nichtlinearen Optimierung
mit i 0
.i D 0; 1; : : : ; m/;
i D 0; falls gi .x/ O < 0; O >h C 0 rf .x/
m X
i r gi .x/ O >h 0
.i D 1; : : : ; m/;
.h 2 RC .X x//: O
i D1
Bricht diese Folge nicht ab, so ist jeder Häufungspunkt xO dieser Folge zulässig für das Problem 7.2.1 und erfüllt ebenfalls die Fritz John-Bedingung. Beweis. i) Die Folge breche mit xO ab. Dann ist xO 2 S , und das System rf .x/ O > h < 0; gi .x/ O C rgi .x/ O > h < 0 .i 2 I˛ .x//; O xO C h 2 X; khk besitzt keine Lösung. Aus Satz 7.2.3 folgt, dass xO die (lokale) Fritz John-Bedingung erfüllt. ii) Der Algorithmus erzeuge eine unendliche Folge, und xO sei Häufungspunkt dieser Folge. Da S abgeschlossen ist, gilt xO 2 S . Wegen khk k
.k D 0; 1; 2; : : :/
besitzt die Folge .hk /kD0;1;2;::: O ebenfalls einen Häufungspunkt h. k zulässig für .P Q Da x k / und f stetig ist, folgt f .x kC1 / f .x k /
.k D 0; 1; 2; : : :/;
O lim f .x k / D f .x/:
k!1
iii) O. B. d. A. sei lim x k D x; O
k!1
O lim hk D h:
k!1
Wegen der Abgeschlossenheit von X gilt xO C hO 2 X;
O : khk
385
Abschnitt 7.2 Methode der zulässigen Richtungen
Wir zeigen: O gi .x/ max¹rf .x/ O > h; O C rgi .x/ O > hO .i 2 I0 .x//º O 0: Andernfalls gäbe es nach Satz 7.2.2 eine Zahl t 2 .0; 1 mit O h; gi .x/ O C rgi .x/ O > h .i 2 I /º min max¹rf .x/
xCh2X O khk
O gi .x/ O C rgi .x/ O > hO .i 2 I0 .x//º: O max¹rf .x/ O > h;
Andernfalls gäbe es ein hN mit xO C hN 2 X;
N khk
und eine Folge hN k mit x k C hN k 2 X;
khN k k ;
lim hN k D hN
k!1
(im Falle hN ¤ 0Rn wähle z. B. xO C hN x k min¹; kxO C hN x k kº/; hN k D kxO C hN x k k so dass aus Stetigkeitsgründen gilt max¹rf .x k /> hN k ; gi .x k / C rgi .x k /> hN k .i 2 I /º O < max¹rf .x k /> hk ; gi .x k / C rgi .x k /> hk .i 2 I0 .x//º für alle hinreichend großen k 2 N.
386
Kapitel 7 Verfahren der nichtlinearen Optimierung
Wegen limk!1 x k D xO und x k 2 S .k 2 N/ gilt ˛ gi .x k / 0 .i 2 I0 .x//; O es ist also I0 .x/ O I˛ .x k / für alle hinreichend großen k 2 N. Hieraus folgt schließlich für hinreichend große k 2 N max¹rf .x k /> hN k ; gi .x k / C rgi .x k /> hN k .i 2 I˛ .x k //º max¹rf .x k /> hN k ; gi .x k / C rgi .x k /> hN k .i 2 I /º < max¹rf .x k /> hk ; gi .x k / C rgi .x k /> hk .i 2 I0 .x//º O max¹rf .x k /> hk ; gi .x k / C rgi .x k /> hk .i 2 I˛ .x k //º im Widerspruch dazu, dass hN k zulässig für .Pk / und hk Optimallösung von .Pk / ist. v) Nach iii) und iv) besitzt das System rf .x/ O > h < 0; gi .x/ O C rgi .x/ O >h < 0
.i 2 I /;
xO C h 2 X; khk keine Lösung. Aus Satz 7.2.3 folgt dann, dass xO die (lokale) Fritz John-Bedingung erfüllt. Ist die Menge ¹x 2 S W f .x/ f .x 0 /º kompakt, so besitzt die Folge .x k /kD0;1;2;::: natürlich einen Häufungspunkt, wenn sie nicht abbricht. Mit Hilfe der Korollare 7.2.4 und 7.2.5 kann man entscheiden, ob xO wirklich Optimallösung ist. Nach 7.2.5 ist dies der Fall, falls f; g1 ; : : : ; gm konvex sind auf X und ein x 2 X existiert mit gi .x/ < 0
.i 2 I /:
Besitzt in dieser Situation das Problem 7.2.1 genau eine Optimallösung, so konvergiert die Folge .x k /kD0;1;2;::: selbst gegen diese Optimallösung. Varianten des Verfahrens und implementierbare Versionen findet man in [171], [130], [17]. Wir testen Algorithmus 7.2.6 nun an Beispielen, wobei wir die folgenden implementierbaren Einschränkungen in Algorithmus 7.2.6 vornehmen:
387
Abschnitt 7.2 Methode der zulässigen Richtungen
(i) Die Menge X habe die Gestalt X WD ¹x 2 Rn W Ax b; x 0Rn º mit der m n-Matrix A und b 2 Rm . (ii) Das Problem .Pk / in Schritt (1) wird wie folgt umgeschrieben: Minimiere unter den Nebenbedingungen h 2 Rn , 2 R und rf .x k /> h ; gi .x k / C rgi .x k /> h
.i 2 I˛ .x k //;
x k C h 2 X; khk1 " Š (iii) Die exakte eindimensionale Liniensuche in Schritt (3) wird durch ein modifiziertes Armijo-Verfahren ersetzt, bei dem neben der Abstiegsbedingung auch die Zulässigkeit von x k C t hk überprüft wird: Algorithmus 7.2.8 (Modifiziertes Armijo-Verfahren). (0) Gegeben sei ein ˇ 2 .0; 1/ und ein 2 .0; 1=2/. Setze t D 1. (1) Falls die Bedingungen f .x k C t hk / f .x k / C t rf .x k /> hk ; x k C t hk 2 S erfüllt sind, setze tk WD t und beende das Verfahren. Andernfalls gehe zu (2). (2) Setze t WD ˇ t und gehe zu (1). Mit diesen Anpassungen wählen wir " D 1, ˛ D 103 , D 103 , ˇ D 0:5 und D .0; 0/> und testen den Algorithmus an den folgenden Beispielen.
x0
Beispiel 7.2.9. Gegeben seien 1 f .x1 ; x2 / D .x12 C x22 4x1 x2 / x1 ; 2 g1 .x1 ; x2 / D 100 .x1 12/2 x22 ; 0 1 10 AD ; bD : 1 0 12 Das Optimum wird in xO D .12; 10/> angenommen. Abbildung 7.1 zeigt die vom Algorithmus berechneten Iterierten.
388
Kapitel 7 Verfahren der nichtlinearen Optimierung
Abbildung 7.1. Iterierte der Methode der zulässigen Richtungen.
Ausgabe des Algorithmus: ====================================================================================== ITER T F(X) G(X) X1 X2 H1 H2 ====================================================================================== 1 0.100E+01 -0.500E+00 -0.210E+02 0.100E+01 0.000E+00 0.100E+01 0.000E+00 2 0.100E+01 -0.200E+01 -0.220E+02 0.100E+01 0.100E+01 0.000E+00 0.100E+01 3 0.100E+01 -0.600E+01 -0.400E+01 0.200E+01 0.200E+01 0.100E+01 0.100E+01 4 0.250E+00 -0.731E+01 -0.125E+00 0.225E+01 0.225E+01 0.100E+01 0.100E+01 5 0.781E-02 -0.736E+01 -0.793E-02 0.226E+01 0.226E+01 0.100E+01 0.100E+01 6 0.488E-03 -0.736E+01 -0.626E-03 0.226E+01 0.226E+01 0.100E+01 0.100E+01 7 0.100E+01 -0.963E+01 -0.359E+01 0.236E+01 0.326E+01 0.993E-01 0.100E+01 8 0.250E+00 -0.114E+02 -0.525E+00 0.261E+01 0.351E+01 0.100E+01 0.100E+01 9 0.312E-01 -0.116E+02 -0.159E+00 0.264E+01 0.354E+01 0.100E+01 0.100E+01 10 0.781E-02 -0.116E+02 -0.681E-01 0.265E+01 0.355E+01 0.100E+01 0.100E+01 11 0.391E-02 -0.117E+02 -0.228E-01 0.265E+01 0.355E+01 0.100E+01 0.100E+01 12 0.195E-02 -0.117E+02 -0.168E-03 0.265E+01 0.355E+01 0.100E+01 0.100E+01 13 0.100E+01 -0.146E+02 -0.401E+01 0.287E+01 0.455E+01 0.222E+00 0.100E+01 14 0.250E+00 -0.167E+02 -0.185E+01 0.312E+01 0.480E+01 0.100E+01 0.100E+01 15 0.125E+00 -0.179E+02 -0.862E+00 0.325E+01 0.493E+01 0.100E+01 0.100E+01 16 0.625E-01 -0.184E+02 -0.392E+00 0.331E+01 0.499E+01 0.100E+01 0.100E+01 17 0.312E-01 -0.187E+02 -0.163E+00 0.334E+01 0.502E+01 0.100E+01 0.100E+01 18 0.156E-01 -0.189E+02 -0.500E-01 0.336E+01 0.504E+01 0.100E+01 0.100E+01 19 0.391E-02 -0.189E+02 -0.219E-01 0.336E+01 0.504E+01 0.100E+01 0.100E+01 20 0.195E-02 -0.189E+02 -0.787E-02 0.336E+01 0.504E+01 0.100E+01 0.100E+01 21 0.977E-03 -0.189E+02 -0.858E-03 0.337E+01 0.504E+01 0.100E+01 0.100E+01 22 0.100E+01 -0.233E+02 -0.540E+01 0.370E+01 0.604E+01 0.336E+00 0.100E+01 23 0.100E+01 -0.351E+02 -0.289E+01 0.470E+01 0.704E+01 0.100E+01 0.100E+01 24 0.100E+01 -0.488E+02 -0.438E+01 0.570E+01 0.804E+01 0.100E+01 0.100E+01 25 0.100E+01 -0.646E+02 -0.987E+01 0.670E+01 0.904E+01 0.100E+01 0.100E+01 26 0.100E+01 -0.821E+02 -0.185E+02 0.770E+01 0.100E+02 0.100E+01 0.956E+00 27 0.100E+01 -0.949E+02 -0.109E+02 0.870E+01 0.100E+02 0.100E+01 0.000E+00 28 0.100E+01 -0.107E+03 -0.528E+01 0.970E+01 0.100E+02 0.100E+01 0.000E+00 29 0.100E+01 -0.117E+03 -0.169E+01 0.107E+02 0.100E+02 0.100E+01 0.000E+00 30 0.100E+01 -0.127E+03 -0.890E-01 0.117E+02 0.100E+02 0.100E+01 0.000E+00 31 0.100E+01 -0.130E+03 0.000E+00 0.120E+02 0.100E+02 0.298E+00 0.000E+00 ABBRUCHKRITERIUM ERREICHT! X = 0.120000000000000E+02 0.1000000000000000E+02 H = 0.298268630399873E+00 0.0000000000000000E+00 T = 1.00000000000000 F = -130.000000000000 G = 0.000000000000000E+000 ======================================================================================
389
Abschnitt 7.2 Methode der zulässigen Richtungen
Wir modifizieren obiges Beispiel, indem die zweite Nebenbedingung in A vernachlässigt wird. Beispiel 7.2.10. Gegeben seien 1 f .x1 ; x2 / D .x12 C x22 4x1 x2 / x1 ; 2 g1 .x1 ; x2 / D 100 .x1 12/2 x22 ; A D . 0 1 /;
b D .10/ :
Das Optimimum wird in xO D .21; 10/> angenommen. Abbildung 7.2 zeigt die vom Algorithmus berechneten Iterierten. Am Ende der Ausgabe oszilliert die Suchrichtung zwischen den Richtungen .1; 0/> und .1; 0/> , wobei die Schrittweite t sehr klein ist. Allerdings befindet sich der Algorithmus schon nahezu in der Lösung.
Abbildung 7.2. Iterierte der Methode der zulässigen Richtungen.
Ausgabe des Algorithmus: ====================================================================================== ITER T F(X) G(X) X1 X2 H1 H2 ====================================================================================== 1 0.100E+01 -0.500E+00 -0.210E+02 0.100E+01 0.000E+00 0.100E+01 0.000E+00 2 0.100E+01 -0.200E+01 -0.220E+02 0.100E+01 0.100E+01 0.000E+00 0.100E+01 3 0.100E+01 -0.600E+01 -0.400E+01 0.200E+01 0.200E+01 0.100E+01 0.100E+01 4 0.250E+00 -0.731E+01 -0.125E+00 0.225E+01 0.225E+01 0.100E+01 0.100E+01 5 0.781E-02 -0.736E+01 -0.793E-02 0.226E+01 0.226E+01 0.100E+01 0.100E+01 ... 50 51 52 53 54 55 ...
0.763E-05 0.381E-05 0.191E-05 0.954E-06 0.477E-06 0.238E-06
-0.170E+03 -0.170E+03 -0.170E+03 -0.170E+03 -0.170E+03 -0.170E+03
-0.810E+02 -0.810E+02 -0.810E+02 -0.810E+02 -0.810E+02 -0.810E+02
0.210E+02 0.210E+02 0.210E+02 0.210E+02 0.210E+02 0.210E+02
0.100E+02 0.100E+02 0.100E+02 0.100E+02 0.100E+02 0.100E+02
0.100E+01 -0.100E+01 0.100E+01 -0.100E+01 0.100E+01 -0.100E+01
0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00
390
7.3
Kapitel 7 Verfahren der nichtlinearen Optimierung
Projektionsverfahren
Wir schildern einen möglichen Zugang zur Klasse der Projektionsverfahren für das Optimierungsproblem 7.3.1. X sei eine nichtleere, abgeschlossene und konvexe Teilmenge des Rn , f W X ! R sei stetig partiell differenzierbar. Minimiere f .x/ unter der Nebenbedingung x 2 X ! Projektionsverfahren verwenden Projektionen auf den zulässigen Bereich X. Da X nichtleer, abgeschlossen und konvex ist, existiert nach dem Projektionssatz für jedes z 2 Rn genau ein zQ 2 X mit kz zk Q 2 kz xk2
.x 2 X /:
Hierbei bezeichnet k k2 die euklidische Norm im Rn . Dieser Punkt zQ heißt Projektion von z auf X, die Abbildung prX W Rn ! X;
prX .z/ D zQ
.z 2 Rn /;
heißt Projektion auf X. Wir beschränken uns im Folgenden auf Projektionsverfahren, die das Verfahren des steilsten Abstiegs (Gradientenverfahren) verwenden. Dabei berechnet man, ausgehend von einem zulässigen x k 2 X, die Projektion xQ k D prX .x k rf .x k //: Dann wird xQ k x k als Suchrichtung in x k gewählt und x kC1 durch eindimensionale Minimierung von f .x k C t .xQ k x k // bezüglich t 2 Œ0; 1 bestimmt. Die auf diese Weise erzeugte zulässige Richtung xQ k x k ist sogar lokale Abstiegsrichtung für f in x k , sofern sie nicht Null ist, d. h. solange xQ k ¤ x k ausfällt. Projektionsverfahren 7.3.2. (0) Berechne einen Startpunkt x 0 2 X , setze k WD 0. (1) Berechne xQ k D prX .x k rf .x k //: (2) Ist xQ k D x k , so beende das Verfahren.
391
Abschnitt 7.3 Projektionsverfahren
(3) Berechne x kC1 D x k C tk .xQ k x k / mit 0 tk 1 und f .x kC1 / f .x k C t .xQ k x k //
.0 t 1/:
Setze k WD k C 1 und gehe zu (1). Für dieses konzeptionelle Verfahren gilt folgender Konvergenzsatz 7.3.3. Bricht der Algorithmus 7.3.2 nach endlich vielen Schritten mit x k ab, so gilt @f k .x /.x x k / 0 .x 2 X /: @x Andernfalls liefert er eine unendliche Folge .x k /kD0;1;2;::: mit f .x 0 / > f .x 1 / > > f .x k / > f .x kC1 / > : Jeder Häufungspunkt x ? der Folge .x k /kD0;1;2;::: erfüllt @f ? .x /.x x ? / 0 @x
.x 2 X /:
Beweis. a) Der Algorithmus breche mit x k ab, dann muss gelten xQ k D prX .x k rf .x k // D x k : Nach dem Projektionssatz wissen wir .x k rf .x k / xQ k /> .x xQ k / 0
.x 2 X /:
Wegen xQ k D x k erhalten wir rf .x k /> .x x k / 0
.x 2 X /:
b) Ist xQ k ¤ x k , so folgt durch Einsetzen von x WD x k .x k rf .x k / xQ k /> .x k xQ k / 0; d. h. rf .x k /> .xQ k x k / kx k xQ k k22 < 0:
392
Kapitel 7 Verfahren der nichtlinearen Optimierung
Also existiert ein k 2 .0; 1 mit f .x k C t .xQ k x k // < f .x k /
.0 < t k /:
Dann ist auch f .x kC1 / < f .x k /; es handelt sich also um ein Abstiegsverfahren. Bricht die Iteration nie ab, so folgt f .x k / > f .x kC1 / .k D 0; 1; 2; : : :/: c) Die Iteration breche nicht ab, und x ? sei Häufungspunkt von .x k /kD0;1;2;::: . Dann gibt es also eine Teilfolge .x kj /j D0;1;2;::: mit lim x kj D x ? :
j !1
Da f stetig in x ? ist, ist auch lim f .x kj / D f .x ? /:
j !1
Die Folge .f .x kj //j D0;1;2;::: ist monoton fallend, daher ist f .x ? / D inf¹f .x kj / W j 2 N0 º: Da die gesamte Folge .f .x k //kD0;1;2;::: monoton fällt und .x kj /j D0;1;2;::: Teilfolge von .x k /kD0;1;2;::: ist, folgt f .x ? / D inf¹f .x kj / W j 2 N0 º D inf¹f .x k / W k 2 N0 º D lim f .x k /: k!1
Also konvergiert die ganze Wertefolge lim f .x k / D f .x ? /:
k!1
d) Für die restlichen Aussagen vgl. [53, S. 300–302], wobei die eindimensionale Minimierung approximativ mittels der Armijo-Regel durchgeführt wird. Für Modifikationen der Gradientenprojektionsverfahren vgl. man [136], [137], [89], [129], [130], [65], [62], [63], [117], [33]. Zusammenhänge mit Fixpunktmethoden, insbesondere mit Kontraktionsverfahren, finden sich in [17] und [53].
393
Abschnitt 7.4 Lagrange-Newton-Verfahren
7.4
Lagrange-Newton-Verfahren
Wir wollen das folgende nichtlineare Optimierungsproblem lösen, indem wir das Newton-Verfahren auf die KKT-Bedingungen anwenden. Dies funktioniert, wenn nur Gleichungsrestriktionen vorhanden sind. Optimierungsproblem 7.4.1. f; g1 ; : : : ; gm W Rn ! R seien gegebene zweimal stetig differenzierbare Funktionen. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und gi .x/ D 0 .i D 1; : : : ; m/ Š
O 2 RnCm für das Problem (P) erfüllt die Bedingungen Ein KKT-Punkt .x; O / O D 0Rn ; rx L.x; O / gi .x/ O D0
.i D 1; : : : ; m/;
wobei L.x; / D f .x/ C > g.x/ wieder die Lagrange-Funktion und rx L den Gradienten bezüglich des Arguments x bezeichnen. O Mit F W Rn Rm ! Dies ist ein nichtlineares Gleichungssystem für xO und . nCm und R 1 0 g1 .x/ rx L.x; / C B F .x; / D ; g.x/ D @ ::: A g.x/ gm .x/ lautet es O D 0 nCm : F .x; O / R
(7.2)
Das Lagrange-Newton-Verfahren basiert auf der Anwendung des Newton-Verfahrens zur Bestimmung einer Nullstelle von F . Lagrange-Newton-Verfahren 7.4.2. (0) Wähle Startschätzungen x 0 2 Rn und 0 2 Rm , " > 0 und setze k D 0. (1) Falls kF .x k ; k /k ", STOP.
394
Kapitel 7 Verfahren der nichtlinearen Optimierung
(2) Löse das lineare Gleichungssystem d rx L.x k ; k / Lxx .x k ; k / g 0 .x k /> D v g.x k / g 0 .x k / ‚
(7.3)
und setze x kC1 WD x k C d;
kC1 WD k C v:
(7.4)
(3) Setze k WD k C 1 und gehe zu (1). Der folgende lokale Konvergenzsatz für das Newton-Verfahren enthält die Standardvoraussetzungen für lokale superlineare bzw. quadratische Konvergenz. Lokaler Konvergenzsatz für das Lagrange-Newton-Verfahren 7.4.3. O sei Lösung des Gleichungssystems (7.2). (i) .x; O / (ii) f; g1 ; : : : ; gm seien zweimal stetig differenzierbar. (iii) Die Funktionalmatrix
O g 0 .x/ O / O > Lxx .x; 0 g .x/ O ‚
(7.5)
sei regulär. O so dass die durch das Lagrange-NewtonDann existiert eine Umgebung U von .x; O /, k k Verfahren 7.4.2 erzeugte Folge ..x ; //k2N0 für alle Startwerte .x 0 ; 0 / 2 U wohlO konvergiert. definiert ist und superlinear gegen .x; O / 00 Sind die zweiten Ableitungen f ./ und gi00 ./ .i D 1; : : : ; m/ sogar Lipschitz-stetig, so ist die Konvergenz quadratisch. In Teil a) vom Beweis des Sensitivitätssatzes 6.5.4 wurde folgendes Lemma bereits bewiesen: Lemma 7.4.4. Sind die Gradienten O rgi .x/
.i D 1; : : : ; m/
linear unabhängig und gilt O >0 h> Lxx .x; O /h für alle h 2 Rn mit h 6D 0Rn und O D0 gi0 .x/h so ist die Matrix (7.5) regulär.
.i D 1; : : : ; m/;
395
Abschnitt 7.5 Sequentielle Quadratische Programmierung
Interessanterweise ist die zweite Bedingung in Lemma 7.4.4 hinreichend für lokale Optimalität eines KKT-Punkts, wie wir in der hinreichenden Optimalitätsbedingung 6.4.7 gesehen haben. Die erste Bedingung ist die bekannte Gradientenbedingung 6.3.12, welche garantiert, dass in einem lokalen Minimum die KKT-Bedingungen und nicht nur die Fritz John-Bedingungen gelten. Beispiel 7.4.5. Gegeben sei das folgende Optimierungsproblem. Minimiere
2x14 C x24 C 4x12 x1 x2 C 6x22
u. d. N.
g.x1 ; x2 / D 2x1 x2 C 4 D 0; x1 ; x2 2 R Š
Die Hesse-Matrix der Lagrange-Funktion lautet Lxx .x; / D
1 24x12 C 8 1 12x22 C 12
:
Lxx ist symmetrisch und strikt diagonaldominant und damit positiv definit. Der Rang von g 0 .x1 ; x2 / D . 2 1 / ist eins. Damit ist das Lagrange-Newton-Verfahren wohldefiniert. Es liefert folgende Ausgabe: K X1 X2 LAMBDA F |G| KKT ====================================================================================== 0 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.4000000E+01 0.0000000E+00 1 -0.1769231E+01 0.4615385E+00 0.7307692E+01 0.3425678E+02 0.0000000E+00 0.4430580E+02 2 -0.1452392E+01 0.1095216E+01 0.1660806E+02 0.2756373E+02 0.0000000E+00 0.5155006E+01 3 -0.1467844E+01 0.1064313E+01 0.1904961E+02 0.2754452E+02 0.0000000E+00 0.1497799E-01 4 -0.1467948E+01 0.1064104E+01 0.1905680E+02 0.2754452E+02 0.0000000E+00 0.6772438E-06 5 -0.1467948E+01 0.1064104E+01 0.1905680E+02 0.2754452E+02 0.0000000E+00 0.7944109E-14
7.5
Sequentielle Quadratische Programmierung
Die sequentielle quadratische Programmierung (SQP) kann als Erweiterung des Lagrange-Newton-Verfahrens auf Optimierungsprobleme mit Gleichungen und Ungleichungen interpretiert werden. SQP-Verfahren werden z. B. in [75, 133, 59, 156, 142, 143, 3, 53] behandelt. Es existieren diverse Implementierungen, vgl. [144, 100, 58, 57]. Eine aktuelle Implementierung für sehr große, dünn besetzte Optimierungsprobleme findet sich auf der Internetseite www.worhp.de.
7.5.1 Lokale Konvergenz der SQP-Methode Wir starten zunächst mit folgender Beobachtung: Das lineare Gleichungssystem (7.3) in Schritt (2) des Lagrange-Newton-Verfahrens entsteht auch auf andere Art. Hierzu betrachten wir das gleichungsrestringierte Optimierungsproblem 7.4.1 und approximieren es lokal im Punkt .x k ; k / durch das quadratische Optimierungsproblem
396
Kapitel 7 Verfahren der nichtlinearen Optimierung
Minimiere 1 > d Lxx .x k ; k /d C f 0 .x k /d 2 unter den Nebenbedingungen d 2 Rn und g.x k / C g 0 .x k /d D 0Rm Š Auswertung der notwendigen Bedingungen erster Ordnung für dieses quadratische Optimierungsproblem führt auf
Lxx .x k ; k / g 0 .x k /> g 0 .x k / ‚
d
D
rf .x k / g.x k /
bzw. nach Subtraktion von g0 .x k /> k auf beiden Seiten der ersten Gleichung auf
Lxx .x k ; k / g 0 .x k /> g 0 .x k / ‚
d k
D
rx L.x k ; k / g.x k /
:
(7.6)
Ein Vergeich von (7.6) mit (7.3) zeigt, dass diese zwei Gleichungssysteme identisch sind, wenn man noch v WD k definiert. Aus (7.4) folgt, dass die neuen Iterierten dann durch x kC1 WD x k C d;
kC1 WD k C v D
gegeben sind, wobei Lagrange-Multiplikator des quadratischen Hilfsproblems ist. Wir wollen nun auch Ungleichungsrestriktionen zulassen und betrachten dazu das Optimierungsproblem 7.5.1. f; g1 ; : : : ; gm W Rn ! R seien gegebene zweimal stetig differenzierbare Funktionen. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und gi .x/ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
Die Vorbetrachtungen motivieren die lokale Approximation des Problems (P) in .x k ; k ) durch ein
Abschnitt 7.5 Sequentielle Quadratische Programmierung
397
Quadratisches Optimierungsproblem 7.5.2. Seien x k 2 Rn und k 2 Rm gegeben. .Px k ;k /
Minimiere 1 > d Lxx .x k ; k /d C f 0 .x k /d 2 bezüglich d 2 Rn unter den Nebenbedingungen gi .x k / C gi0 .x k /d 0
.i D 1; : : : ; m0 /;
gi .x k / C gi0 .x k /d D 0
.i D m0 C 1; : : : ; m/ Š
Sukzessive quadratische Approximation liefert dann das lokale SQP-Verfahren: Lokales SQP-Verfahren 7.5.3. (0) Wähle Startwerte x 0 2 Rn und 0 2 Rm und setze k D 0. (1) Falls .x k ; k / ein KKT-Punkt von 7.5.1 ist, STOP. (2) Berechne einen KKT-Punkt .d k ; kC1 / 2 RnCm des quadratischen Optimierungsproblems .Px k ;k /. (3) Setze x kC1 WD x k C d k , k WD k C 1 und gehe zu (1). Anmerkungen. i) Die Indexmenge I.x/ O der in einer lokalen Minimallösung xO aktiven Ungleichungsrestriktionen braucht man nicht zu kennen. ii) Die Iterierten sind nicht mehr notwendig zulässig für das Ausgangsproblem 7.5.1. iii) Zur Lösung der quadratischen Probleme gibt es gute Algorithmen, vgl. dazu auch Abschnitt 7.5.3. Lokaler Konvergenzsatz für das SQP-Verfahren 7.5.4. (i) Sei xO lokale Optimallösung des Optimierungsproblems 7.5.1. (ii) f , gi .i D 1; : : : ; m/ seien zweimal stetig differenzierbar mit Lipschitz-stetigen zweiten Ableitungen f 00 , gi00 .i D 1; : : : ; m/. (iii) Die Gradienten rgi .x/ O .i 2 I.x// O der in xO aktiven Restriktionen seien linear unabhängig. O > 0 für alle i D 1; : : : ; m0 (iv) Die strikte Komplementaritätsbedingung O i gi .x/ O der unter der Voraussetzung (iii) gemäß 6.3.11 sei erfüllt für den Multiplikator , existiert.
398
Kapitel 7 Verfahren der nichtlinearen Optimierung
(v) Es gelte die hinreichende Bedingung zweiter Ordnung: O >0 O /h h> Lxx .x; für alle h 2 Rn mit h 6D 0Rn und gi0 .x/h O D 0 .i 2 I.x//. O O so dass alle quadraO und V von .0Rn ; /, Dann existieren Umgebungen U von .x; O / tischen Optimierungsprobleme .Px k ;k / für beliebige Startwerte .x 0 ; 0 / 2 U in V eine eindeutige lokale Lösung d k mit eindeutigen Multiplikatoren kC1 besitzen. O O /. Des Weiteren konvergiert die Folge ..x k ; k //k2N0 lokal quadratisch gegen .x; Beweis. Wir führen den Beweis mit Hilfe des Sensitivitätssatzes 6.5.4, um zu zeigen, dass die Indexmenge der aktiven Beschränkungen in einer Umgebung der Lösung konstant bleibt. Dann geht das SQP-Verfahren lokal in das Lagrange-NewtonVerfahren über, welches nach Satz 7.4.3 unter den genannten Voraussetzungen quadratisch konvergiert. a) Wir betrachten .Px k ;k / als Schar parametrischer quadratischer OptimierungsO O D .x; O /. probleme und .Px; O / als ungestörtes Problem mit Referenzparameter ! O Des Weiteren bemerken wir, dass die KKT-Bedingungen für .PwO / mit dO D 0Rn und O ein KKT-Punkt von für Optimierungsproblem 7.5.1 übereinstimmen. Also ist .0Rn ; / .PwO /. Die Voraussetzungen (iii)–(v) garantieren, dass die Voraussetzungen des Sensitivitätssatzes 6.5.4 in dO D 0Rn erfüllt sind. Dieser liefert dann die Existenz hinreichend O so dass .P! / in V genau eine kleiner Umgebungen UQ von !O und V von .0Rn ; /, lokale Minimallösung d.!/ mit Multiplikator .!/ für jedes ! 2 UQ besitzt. Dabei ist .d.!/; .!// stetig differenzierbar bezüglich ! auf UQ . Zudem ändert sich die Indexmenge der aktiven Nebenbedingungen von .P! / in der Umgebung UQ nicht, d. h. dort gilt I.x/ O D IP!O .0Rn / D IP! .d.!//; wobei IP! .d / die Indexmenge der aktiven Restriktionen von .P! / in d bezeichnet. b) Für ! k 2 UQ stimmen nach a) die SQP-Iterierten und die Iterierten des LagrangeNewton-Verfahrens, angewendet auf das reduzierte Problem Minimiere
f .x/ u. d. N.
gi .x/ D 0 .i 2 I.x// O Š
O ergänzen. überein, wenn wir noch ki D 0 für i … I.x/ c) Es bezeichne UO den Konvergenzbereich des Lagrange-Newton-Verfahrens für das reduzierte Problem in b). Für ! 0 2 U WD UQ \ UO bleiben dann alle Iterierten O in dieser ! k D .x k ; k / des Lagrange-Newton-Verfahrens mit ki D 0 .i … I.x// Umgebung.
Abschnitt 7.5 Sequentielle Quadratische Programmierung
399
Nach a) ist die in V gelegene Lösung .d.! k /; .! k // von .P! k / eindeutig für 2 U und nach b) fallen SQP-Iteration und Lagrange-Newton-Iteration zusammen. Unter den Voraussetzungen (i)–(v) liefert Satz 7.4.3 dann die lokale quadratische O mit k WD 0 .i … I.x//. Konvergenz der Folge ..x k ; k //k2N0 gegen .x; O / O i
!k
Die Verwendung der exakten Hesse-Matrix Lxx der Lagrange-Funktion im quadratischen Optimierungsproblem .Px k ;k / hat zwei Nachteile:
In vielen Anwendungen ist die Hesse-Matrix nicht explizit bekannt. Die numerische Approximation durch finite Differenzen ist sehr aufwändig und ungenau.
Die Hesse-Matrix kann indefinit sein. Dies erschwert die Lösung der quadratischen Hilfsprobleme erheblich, da sie dann nicht konvex sind. Es ist daher wünschenswert, die Hesse-Matrix durch eine positiv definite Matrix zu ersetzen.
In der Praxis wird die Hesse-Matrix der Lagrange-Funktion in Iteration k durch eine geeignete Matrix Hk ersetzt. Powell [133] schlug vor, die modifizierte BFGS-UpdateFormel HkC1 D Hk C
q k .q k /> Hk d k .d k /> Hk .q k /> d k .d k /> Hk d k
(7.7)
mit d k D x kC1 x k ; q k D k y k C .1 k /Hk d k ; y k D rx L.x kC1 ; k / rx L.x k ; k /; ´ 1; falls .d k /> y k 0:2.d k /> Hk d k ; k D k > k 0:8.d / Hk d sonst .d k /> H d k .d k /> y k k
zu verwenden. Diese Update-Formel garantiert, dass HkC1 symmetrisch und positiv definit bleibt, wenn Hk symmetrisch und positiv definit war. Für k D 1 entsteht die bekannte BFGS-Formel, die bei Quasi-Newton-Verfahren verwendet wird. Durch die Verwendung der modifizierten BFGS-Update-Formel geht leider die lokal quadratische Konvergenz verloren, jedoch kann immerhin noch eine lokal superlineare Konvergenz erreicht werden.
7.5.2 Globalisierung der SQP-Methode Das Konvergenzresultat 7.5.4 zeigt, dass das SQP-Verfahren für alle Startwerte, die in einer hinreichend kleinen Umgebung eines Minimums liegen, lokal konvergent ist. In der Praxis ist diese Umgebung jedoch unbekannt und kann sehr klein sein. Daher ist es notwendig, das SQP-Verfahren zu globalisieren, so dass es unter geeigneten
400
Kapitel 7 Verfahren der nichtlinearen Optimierung
Bedingungen für beliebige Startwerte konvergiert. Dies wird durch Einführung einer Schrittweite (oder eines Dämpfungsfaktors) tk > 0 erreicht. Die neue Iterierte ist dann gegeben durch x kC1 D x k C tk d k ; wobei d k das folgende quadratische Hilfsproblem .Px k / löst, in dem die Hesse-Matrix der Lagrange-Funktion durch eine BFGS-Updateformel ersetzt wurde. Quadratisches Optimierungsproblem 7.5.5. Sei x k 2 Rn gegeben. .Px k /
Minimiere 1 > d Hk d C f 0 .x k /d 2 bezüglich d 2 Rn unter den Nebenbedingungen gi .x k / C gi0 .x k /d 0
.i D 1; : : : ; m0 /;
gi .x k / C gi0 .x k /d D 0
.i D m0 C 1; : : : ; m/ Š
Zur Bestimmung der Schrittweite tk wird eine eindimensionale Liniensuche in Richtung d k durchgeführt. Hierbei gilt es zu entscheiden, wann die neue Iterierte x kC1 „besser“ als x k ist. Im unrestringierten Fall kann diese Frage leicht durch einen Vergleich der Zielfunktionswerte beantwortet werden: x kC1 ist besser als x k , wenn f .x kC1 / < f .x k / gilt. Im restringierten Fall ist dies nicht mehr so einfach, da die Iterierten x k des SQPVerfahrens im Allgemeinen unzulässig sind. Eine Verbesserung kann also sowohl bezüglich der Zielfunktionswerte als auch bezüglich der Verletzung der Nebenbedingungen gemessen werden. Dies führt auf so genannte Bewertungsfunktionen (penalty function, merit function). Anhand der Werte der Bewertungsfunktion wird es möglich zu entscheiden, ob die neue Iterierte x kC1 im folgenden Sinne „besser“ ist als die alte Iterierte x k . Dabei wird die neue Iterierte als besser angesehen, falls entweder ein hinreichender Abstieg in der Zielfunktion f oder eine weniger starke Verletzung der Nebenbedingungen erreicht wird, wobei sich das jeweils andere Kriterium nicht substantiell verschlechtern darf. Eine allgemeine Klasse von Bewertungsfunktionen wird durch Pr .xI / WD f .x/ C r.x/
(7.8)
definiert, wobei > 0 ein Gewichtungsparameter und r W Rn ! Œ0; 1/ eine stetige Funktion mit der Eigenschaft r.x/ D 0
”
x2S
bezeichnet. Dabei ist S die zulässige Menge des Optimierungsproblems 7.5.1.
401
Abschnitt 7.5 Sequentielle Quadratische Programmierung
Beispiel 7.5.6 (Bewertungsfunktion). Eine typische Bewertungsfunktion für das Optimierungsproblem 7.5.1, die auf der 1-Norm basiert, ist die `1 -Bewertungsfunktion: m0 X
`1 .xI / WD f .x/ C
m X
max¹0; gi .x/º C
jgi .x/j :
i Dm0 C1
i D1
Beachte, dass unzulässige Punkte x … S durch die Terme 0
m X
max¹0; gi .x/º C
m X
jgi .x/j > 0
i Dm0 C1
i D1
bestraft werden. Allgemeinere Bewertungsfunktionen basieren auf der q-Norm, 1 q < 1, gemäß m0 m X 1=q X .max¹0; gi .x/º/q C jgi .x/jq `q .xI / WD f .x/ C i D1
i Dm0 C1
bzw. auf der 1-Norm, gemäß `1 .xI / WD f .x/ C max¹0; g1 .x/; : : : ; gm0 .x/; jgm0 C1 .x/j; : : : ; jgm .x/jº: Von besonderem Interesse sind die so genannten exakten Bewertungsfunktionen. Definition 7.5.7 (Exakte Bewertungsfunktion). Die Bewertungsfunktion Pr .xI / in (7.8) heißt exakt in einem lokalen Minimum xO des Optimierungsproblems 7.5.1, falls es einen endlichen (!) Parameter O > 0 gibt, so dass xO ein lokales Minimum von Pr .I / für alle O ist. Lokale Minima des restringierten Ausgangsproblems 7.5.1 sind also auch lokale Minima einer exakten Bewertungsfunktion bei endlichem Parameter . Die Umkehrung muss jedoch nicht gelten. Ein Ansatz zur Lösung des restringierten Problems 7.5.1 besteht dann darin, die restringierte Minimierungsaufgabe durch die unrestringierte Minimierung einer exakten Bewertungsfunktion zu ersetzen. Leider kann gezeigt werden, dass die Bewertungsfunktion Pr .xI / aus (7.8) in einem lokalen Minimum xO nicht differenzierbar ist, falls sie exakt ist und rf .x/ O 6D 0Rn n gilt. Beachte, dass die Bedingung rf .x/ O 6D 0R der Normalfall in der restringierten Optimierung ist.
402
Kapitel 7 Verfahren der nichtlinearen Optimierung
3 2
250 200 150 100 50 0 -6
y
1 0 -1
-4
-2 x
0
2
4
6 -3
-2
-1
0
1
2
3
-2
y
-3 -6
-4
-2
0
2
4
6
2
4
6
x
3 2
800 700 600 500 400 300 200 100 0 -6
y
1 0 -1
-4
-2 x
0
2
4
6 -3
-2
-1
0
1
2
3
-2
y
-3 -6
-4
-2
0 x
3 2
12000 10000 8000 6000 4000 2000 0 -6
y
1 0 -1
-4
-2 x
0
2
4
6 -3
-2
-1
0
1
2 y
3
-2 -3 -2
-1.5
-1
-0.5
0 x
0.5
1
1.5
2
Abbildung 7.3. 3D-Darstellung (links) und Höhenlinien (rechts) der `1 -Bewertungsfunktion für D 1 (oben), D 28=5 (Mitte) und D 100 (unten). Die Lösung des restringierten Problems ist xO D .3=5; 1=5/> .
Abschnitt 7.5 Sequentielle Quadratische Programmierung
403
Beispiel 7.5.8. Abbildung 7.3 zeigt die `1 -Bewertungsfunktion für verschiedene Werte von für das Optimierungsproblem 7.5.1 mit den Daten m0 D 2, m D 3 und f .x; y/ D .x 2/2 C .y 3/2 ; g1 .x; y/ D y C 2x 2 2; g2 .x; y/ D x 2 y 1; g3 .x; y/ D y C
x 1 : 2 2
Die optimale Lösung ist gegeben durch xO D
3 5 1 5
!
mit Lagrange-Multiplikator O D .0; 0; 28=5/> . Die Ungleichungsrestriktionen g1 und g2 sind nicht aktiv in x. O Der folgende Satz sagt aus, dass die Bewertungsfunktionen `q für 1 q 1 exakt sind, wenn eine Regularitätsbedingung gilt, vgl. [53, S. 225]. Satz 7.5.9. Sei xO 2 S isoliertes lokales Minimum des Optimierungsproblems 7.5.1, welches die Regularitätsbedingung von Mangasarian-Fromovitz erfüllt. Dann ist `q exakt für 1 q 1. Satz 7.5.9 legt es nahe, das restringierte Optimierungsproblem durch das unrestringierte Minimierungsproblem min `q .xI /
x2Rn
mit hinreichend großem > 0 zu ersetzen. Diese Idee wird im SQP-Verfahren ausgenutzt, um eine Schrittweite t mittels eindimensionaler Liniensuche für `q .x k Ct d k I / durchzuführen. Im Folgenden beschränken wir uns auf die `1 -Bewertungsfunktion. Wie oben erwähnt, ist die `1 -Bewertungsfunktion nicht differenzierbar. Allerdings ist sie immerhin noch richtungsdifferenzierbar, d. h. der Grenzwert `1 .x C ˛d I / `1 .xI / ˛!0C ˛
`01 .xI /.d / WD lim
existiert für alle x 2 Rn , d 2 Rn , und es gilt folgender Satz, den man leicht nachrechnet, vgl. [53, S. 252]:
404
Kapitel 7 Verfahren der nichtlinearen Optimierung
Satz 7.5.10. Seien f und gi .i D 1; : : : ; m/ stetig differenzierbar. Die Richtungsableitung der exakten `1 -Bewertungsfunktion in x 2 Rn in Richtung d 2 Rn ist gegeben durch X rgi .x/> d `01 .xI /.d / D rf .x/> d C C
X 1im0 Wg
C
1im0 Wgi .x/>0
max¹0; rgi .x/> d º
i .x/D0
X
rgi .x/> d
m0 C1imWgi .x/>0
X
rgi .x/> d
m0 C1imWgi .x/ d j:
m0 C1imWgi .x/D0
Das SQP-Verfahren sei bis zur Iteration k fortgeschritten, und d k sei die optimale Lösung des QP-Hilfsproblems .Px k /. Falls nun `01 .x k I /.d k / < 0 gilt und d k somit eine Abstiegsrichtung von `1 in x k ist, kann eine eindimensionale Liniensuche für die Funktion '.t / WD `1 .x k C t d k I /
.t 0/
durchgeführt werden. Tatsächlich ist die Lösung d k des QP-Hilfsproblems unter bestimmten Bedingungen eine Abstiegsrichtung von `1 in x k , vgl. [53], Satz 5.3.6. Satz 7.5.11. Sei .d k ; kC1 / mit d k 6D 0Rn ein KKT-Punkt des quadratischen Hilfsproblems .Px k / mit symmetrischer, positiv definiter Matrix Hk . Des Weiteren gelte kC1 kC1 max¹kC1 ; : : : ; kC1 1 m0 ; jm0 C1 j; : : : ; jm jº:
(7.9)
Dann gilt `01 .x k I /.d k / .d k /> Hk d k < 0; d. h. d k ist Abstiegsrichtung von `1 in x k . Beweis. Zur Vereinfachung seien d WD d k 6D 0Rn , x WD x k und WD kC1 . Aus den KKT-Bedingungen des quadratischen Teilproblems erhalten wir f 0 .x/d D d > Hk d
m X i D1
i gi0 .x/d:
405
Abschnitt 7.5 Sequentielle Quadratische Programmierung
Die Komplementaritätsbedingungen liefern i gi0 .x/d D i gi .x/ .i D 1; : : : ; m0 /: Aus den Nebenbedingungen des QP-Hilfsproblems folgt gi0 .x/d gi .x/
.i D 1; : : : ; m0 /;
i gi0 .x/d D i gi .x/ .i D m0 C 1; : : : ; m/: Einsetzen dieser Beziehungen in `01 .xI /.d / und Ausnutzen der Nebenbedingungen des QP-Hilfsproblems liefert nach einiger Rechnung X 0 `01 .xI /.d / d > Hk d C gi .x/d C i gi .x/ 1im0 Wgi .x/>0
X
C
gi0 .x/d C i gi .x/
m0 C1imWgi .x/>0
X
gi0 .x/d i gi .x/ :
m0 C1imWgi .x/ Hk d C
1im0 Wgi .x/>0
X
C
m0 C1imWgi .x/>0
X
m0 C1imWgi .x/0
. / gi .x/ „ iƒ‚ … „ƒ‚… 0
>0
.i / gi .x/ „ ƒ‚ … „ƒ‚… 0
d Hk d: Satz 7.5.11 zeigt, wie gewählt werden muss, damit d k 6D 0Rn eine Abstiegsrichtung ist. Im Fall d k D 0Rn sind bereits die KKT-Bedingungen des Ausgangsproblems erfüllt. Man wird iterativ anpassen müssen, damit (7.9) erfüllt ist, etwa in der Form: kC1 kC1 ; : : : ; kC1 kC1 WD max¹kC1 1 m0 ; jm0 C1 j; : : : ; jm jº C ";
wobei " 0 ist.
(7.10)
406
Kapitel 7 Verfahren der nichtlinearen Optimierung
Insgesamt erhalten wir das globale SQP-Verfahren: Globales SQP-Verfahren 7.5.12. (0) Wähle Startwerte .x 0 ; 0 / 2 Rn Rm , H0 2 Rnn symmetrisch und positiv definit, ˇ 2 .0; 1/, 2 .0; 1/, und setze k D 0. (1) Falls .x k ; k / ein KKT-Punkt des Optimierungsproblems 7.5.1 ist, STOP. (2) QP-Hilfsproblem: Berechne einen KKT-Punkt .d k ; kC1 / 2 Rn Rm des quadratischen Hilfsproblems .Px k /. (3) Passe gemäß (7.10) an. (4) Armijo-Regel: Bestimme eine Schrittweite tk WD max¹ˇ j W j 2 ¹0; 1; 2; : : :º und `1 .x k C ˇ j d k I / `1 .x k I / C ˇ j `01 .x k I /.d k /º: (5) Modifizierter BFGS-Update: Berechne HkC1 gemäß der Update-Formel (7.7). (6) Setze x kC1 WD x k C tk d k , k WD k C 1 und gehe zu (1). Beispiel 7.5.13. Betrachte das „Hexagon-Problem“, vgl. [58]: Minimiere f .x/ D x2 x6 C x1 x7 x3 x7 x5 x8 C x4 x9 C x3 x8 unter den Nebenbedingungen x 2 R9 , x1 0;
1 x3 1;
x5 0;
x6 0;
x7 0;
x8 0;
und x2 x1 0;
x3 x2 0;
x3 x4 0;
x4 x5 0
x9 0
Abschnitt 7.5 Sequentielle Quadratische Programmierung
407
sowie x12 C x62 1; .x2 x1 /2 C .x7 x6 /2 1; .x3 x1 /2 C x62 1; .x1 x4 /2 C .x6 x8 /2 1; .x1 x5 /2 C .x6 x9 /2 1; x22 C x72 1; .x3 x2 /2 C x72 1; .x4 x2 /2 C .x8 x7 /2 1; .x2 x5 /2 C .x7 x9 /2 1; .x4 x3 /2 C x82 1; .x5 x3 /2 C x92 1; x42 C x82 1; .x4 x5 /2 C .x9 x8 /2 1; x52 C x92 1 Š Startschätzung: x 0 D .0:1; 0:125; 2=3; 0:142857; 1=9; 0:2; 0:25; 0:2; 0:25/> : Die Startschätzung der Multiplikatoren ist Null. An der Ausgabe des SQP-Verfahrens sieht man sehr schön die superlineare Konvergenz in den letzten Iterationen des Verfahrens: -------------------------------- SQP VERSION 1.4 (C) Matthias Gerdts, UniBW Muenchen, 2010 ------------------------NUMBER OF VARIABLES NUMBER OF CONSTRAINTS METHOD MERIT FUNCTION MULTIPLIER UPDATE RULE OPTIMALITY TOLERANCE FEASIBILITY TOLERANCE LINE SEARCH PARAMETER MAXIMUM NUMBER OF ITERATIONS INFINITY ROUNDOFF TOLERANCE REAL WORK SPACE PROVIDED INTEGER WORK SPACE PROVIDED
: : : : : : : : : : : : :
9 18 SEQUENTIAL QUADRATIC PROGRAMMING (SQP) L1-PENALTY FUNCTION POWELL 0.149E-07 0.100E-11 SIGMA= 0.100E+00 BETA= 0.900E+00 10000 0.100E+21 0.300E-12 5338 NEEDED : 5338 82 NEEDED : 82
------------------------------------------------------------------------------------------------------------------ITER QPIT T OBJ NB KKT PEN |D| DELTA ------------------------------------------------------------------------------------------------------------------0 0 0.0000E+00 -0.3134920277777778E+00 0.0000E+00 0.5667E+00 0.4243E+01 0.0000E+00 0.0000E+00 1 7 0.1000E+01 -0.1593788677043482E+01 0.7834E+00 0.1217E+01 0.2138E+01 0.8139E+00 0.0000E+00
408
Kapitel 7 Verfahren der nichtlinearen Optimierung
2 10 0.1000E+01 -0.1520709520745054E+01 0.3302E+00 0.2969E+00 0.1236E+01 0.4374E+00 0.3790E+00 3 3 0.1000E+01 -0.1388511910024717E+01 0.7326E-01 0.7589E-01 0.7931E+00 0.1180E+00 0.1801E+00 4 3 0.1000E+01 -0.1352359503836702E+01 0.4336E-02 0.9657E-02 0.6253E+00 0.4386E-01 0.3948E-01 5 3 0.1000E+01 -0.1349928698009139E+01 0.2504E-04 0.4006E-02 0.5547E+00 0.7860E-02 0.2493E-02 6 3 0.1000E+01 -0.1350018091962160E+01 0.7467E-04 0.3736E-02 0.5284E+00 0.1358E-01 0.1478E-04 7 3 0.1000E+01 -0.1349983850538642E+01 0.2758E-04 0.1499E-02 0.5174E+00 0.6417E-02 0.6179E-04 8 3 0.1000E+01 -0.1349963012462895E+01 0.2394E-06 0.2028E-03 0.5128E+00 0.4120E-03 0.2106E-04 9 3 0.1000E+01 -0.1349962886083232E+01 0.8269E-09 0.1035E-04 0.5106E+00 0.4345E-04 0.1275E-06 10 3 0.1000E+01 -0.1349962885862414E+01 0.3006E-11 0.3058E-06 0.5096E+00 0.2714E-05 0.2240E-09 11 3 0.1000E+01 -0.1349962885860211E+01 0.2665E-14 0.4422E-08 0.5091E+00 0.5736E-07 0.2205E-11 -----------------------------------------------------------------------------------------------------------------KKT CONDITIONS SATISFIED (IER= 0)! SOLUTION: OBJ KKT CON X
= = = =
-0.134996288586E+01 0.442188709872E-08 0.266453525910E-14
0.609466533605E-01 0.597649303530E+00 0.100000000000E+01 0.597649303430E+00 0.609466532473E-01 0.343771453389E+00 0.500000000086E+00 -0.499999999913E+00 -0.343771453079E+00 CONSTRAINT LB 1 0.000000000000E+00 2 -0.100000000000E+21 3 -0.100000000000E+01 4 -0.100000000000E+21 5 0.000000000000E+00 6 0.000000000000E+00 7 0.000000000000E+00 8 -0.100000000000E+21 9 -0.100000000000E+21 CONSTRAINT LB 10 0.000000000000E+00 11 0.000000000000E+00 12 0.000000000000E+00 13 0.000000000000E+00 14 -0.100000000000E+21 15 -0.100000000000E+21 16 -0.100000000000E+21 17 -0.100000000000E+21 18 -0.100000000000E+21 19 -0.100000000000E+21 20 -0.100000000000E+21 21 -0.100000000000E+21 22 -0.100000000000E+21 23 -0.100000000000E+21 24 -0.100000000000E+21 25 -0.100000000000E+21 26 -0.100000000000E+21 27 -0.100000000000E+21
VALUE 0.609466533605E-01 0.597649303530E+00 0.100000000000E+01 0.597649303430E+00 0.609466532473E-01 0.343771453389E+00 0.500000000086E+00 -0.499999999913E+00 -0.343771453079E+00 VALUE 0.536702650169E+00 0.402350696469E+00 0.402350696569E+00 0.536702650183E+00 0.121893306721E+00 0.312457093502E+00 0.100000000000E+01 0.100000000000E+01 0.472715248235E+00 0.607184690097E+00 0.411886083036E+00 0.100000000000E+01 0.100000000000E+01 0.411886082942E+00 0.100000000000E+01 0.607184689804E+00 0.312457093559E+00 0.121893306494E+00
UB 0.100000000000E+21 0.100000000000E+21 0.100000000000E+01 0.100000000000E+21 0.100000000000E+21 0.100000000000E+21 0.100000000000E+21 0.000000000000E+00 0.000000000000E+00 UB 0.100000000000E+21 0.100000000000E+21 0.100000000000E+21 0.100000000000E+21 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01 0.100000000000E+01
STATUS IA IA UB IA IA IA IA IA IA STATUS IA IA IA IA IA IA UB UB IA IA IA UB UB IA UB IA IA IA
LAMBDA 0.000000000000E+00 0.000000000000E+00 0.687542905220E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 LAMBDA 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.831840615517E-01 0.320262488778E+00 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.199298328651E+00 0.320262487286E+00 0.000000000000E+00 0.831840660982E-01 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00
Bemerkung 7.5.14. Für einen Konvergenzbeweis sei auf Han [75] verwiesen. Im günstigsten Fall geht dabei das globale SQP-Verfahren nach endlich vielen Schritten in das lokale über, welches (unter entsprechenden Voraussetzungen) mindestens superlinear konvergiert. Dies bedeutet, dass dann die Schrittweite tk D 1 bei der Armijo-Regel akzeptiert wird.
Es gibt jedoch Beispiele, bei denen die Schrittweite tk D 1 nicht akzeptiert wird und somit die superlineare Konvergenz verhindert wird. Dieser Effekt geht auf Maratos zurück und heißt daher Maratos-Effekt. Strategien zur Vermeidung des Effekts sind in [53] ab S. 258 beschrieben.
409
Abschnitt 7.5 Sequentielle Quadratische Programmierung
Es gibt auch differenzierbare exakte Bewertungsfunktionen, diese sind allerdings nicht von der Gestalt (7.8). Eine häufig benutzte differenzierbare exakte Bewertungsfunktion ist die erweiterte Lagrange-Funktion, vgl. Abschnitt 7.8,
m X
La .x; I / D f .x/ C
i Dm0 C1
i gi .x/ C gi .x/2 2
m0
1 X C ..max¹0; i C gi .x/º/2 2i /: 2 i D1
Ein SQP-Verfahren unter Verwendung der erweiterten Lagrange-Funktion wird in [142, 143] diskutiert. Hierbei wird eine Liniensuche für die Funktion '.t / WD La
xk k
Ct
dk QP k
I
durchgeführt, wobei QP den Lagrange-Multiplikator des QP-Problems bezeichnet. Die neuen Iterierten lauten
x kC1 kC1
D
xk k
C tk
dk QP k
:
In praktischen Anwendungen wird anstatt eines einzelnen Gewichtungsparameters jeder Summand der Strafterme in der Bewertungsfunktion individuell gewichtet, etwa durch i .i D 1; : : : ; m/. Powell [133] schlug folgende Update-Formel vor:
° ± kC1 1 k kC1 WD max j j; C j j/ .i D 1; : : : ; m/: . kC1 i i i 2 i Diese Formel hat sich in der Praxis bewährt. Eine aktuelle Entwicklung sind die so genannten Filter-SQP-Verfahren, siehe [46, 45]. Diese ersetzen die Liniensuche für eine Bewertungsfunktion, indem Zielfunktion f und Verletzung der Nebenbedingungen voneinander entkoppelt werden und als Tupel .f; / in einer Menge F – dem so genannten Filter – gesammelt werden. Jeder Filtereintrag dominiert alle Punkte, die weder eine Verbesserung in der Zielfunktion noch eine Verbesserung in der Verletzung der Nebenbedingungen liefern. Solche Punkte führen also nicht zu einer Verbesserung und werden durch den Filter nicht akzeptiert. Ein Punkt xN wird durch den Filter F akzeptiert, falls für Konstanten ˇf und f
.x/ N .1 ˇf /Q
oder
f .x/ N fQ f .x/ N
410
Kapitel 7 Verfahren der nichtlinearen Optimierung
Q 2 F gilt, vgl. folgende Abbildung: für alle Elemente .fQ; / f(x)
(0,0)
θ(x) Filterkomponenten dominiert durch Filterkomponenten akzeptierbar für Filter Rahmen dominiert durch Filter
Das QP-Hilfsproblem .Px k / besitzt mitunter keine zulässigen Lösungen. Powell [133] schlug für diesen Fall vor, die Nebenbedingungen des QP-Hilfsproblems zu relaxieren, so dass das relaxierte QP-Hilfsproblem zulässig ist. Das Hilfsproblem .Px k / oder dessen Relaxierung kann dann z. B. mit dem Verfahren der aktiven Menge aus Abschnitt 7.5.3 gelöst werden.
7.5.3 Quadratische Optimierung Wir beschreiben nun ein Verfahren zur Lösung der quadratischen Teilprobleme der SQP-Methode. Bei diesen konvexen linear-quadratischen Optimierungsproblemen handelt es sich offenbar um die einfachsten nichtlinearen Optimierungsprobleme. Dennoch haben diese Probleme durchaus eigenständige Bedeutung im Operations Research, da z. B. Portfoliooptimierungsprobleme 1.1.10 auf quadratische Optimierungsprobleme führen. Zunächst beschränken wir uns auf den Fall mit lauter Gleichungsrestriktionen. Quadratisches Optimierungsproblem 7.5.15. Gegeben seien eine symmetrische Matrix W 2 Rnn , eine Matrix A 2 Rmn und Vektoren c 2 Rn ; b 2 Rm .
Abschnitt 7.5 Sequentielle Quadratische Programmierung
411
Minimiere 1 f .x/ WD x > W x C c > x 2 n und unter den Nebenbedingungen x 2 R Ax D b Š Da die Nebenbedingungen affin sind, gelten die KKT-Bedingungen nach Satz 6.3.20 in einem lokalen Minimum x. O Es gibt also Lagrange-Multiplikatoren 2 Rm mit xO c W A> D : (7.11) b A ‚ Beachte, dass hier wieder die so genannte KKT-Matrix auftritt. Ist W positiv definit auf dem Kern von A und Rang.A/ D m, so ist die Matrix invertierbar, und die hinreichenden Bedingungen 2. Ordnung sind erfüllt. Ist W positiv semidefinit, so ist f konvex, und jede Lösung des Gleichungssystems ist zugleich globale Lösung des quadratischen Optimierungsproblems. Wir stellen noch xO D x C d dar als Superposition eines beliebigen zulässigen Punkts x mit Ax D b und einer Lösung d des homogenen Systems Ad D 0Rm . Dann ist (7.11) äquivalent zu d W x c W A> D : (7.12) 0Rm A ‚ Also gilt der Satz 7.5.16. Ist x 2 Rn zulässig, so erfüllen xO WD x C d und 2 Rm die KKTBedingungen für 7.5.15 genau dann, wenn .d; / das lineare Gleichungssystem (7.12) löst. Ist W zusätzlich noch positiv definit auf dem Kern von A, so ist x striktes globales Minimum. Gleichungssysteme der Form (7.12) lassen sich effizient lösen, wenn ihre spezielle Struktur ausgenutzt wird. Wir nehmen an, dass W positiv definit sei auf dem Kern von A und Rang.A/ D m. Unter diesen Voraussetzungen ist die KKT-Matrix invertierbar und das Gleichungssystem eindeutig lösbar. Mit Hilfe einer QR-Zerlegung R > ; Q D . Y Z /; Y 2 Rnm ; Z 2 Rn.nm/ A DQ ‚ mit regulärer rechter oberer Dreiecksmatrix R 2 Rmm und unitärer Matrix Q 2 Rnn kann das Gleichungssystem 7.12 dann transformiert werden in 10 1 0 1 0 > Y W Y Y >W Z R dY Y > .W x C c/ @ Z > W Y Z > W Z ‚ A @ dZ A D @ Z > .W x C c/ A 0Rm ‚ ‚ R>
412
Kapitel 7 Verfahren der nichtlinearen Optimierung
mit dY WD Y > d und dZ WD Z > d . Dieses Gleichungssystem hat Dreiecksgestalt und kann blockweise gelöst werden: (i) Man setze dY D 0Rm . (ii) Man berechne dann dZ mittels Cholesky-Zerlegung von Z > W Z aus Z > W Z dZ D Z > .W x C c/: (iii) Schließlich berechne man durch Rückwärtssubstitution aus R D Y > .W x C c/ Y > W ZdZ : Wir lassen nun auch Ungleichungen zu und betrachten allgemeine quadratische Optimierungsprobleme: Quadratisches Optimierungsproblem 7.5.17. Gegeben seien eine symmetrische Matrix W 2 Rnn , Vektoren c 2 Rn , ai 2 Rn und Zahlen bi 2 R .i D 1; : : : ; m/ . (QP)
Minimiere 1 > x W x C c>x 2
f .x/ WD
unter den Nebenbedingungen x 2 Rn und ´ ai> x bi
0 .i 2 I WD ¹1; : : : ; m0 º/; D 0 .i 2 J WD ¹m0 C 1; : : : ; mº/ Š
Auswertung der KKT-Bedingungen in einem lokalen Minimum xO liefert
i .ai> xO W xO C c C
i 0
.i 2 I /;
bi / D 0
.i 2 I /;
m X i D1
ai> xO
i ai D 0Rn ; ´ 0 bi D0
.i 2 I /; .i 2 J /:
Dieses System von Gleichungen und Ungleichungen lässt sich nicht so einfach lösen wie im gleichungsbeschränkten Fall. Die Schwierigkeit besteht darin, dass die Indexmenge I.x/ O der aktiven Ungleichungen im Optimum xO unbekannt ist. Wäre sie
Abschnitt 7.5 Sequentielle Quadratische Programmierung
413
bekannt, so könnten die inaktiven Ungleichungsnebenbedingungen weggelassen werden, da sie keinen Einfluss auf das Optimum haben, und man erhielte das äquivalente Problem: Minimiere u. d. N.
1 > x W x C c>x 2 ai> x D bi .i 2 I.x/ O [ J/ Š
(7.13)
Dies ist ein quadratisches Optimierungsproblem mit lauter Gleichungsnebenbedingungen, dessen Lösung durch Satz 7.5.16 charakterisiert ist. Die Idee der Strategie der aktiven Mengen zur Lösung des allgemeinen quadratischen Optimierungsproblems 7.5.17 besteht nun darin, die unbekannte Indexmenge I.x/ O in (7.13) durch eine Schätzung IQ I zu ersetzen und diese iterativ anzupassen, vgl. hierzu und zum folgenden konzeptionellen Algorithmus auch die ausführliche Diskussion in [53]. Sei x k der aktuelle Iterationspunkt, x k sei zulässig und IQk I sei die aktuelle Schätzung der Indexmenge der aktiven Ungleichungsrestriktionen. Löse dann das Hilfsproblem: Minimiere f .x k C d / unter den Nebenbedingungen d 2 Rn und ai> d D 0 .i 2 IQk [ J / Š Die Strategie zur Anpassung der Indexmenge IQ k hängt nun ab von der Lösung d und den zugehörigen Lagrange-Multiplikatoren i .i 2 IQ k [ J / des Hilfsproblems. Folgende Fälle können eintreten: (a) Besitzt das Hilfsproblem die Lösung d D 0Rn , so liefern die KKT-Bedingungen für das Hilfsproblem X rf .x k / C i ai D 0Rn : i 2IQk [J
(i) Sind alle i 0 .i 2 IQk /, so wird x k als Lösung akzeptiert, da die Karush-KuhnTucker-Bedingungen für das Ausgangsproblem erfüllt sind, wenn man noch i D 0 .i 2 I n IQk / setzt. (ii) Deaktivierungsschritt: Gibt es einen Index i 2 IQk mit i < 0, so erfüllt x k die KKT-Bedingungen des Ausgangsproblems nicht, ist also nicht optimal. Andererseits ist x k Minimum von f unter den Nebenbedingungen mit Index aus IQk [J . Daher muss der zulässige Bereich vergrößert bzw. die Indexmenge IQk verkleinert werden.
414
Kapitel 7 Verfahren der nichtlinearen Optimierung
Bestimme dazu denjenigen Index q 2 IQk mit q D min i < 0 i 2IQk
und wiederhole die Prozedur mit IQkC1 WD IQk n ¹qº: (b) Besitzt das Hilfsproblem eine Lösung d 6D 0Rn , so ist d eine Abstiegsrichtung von f im Punkt x k , die die homogenen Nebenbedingungen mit Index aus IQk [ J erfüllt, d. h. es gilt ai> d D 0
.i 2 IQk [ J /:
(7.14)
(i) Ist x k C d zulässig für das Ausgangsproblem, d. h. gilt ai> .x k C d / bi
.i 2 I n IQk /;
so wiederhole die Prozedur mit x kC1 WD x k C d; IQ kC1 WD IQk : (ii) Aktivierungsschritt: Ist x k C d unzulässig für das Ausgangsproblem, so bestimme eine möglichst große Schrittweite tk 0, so dass x k C tk d zulässig bleibt: ai> .x k C tk d / bi
.i 2 I n IQk /
bzw. tk .ai> d / bi ai> x k
.i 2 I n IQk /:
(7.15)
Beachte, dass x k C t d für alle t zulässig bleibt für die Nebenbedingungen mit Index aus IQk [ J , da x k zulässig ist und (7.14) gilt. Da x k zulässig ist und x k C t d mit t D 1 unzulässig, muss es in (7.15) einen Index i 2 I n IQk mit ai> d > 0 geben. Bestimme also ² ³ bi ai> x k k > Q tk D min W i 2 I n I ; ai d > 0 : ai> d Sei r 2 I n IQ k ein (nicht notwendig eindeutiger) Index, für den dieses Minimum angenommen wird. Der Fall t D 0 kann auftreten, wenn mehrere Nebenbedingungen gleichzeitig aktiv werden (Entartung). Setze x kC1 WD x k C tk d; IQkC1 WD IQk [ ¹rº und wiederhole die Prozedur.
Abschnitt 7.5 Sequentielle Quadratische Programmierung
415
Zusammenfassend erhalten wir den folgenden Algorithmus. Active-Set-Verfahren 7.5.18. (0) Sei x 0 zulässig für das quadratische Optimierungsproblem. Setze k WD 0 und IQ0 WD ¹i 2 I W ai> x 0 D bi º: (1) Bestimme eine Lösung .d; IQk [J / des Hilfsproblems durch Lösen des Gleichungssystems ! W A>Qk d .W x k C c/ I [J : D IQk [J ‚ AIQk [J ‚ Hierin sind AIQk [J WD .ai> /i 2IQk [J ;
IQk [J WD .i /i 2IQk [J :
(2) Ist d D 0Rn und IQk 0RjIQ k j , so setze man i D 0 für i 2 I n IQk und breche die Rechnung ab. Dann ist .x k ; / ein KKT-Punkt. (3) Ist d D 0Rn und q WD min¹i W i 2 IQk º < 0, so setze x kC1 WD x k ;
IQkC1 WD IQk n ¹qº:
Setze k WD k C 1 und gehe zu (1). (4) Gilt ai> .x k C d / bi .i 2 I n IQk /, so setze x kC1 WD x k C d;
IQkC1 WD IQk :
Setze k WD k C 1 und gehe zu (1). (5) Bestimme r 2 I n IQ k mit ar> d > 0 und ³ ² bi ai> x k br ar> x k k > Q tk WD D min W i 2 I n I ; ai d > 0 ar> d ai> d und setze x kC1 WD x k C tk d; IQkC1 WD IQk [ ¹rº: Setze k WD k C 1 und gehe zu (1). Bemerkung 7.5.19. Ein zulässiger Startpunkt x 0 für das Active-Set-Verfahren kann analog zu Phase I des Simplexverfahrens berechnet werden.
416
Kapitel 7 Verfahren der nichtlinearen Optimierung
Das Verfahren endet nach endlich vielen Schritten, falls W positiv definit ist und die Matrizen AI.x/[J für alle x aus dem zulässigen Bereich vollen Rang haben, vgl. [154, Satz 3.3.2]. I.x/ bezeichnet hierin die Indexmenge der aktiven Ungleichungsrestriktionen in x.
Das Verfahren von Goldfarb-Idnani [64] für streng konvexe quadratische Optimierungsprobleme ist eine Active-Set-Strategie für das duale Problem. Es hat den Vorteil, dass kein zulässiger Startpunkt berechnet werden muss.
Der simplexartige Algorithmus von Lemke, vgl. [30], zur Lösung linearer Komplementaritätsprobleme kann ebenfalls zur Lösung quadratischer Optimierungsprobleme verwendet werden, da die KKT-Bedingungen des quadratischen Optimierungsproblems ein lineares Komplementaritätsproblem darstellen. Innere-Punkte-Verfahren, vgl. [163], stellen eine weitere Alternative zur Lösung quadratischer Optimierungsprobleme dar.
Gill et al. [55, 56] beschreiben ein Verfahren, welches auch nichtkonvexe quadratische Probleme lösen kann.
Für weitere Informationen ziehe man [154] zu Rate.
Beispiel 7.5.20. Das folgende Beispiel bezieht sich auf die etwas allgemeinere Aufgabenstellung: 1 > x > Minimiere uŠ x W x C c x u. d. N. l Ax 2 Dabei ist W D
1 0 0 1
;
2 cD ; 1
0
1
1 1 @ A D 1 1 A ; 1 0
0
1 1 B 1 C B C C l DB B 0 C; @ 1 A 1
0 1 5 B2C B C C uDB B 5 C: @2A 5
Der Algorithmus liefert für die Startschätzung x 0 D .5; 0/> die folgende Ausgabe: ============================================================================ STARTE QP LOESER ============================================================================ ---------------------------------------------------------------------------INITIALES X IST ZULAESSIG! STARTE OPTIMIERUNGSPHASE ... ------------------------------------------------------------------------------------------------------------------------------------------------------ITER OBJ GRAD CON DX ---------------------------------------------------------------------------0 0.2250E+02 0.7000E+01 0.0000E+00 0.0000E+00 DEAKTIVIERE BESCHRAENKUNG 1 MIT MULTIPLIKATOR LAMBDA = -6.0000000000000000 1 0.2250E+02 0.6000E+01 0.0000E+00 0.0000E+00 AKTIVIERE BESCHRAENKUNG 2 VOM TYP UB 2 0.1450E+02 0.1000E+01 0.0000E+00 0.4243E+01 DEAKTIVIERE BESCHRAENKUNG 3 MIT MULTIPLIKATOR LAMBDA = -5.0000000000000000
417
Abschnitt 7.6 Penalty-Methoden 3 0.1450E+02 0.5000E+01 0.0000E+00 0.0000E+00 AKTIVIERE BESCHRAENKUNG 4 VOM TYP UB 4 0.4000E+01 0.2000E+01 0.0000E+00 0.5000E+01 DEAKTIVIERE BESCHRAENKUNG 2 MIT MULTIPLIKATOR LAMBDA = -5.0000000000000000 5 0.4000E+01 0.5000E+01 0.0000E+00 0.0000E+00 AKTIVIERE BESCHRAENKUNG 3 VOM TYP LB 6 0.6661E-15 0.1500E+01 0.0000E+00 0.3536E+01 DEAKTIVIERE BESCHRAENKUNG 4 MIT MULTIPLIKATOR LAMBDA = -0.5000000000000000 7 0.6661E-15 0.5000E+00 0.0000E+00 0.0000E+00 8 -0.2500E+00 0.4441E-15 0.1110E-15 0.7071E+00 ============================================================================ ENDE DES QP LOESERS ============================================================================
7.6
Penalty-Methoden
Bei der Globalisierung des SQP-Verfahrens haben wir restringierte Optimierungsprobleme mit Hilfe von Bewertungsfunktionen („merit functions“, Penalty-Funktionen) auf eine Folge von unrestringierten Optimierungsproblemen zurückgeführt. Die Grundidee dieser so genannten äußeren Penalty-Methoden besteht darin, Strafterme an die Zielfunktion anzukoppeln, die das Verlassen des zulässigen Bereichs so stark bestrafen, dass die Nebenbedingungen nicht mehr explizit berücksichtigt werden müssen. Diese Idee wurde schon von Richard Courant in [31] für die Begründung von Variationsmethoden für partielle Differentialgleichungen benutzt. Ein sehr schöner historischer Abriss über die Entwicklung der Penalty-Methoden (auch Sequential Uncostrained Minimization Techniques, SUMT, genannt) findet sich in [40]. Äußere Penalty-Methoden approximieren die Minimallösung des Ausgangsproblems durch eine Folge von unzulässigen Punkten, die untere Schranken für den Minimalwert liefern. Eng verwandt mit dieser Algorithmenklasse sind so genannte innere Penalty-Methoden (Barriere-Methoden), die mit einer Folge von Punkten aus dem Inneren der zulässigen Menge arbeiten, obere Schranken für das Minimum liefern und die Annäherung an den Rand der zulässigen Menge bestrafen. Dieser Algorithmentyp arbeitet also mit lokal unrestringierten Problemen. In der Abbildung 7.4 sind typische Folgen von Straffunktionen für beide Algorithmenklassen skizziert.
S
S
Abbildung 7.4. Qualitativer Unterschied zwischen äußerer Penalty-Methode (links) und Barriere-Methode (rechts). Dargestellt sind die Werte der Penalty-Funktionen bzw. der Barriere-Funktionen innerhalb und außerhalb des zulässigen Bereichs S .
418
Kapitel 7 Verfahren der nichtlinearen Optimierung
7.6.1 Äußere Penalty-Methoden Um verschiedene Typen expliziter Restriktionen und die zugehörigen Penalty-Funktionen simultan beschreiben zu können, betrachten wir folgendes Restringiertes Optimierungsproblem 7.6.1. Die Funktion f W Rn ! R sei stetig und S eine abgeschlossene Teilmenge des Rn . (P)
Minimiere f .x/ unter der Nebenbedingung x 2 S !
Die Idee der äußeren Penalty-Methode besteht darin, die Lösung xO des Problems (P) iterativ durch die Lösungen von unrestringierten Hilfsproblemen zu approximieren. Unrestringierte Optimierungsprobleme 7.6.2. (Pk ) Minimiere f .x/ C pk .x/ unter der Nebenbedingung x 2 Rn ! An die verwendeten Penalty-Funktionen werden folgende Anforderungen gestellt. Definition 7.6.3. S sei eine abgeschlossene Teilmenge des Rn und pk W Rn ! R
.k 2 N/
eine Folge stetiger Funktionen auf dem Rn mit pk .x/ D 0
.x 2 S; k 2 N/;
(7.16)
pk .x/ > 0
.x … S; k 2 N/;
(7.17)
pk .x/ < pkC1 .x/ lim pk .x/ D 1
k!1
.x … S; k 2 N/;
.x … S/:
(7.18) (7.19)
Dann heißt pk ./ .k 2 N/ eine Folge äußerer Penalty-Funktionen für S. Wir geben eine Reihe von Beispielen an für äußere Penalty-Funktionen. Äußere Penalty-Funktionen 7.6.4. ˛k .k 2 N/ sei eine strikt monoton wachsende Folge positiver Zahlen mit lim ˛k D 1:
k!1
g W Rn ! Rm sei stetig, ˇ 1 fest gewählt.
419
Abschnitt 7.6 Penalty-Methoden
(a) k k sei eine beliebige Norm auf dem Rm . Dann ist pk ./ WD ˛k kg./kˇ
.k 2 N/
eine Folge äußerer Penalty-Funktionen für S WD ¹x 2 Rn W g.x/ D 0Rm º: pk ./ WD ˛k
(b)
m X
.max¹gi ./; 0º/ˇ
.k 2 N/
i D1
ist eine Folge äußerer Penalty-Funktionen für S WD ¹x 2 Rn W gi .x/ 0
.i D 1; : : : ; m/º:
(c) Y sei eine nichtleere, abgeschlossene Teilmenge des Rm und k k eine beliebige Norm auf dem Rm . Dann heißt dist.z; Y / WD inf kz yk y2Y
.z 2 Rm /
Abstand des Punkts z von Y . pk ./ WD ˛k dist.g./; Y /ˇ
.k 2 N/
(7.20)
ist eine Folge äußerer Penalty-Funktionen für S WD ¹x 2 Rn W g.x/ 2 Y º: Nach Auswahl einer geeigneten Folge äußerer Penalty-Funktionen können wir die folgende konzeptionelle äußere Penalty-Methode zur Lösung des Optimierungsproblems (P) formulieren, vgl. hierzu die lesenswerten frühen Veröffentlichungen [170, 40, 130, 17]. Äußere Penalty-Methode 7.6.5. pk ./ .k 2 N/ sei eine Folge äußerer PenaltyFunktionen für S. (0) Setze k WD 1. (1) Berechne den Minimalwert wk WD inf .f .x/ C pk .x// x2Rn
und eine Minimallösung x k des unrestringierten Problems 7.6.2. (2) Ist x k 2 S , STOP. (3) Setze k WD k C 1 und gehe zu (1).
420
Kapitel 7 Verfahren der nichtlinearen Optimierung
Da wir zunächst nur die Stetigkeit von Zielfunktion und Nebenbedingungen vorausgesetzt haben, ist f ./ C pk ./ im Allgemeinen nicht differenzierbar. Für das unrestringierte Hilfsproblem in Schritt (1) werden daher Verfahren der unrestringierten, nichtdifferenzierbaren Optimierung benötigt. Falls f ./ C pk ./ bessere Differenzierbarkeitseigenschaften aufweist, können bekannte Verfahren der unrestringierten Optimierung, z. B. Gradientenverfahren oder (Quasi-)Newton-Verfahren, zur Lösung verwendet werden, vgl. hierzu auch [52]. Es stellt sich natürlich die Frage, ob das Verfahren tatsächlich gegen eine Lösung des Ausgangsproblems konvergiert. Satz 7.6.6. S sei eine nichtleere abgeschlossene Teilmenge des Rn , und pk .k 2 N/ sei eine Folge äußerer Penalty-Funktionen für S . Zielfunktion f und die PenaltyFunktionen pk ./ seien stetig auf dem Rn . Jedes Hilfsproblem .Pk / besitze eine Optimallösung x k .k 2 N/. Dann gilt: (a) Die Folge wk WD f .x k / C pk .x k /
.k 2 N/
ist (schwach) monoton wachsend und durch den Minimalwert w des Problems (P) nach oben beschränkt. (b) Jeder Häufungspunkt der Folge x k .k 2 N/ ist eine Optimallösung des Ausgangsproblems (P). Beweis. a) Wegen (7.16) gilt wk WD inf .f .x/ C pk .x// n x2R
inf .f .x/ C pk .x// x2S
D inf f .x/ DW w x2S
für den Minimalwert wk des Hilfsproblems .Pk / und den Minimalwert w des Ausgangsproblems (P). Da S ¤ ;, ist auch w 2 R. Nach (7.18) ist wk WD inf n .f .x/ C pk .x// x2R
f .x/ C pk .x/ f .x/ C pkC1 .x/ .x 2 Rn /; also auch wk inf .f .x/ C pkC1 .x// WD wkC1 : x2Rn
421
Abschnitt 7.6 Penalty-Methoden
b) xO sei Häufungspunkt und o. B. d. A. O lim x k D x:
k!1
Es existiere ein Index k0 mit xk 2 S
.k k0 /:
Da S abgeschlossen ist, ist notwendig xO 2 S. Aus x k 2 S und (7.16) folgt f .x k / D infn .f .x/ C pk .x// x2R
D inf f .x/ D w; x2S
d. h. x k ist Optimallösung von (P) für alle k k0 . Aus der Stetigkeit von f folgt noch f .x/ O D lim f .x k / D w; k!1
also ist xO ebenfalls Optimallösung von (P). Existiert kein derartiger Index k0 , so gibt es eine Teilfolge .x kj /j 2N Rn n S mit O lim x kj D x:
j !1
Nach Beweisteil a) ist pkj .x kj / w f .x kj /
.j 2 N/:
Da f stetig ist in x, O existiert ein ı > 0 mit pkj .x kj / ı
.j 2 N/:
Sei xO … S . Wegen (7.19) existiert dann ein Index j0 2 N mit O 3ı: pkj0 .x/ Da pkj0 stetig ist in x, O existiert eine Umgebung U von xO mit pkj0 .z/ 2ı
.z 2 U /:
422
Kapitel 7 Verfahren der nichtlinearen Optimierung
Wegen lim x kj D xO
j !1
existiert ein Index j1 j0 mit x kj 2 U
.j j1 /:
Nach (7.16) ist U S c . Aus (7.18) folgt dann pkj .x kj / pkj1 .x kj1 / 2ı
.j j1 /
im Widerspruch zur Definition von ı. Dieser Widerspruch beweist xO 2 S . Nach Beweisteil a) ist f .x kj / w pkj .x kj / < w
.j 2 N/:
Aus der Stetigkeit von f folgt somit f .x/ O D lim f .x kj / w: j !1
Also ist xO Optimallösung von (P). Im Wesentlichen benötigt dieser Konvergenzsatz für die äußere Penalty-Methode nur die Stetigkeit von Zielfunktion und Nebenbedingungen. Man kann diese Verfahrensklasse also auch auf nichtdifferenzierbare Probleme anwenden, benötigt dann aber für die unrestringierten Hilfsprobleme die entsprechenden Lösungsmethoden. Neben den Verfahren der nichtdifferenzierbaren Optimierung kommen hier auch die genetischen Algorithmen aus Kapitel 9 in Frage, die ebenfalls ohne Glattheitsvoraussetzungen an die Zielfunktion auskommen. Ein Nachteil der äußeren Penalty-Methoden ist, dass die Iterierten nicht zulässig sind für das restringierte Ausgangsproblem (P). Dieser Nachteil wird vermieden durch die so genannten inneren Penalty-Methoden, die schon sehr früh in [40] betrachtet wurden und in jüngerer Zeit eine Wiederbelebung erfahren haben im Zusammenhang mit Innere-Punkte-Verfahren, vgl. hierzu den Abschnitt 7.7.
7.6.2 Innere Penalty-Methoden Innere Penalty-Methoden (Barriere-Methoden) arbeiten mit einer Folge von Punkten aus dem „Inneren“ der zulässigen Menge S und bestrafen die Annäherung an den Rand der zulässigen Menge. Die zu lösenden Hilfsprobleme sind also zumindest lokal unrestringiert. Damit Optimallösungen des restringierten Ausgangsproblems (P), die im Allgemeinen auf dem Rand von S liegen, überhaupt aus dem „Inneren“ von S heraus approximiert werden können, müssen Zusatzbedingungen an die zulässige Menge gestellt
423
Abschnitt 7.6 Penalty-Methoden
werden. Eine typische derartige Zusatzbedingung ist, dass das topologische Innere int.S/ von S nicht leer ist und dass für dessen Abschluss cl .int.S// gilt cl .int.S// D S:
(7.21)
Ist S abgeschlossen, konvex und int.S/ ¤ ;, S also ein so genannter konvexer Körper, so ist die Bedingung (7.21) immer erfüllt. Eigentlich kommt es aber nur darauf an, dass jeder Punkt von S beliebig genau durch Punkte einer nichtleeren Teilmenge S ı von S approximiert werden kann. Damit können wir dann auch „flache“ konvexe Mengen erfassen und auch zahlreiche nichtkonvexe zulässige Mengen. Restringiertes Optimierungsproblem 7.6.7. Die Funktion f W Rn ! R sei stetig und S eine abgeschlossene Teilmenge des Rn . Für eine (später näher spezifizierte) Teilmenge S ı von S gelte cl .S ı / D S. (P)
Minimiere f .x/ unter der Nebenbedingung x 2 S !
Die Idee der inneren Penalty-Methode besteht darin, die Lösung xO des Problems (P) iterativ durch die Lösungen der folgenden „lokal“ unrestringierten Hilfsprobleme auf S ı zu approximieren. Barriere-Problem 7.6.8. (Pk ) Minimiere f .x/ C bk .x/ unter der Nebenbedingung x 2 S ı ! An die verwendeten inneren Penalty-Funktionen werden die folgenden Anforderungen gestellt: Definition 7.6.9. S sei eine abgeschlossene Teilmenge des Rn und S ı eine nichtleere Teilmenge von S mit cl .S ı / D S . bk W S ı ! R
.k 2 N/
sei eine Folge stetiger Funktionen auf S ı mit bk .x/ > 0 .x 2 S ı ; k 2 N/;
(7.22)
bk .x/ > bkC1 .x/ .x 2 S ı ; k 2 N/;
(7.23)
ı
lim bk .x/ D 0 .x 2 S /;
k!1
lim bk .x j / D 1
j !1
(7.24) (7.25)
424
Kapitel 7 Verfahren der nichtlinearen Optimierung
für jede gegen einen Punkt von S n S ı konvergierende Folge .x j /j 2N S ı und für alle k 2 N. Dann heißt bk ./ .k 2 N/ eine Folge innerer Penalty-Funktionen für S . Die beiden wichtigsten Beispiele für innere Penalty-Funktionen sind: Innere Penalty-Funktionen 7.6.10. g W Rn ! Rm sei stetig und ˛k .k 2 N/ eine strikt monoton fallende Folge positiver Zahlen mit lim ˛k D 0:
k!1
bk ./ WD ˛k
(a)
m X i D1
1 gi ./
.k 2 N/
ist eine Folge innerer Penalty-Funktionen für S WD ¹x 2 Rn W gi .x/ 0 .i D 1; : : : ; m/º; falls S ı WD ¹x 2 Rn W gi .x/ < 0 .i D 1; : : : ; m/º nicht leer ist. (b)
bk ./ WD ˛k
m X
ln
i D1
D ˛k
m X
gi ./
ln.gi .// C m ln./ .k 2 N/
i D1
ist eine Folge innerer Penalty-Funktionen für S mit S ı wie in (a), falls WD
inf
iD1;:::;m x2S ı
gi .x/ > 1:
Den Wert von benötigt man zur Lösung der Hilfsprobleme .Pk / offenbar nicht. Mit Hilfe innerer Penalty-Funktionen formulieren wir die folgende konzeptionelle innere Penalty-Methode zur Lösung des Optimierungsproblems (P). Innere Penalty-Methode 7.6.11. S sei eine abgeschlossene Teilmenge des Rn und S ı eine nichtleere Teilmenge von S mit cl .S ı / D S. bk ./ .k 2 N/ sei eine Folge innerer Penalty-Funktionen für S .
425
Abschnitt 7.6 Penalty-Methoden
(0) Setze k WD 1. (1) Berechne den Minimalwert wk WD infı .f .x/ C bk .x// x2S
und eine Minimallösung x k des Barriere-Problems 7.6.8. (2) Setze k WD k C 1 und gehe zu (1). Wiederum stellt sich die Frage, ob das Verfahren tatsächlich gegen eine Lösung des Ausgangsproblems konvergiert. Satz 7.6.12. S sei eine abgeschlossene Teilmenge des Rn , S ı eine nichtleere Teilmenge von S mit cl .S ı / D S und bk .k 2 N/ eine Folge innerer Penalty-Funktionen für S. Die Zielfunktion f sei stetig auf dem Rn . Jedes Hilfsproblem .Pk / besitze eine Optimallösung x k .k 2 N/. Dann gilt: (a) Die Folge wk WD f .x k / C bk .x k /
.k 2 N/
ist monoton fallend und durch den Minimalwert w des Problems (P) nach unten beschränkt. (b) Jeder Häufungspunkt der Folge x k .k 2 N/ ist eine Optimallösung des Ausgangsproblems (P), falls der Wert w von (P) endlich ist. Beweis. a) Wegen (7.22) gilt wk WD infı .f .x/ C bk .x// x2S
infı f .x/ x2S
inf f .x/ WD w: x2S
Wegen (7.23) ist wkC1 WD infı .f .x/ C bkC1 .x// x2S
f .x/ C bkC1 .x/ f .x/ C bk .x/
.x 2 S ı /:
Also ist notwendig wkC1 inf ı .f .x/ C bk .x// WD wk : x2S
426
Kapitel 7 Verfahren der nichtlinearen Optimierung
b) Nach a) existiert der lim wk WD wO w:
k!1
Sei wO > w. Dann existiert ein xQ 2 S mit wO w : 4 Da f stetig ist, gibt es eine Umgebung U von xQ mit f .x/ Q wC
wO w .x 2 U \ S/: 2 Wegen cl .S ı / D S existiert ein x 2 U \ S ı . Nach (7.24) gibt es einen Index k0 2 N mit f .x/ w C
bk .x /
wO w 4
.k k0 /:
Damit erhalten wir wk WD infı .f .x/ C bk .x// x2S
f .x / C bk .x / wO w wO w C 2 4 3 D w C .wO w/ < wO .k k0 / 4 im Widerspruch zu limk!1 wk D w. O Also ist wO D w. Sei nun xO ein beliebiger Häufungspunkt von .x k /k2N . Dann ist xO 2 S , und aus wC
f .x k / C bk .x k / D wk
.k 2 N/
folgt für jede gegen xO konvergierende Teilfolge .x kj /j 2N f .x/ O D lim f .x kj / lim wkj D w: j !1
j !1
Man kann äußere und innere Penalty-Methoden zu gemischten Penalty-Methoden kombinieren. Die Konvergenzaussagen lassen sich alle sinngemäß übertragen. Die Tatsache, dass innere und äußere Penalty-Funktionen in der Nähe des Rands der zulässigen Menge S gegen 1 streben, macht diese Methoden anfällig für Auslöschungseffekte und kann zu numerischen Instabilitäten führen, vgl. hierzu auch Aufgabe 7.9.5. Wünschenswert wäre es, wenn die unrestringierten Hilfsprobleme 7.6.2 bereits für endliche Werte des Parameters k ein Minimum des restringierten Ausgangsproblems 7.6.1 liefern würden. Dies ist für so genannte exakte Penalty-Funktionen der Fall, die wir im folgenden Unterabschnitt kurz ansprechen.
427
Abschnitt 7.6 Penalty-Methoden
7.6.3 Exakte Penalty-Methoden und Dualität Wir betrachten das konvexe Optimierungsproblem in Standardform: Konvexes Optimierungsproblem 7.6.13. K sei eine abgeschlossene konvexe Teilmenge des Rn , die Abbildungen f W K ! R und gi W K ! R .i D 1; : : : ; m0 / seien konvex, die Abbildungen gi W K ! R .i D m0 C 1; : : : ; m/ seien affin. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 K und ´ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
Die Menge K beschreibt dabei „einfache“ Nebenbedingungen wie Vorzeichenbedingungen, Box-Constraints und ist auch oft der ganze Rn . Nur die „unangenehmen“ expliziten Restriktionen wollen wir durch Penalty-Funktionen wegschaffen. Wir wählen dazu die so genannte `1 -Penalty-Funktion m0 X
˛
jgi ./j ;
m X
max¹gi ./; 0º C
i Dm0 C1
i D1
die gerade die Penalty-Funktion (7.20) bezüglich der k k1 -Norm mit ˇ WD 1 ist. Satz 7.6.14. Das Problem (P) besitze die Optimallösung x, O und zu xO existiere 2 Rm 0 mit i 0 .i D 1; : : : ; m / und f .x/ O D inf
f .x/ C
x2K
m X
i gi .x/ :
i D1
Dann gilt: (a) Ist ˛ kk1 WD maxi D1;:::;m ji j , so ist f .x/ O D inf
x2K
f .x/ C ˛
m0 X
jgi .x/j :
m X
max¹gi .x/; 0º C
i Dm0 C1
i D1
(b) Ist ˛ > kk1 und minimiert x f ./ C ˛
m0 X
max¹gi ./; 0º C
i D1
auf K, so ist x Minimallösung von (P).
m X i Dm0 C1
jgi ./j
428
Kapitel 7 Verfahren der nichtlinearen Optimierung
Beweis. a) Wegen ˛ kk1 ist f .x/ O D inf
x2K
inf
x2K
i gi .x/
i D1
f .x/ C kk1
x2K
inf
f .x/ C
m X
m0 X
i Dm0 C1
i D1
X m0
f .x/ C ˛
jgi .x/j
m X
max¹gi .x/; 0º C
jgi .x/j :
m X
max¹gi .x/; 0º C
i Dm0 C1
i D1
Wegen xO 2 K; max¹gi .x/; O 0º D 0 .i D 1; : : : ; m0 / und gi .x/ O D 0 .i D m0 C 1; : : : ; m/ folgt (a). b) Sei ˛ > kk1 , und x minimiere f ./ C ˛
m0 X
max¹gi ./; 0º C
m X
jgi ./j
i Dm0 C1
i D1
auf K. Dann ist x 2 K und nach a)
f .x/ O D f .x / C ˛
m0 X
max¹gi .x /; 0º C
jgi .x /j :
m X i Dm0 C1
i D1
Wäre gi .x / > 0 für ein i 2 ¹1; : : : ; m0 º oder gi .x / ¤ 0 für ein i 2 ¹m0 C1; : : : ; mº, so erhielten wir den Widerspruch f .x/ O f .x / C
m X
i gi .x /
i D1
f .x / C kk1
m0 X i D1
< f .x / C ˛
m0 X i D1
m X
max¹gi .x /; 0º C
max¹gi .x /; 0º C
jgi .x /j
i Dm0 C1 m X
jgi .x /j :
i Dm0 C1
Dieser Widerspruch beweist gi .x / 0 für i D 1; : : : ; m0 und gi .x / D 0 für O d. h. x ist i D m0 C 1; : : : ; m. Also ist x zulässig für (P) und f .x / D f .x/, optimal für das konvexe Optimierungsproblem (P).
429
Abschnitt 7.7 Innere-Punkte-Verfahren
Bemerkung 7.6.15. (i) Die Voraussetzungen besagen gerade, dass in xO starke Dualität vorliegt bzw. dass .x; O / Sattelpunkt der Lagrange-Funktion von (P) ist. Hinreichend hierfür ist die abgeschwächte (globale) Slater-Bedingung für (P). (ii) Die Folgerungen besagen, dass die angegebene `1 -Penalty-Funktion exakt ist. Im konvexen Fall lassen sich mit dualitätstheoretischen Hilfsmitteln noch weitere schöne Eigenschaften beweisen, vgl. [17]. Für nichtkonvexe Probleme finden sich Zusatzinformationen in [53]. Leider sind die hier angegebenen exakten Penalty-Funktionen nicht differenzierbar. Einen Ausweg aus dieser Problematik bieten die Multiplier-Penalty-Methoden, deren Grundprinzip in Abschnitt 7.8 geschildert wird.
7.7
Innere-Punkte-Verfahren
Im Unterabschnitt 7.6.2 haben wir innere Penalty-Methoden (Barriere-Methoden) kennen gelernt. Diese Methoden generieren eine Folge von Punkten aus dem „Inneren“ S ı der zulässigen Menge S des restringierten Ausgangsproblems (P), die eine im Allgemeinen auf dem Rand von S liegende Minimallösung approximieren. Derartige Ansätze wurden bereits früh von Fiacco und McCormick [40] diskutiert, zwischenzeitlich nicht sonderlich beachtet, haben aber mittlerweile eine Renaissance erfahren. Entscheidende Impulse hierfür haben die Arbeiten von Khachiyan [94] und Karmarkar [91] gegeben. Wir schildern die wesentlichen, über das reine Barriere-Prinzip hinausgehenden neuen Ideen zunächst am Beispiel linearer Optimierungsprobleme. Die folgende Darstellung basiert auf [169, 53, 85].
7.7.1 Zentraler Pfad für lineare Optimierungsprobleme Vorgelegt sei das lineare Optimierungsproblem in primaler Normalform: Primale Normalform 7.7.1. Gegeben seien c 2 Rn , b 2 Rm und die reelle m nMatrix A. (P)
Minimiere c>x unter den Nebenbedingungen x 2 Rn und Ax D b;
x 0Rn Š
430
Kapitel 7 Verfahren der nichtlinearen Optimierung
Das zugehörige Dualproblem ist: Duale Normalform 7.7.2. (D) Maximiere b>y unter den Nebenbedingungen y 2 Rm und A> y c Š Ungleichungen, im Folgenden auch strikte Ungleichungen, sind immer komponentenweise zu verstehen. Mit RnC WD ¹x 2 Rn W x 0Rn º bezeichnen wir den nichtnegativen Orthanten des Rn , mit RnCC WD ¹x 2 Rn W x > 0Rn º den (strikt) positiven Orthanten des Rn . Nach den Dualitätssätzen der linearen Optimierung sind die folgenden drei Aussagen äquivalent: (i) xO ist Minimallösung von (P) und yO Maximallösung von (D). (ii) xO ist zulässig für (P), yO ist zulässig für (D), und die Zielfunktionswerte sind gleich, O c > xO D b > y: (iii) xO ist zulässig für (P), yO ist zulässig für (D), und es gilt die Complementary Slackness Condition xOj > 0 H)
m X
aij yi D cj
i D1
für j D 1; : : : ; n. Mit den dualen Schlupfvariablen s D .s1 ; : : : ; sn /> 2 RnC lässt sich die Aussage (iii) auch in der Form schreiben AxO D b;
(7.26)
A> yO C sO D c;
(7.27)
xO 0Rn ; xOj sOj D 0
sO 0Rn ;
(7.28)
.j D 1; : : : ; n/:
(7.29)
431
Abschnitt 7.7 Innere-Punkte-Verfahren
Das primale Simplexverfahren approximiert Minimallösungen xO von (P) durch Abstieg im Rand der zulässigen Menge SP von (P). Das duale Simplexverfahren approximiert Maximallösungen yO von (D) durch Aufstieg im Rand der zulässigen Menge SD von (D). Im Gegensatz dazu approximieren Innere-Punkte-Methoden Optimallösungen von (P) bzw. (D) durch so genannte Pfadverfolgungsstrategien in den Mengen SPı WD ¹x 2 Rn W Ax D b; x > 0Rn º bzw. ı WD ¹.y; s/ 2 Rm Rn W A> y C s D c; s > 0Rn º: SD
Sie meiden damit die insbesondere für hochdimensionale Probleme komplexe polyedrische Struktur des Rands von SP und SD . Von besonderer Bedeutung ist also die Menge F ı WD ¹.x; y; s/ 2 RnCmCn W Ax D b; A> y C s D c; x > 0Rn ; s > 0Rn º: (7.30) Den zu verfolgenden Pfad gewinnen wir durch Lösung (logarithmischer) BarriereProbleme. Barriere-Probleme 7.7.3. .P˛ / Minimiere >
c x˛
n X
ln.xi /
i D1
unter den Nebenbedingungen x > 0Rn und Ax D b Š Für jedes ˛ > 0 ist .P˛ / ein konvexes Optimierungsproblem auf der offenen Menge RnCC mit lauter affinen Gleichungsnebenbedingungen. Nach dem Dualitätssatz der konvexen Optimierung bzw. den lokalen KKT-Bedingungen ist x.˛/ genau dann Minimallösung von .P˛ / mit ˛ > 0, wenn ein KKT-Vektor y.˛/ existiert mit 1 1 > > y .˛/A .x x.˛// 0 .x 2 Rn /; ;:::; c ˛ x1 .˛/ xn .˛/ Ax.˛/ D b; x.˛/ > 0Rn : Mit der Vereinbarung sj .˛/ WD folgt damit der
˛ xj .˛/
.j D 1; : : : ; n/
432
Kapitel 7 Verfahren der nichtlinearen Optimierung
Satz 7.7.4. x.˛/ ist genau dann Minimallösung des Barriere-Problems .P˛ / mit ˛ > 0, wenn Vektoren y.˛/ 2 Rm ; s.˛/ 2 RnCC existieren mit A> y.˛/ C s.˛/ D c;
(7.31)
Ax.˛/ D b;
(7.32)
xj .˛/sj .˛/ D ˛
.j D 1; : : : ; n/:
(7.33)
Anmerkung. Die Punkte .x.˛/; y.˛/; s.˛//
.˛ > 0/
heißen auch zentraler Pfad. Die Gleichungen (7.31), (7.32), (7.33) heißen zentrale Pfadbedingungen. Die zentralen Pfadbedingungen können offenbar als Störung der Optimalitätsbedingungen für das duale Problempaar (P) und (D) interpretiert werden. Störparameter ist der Penalty-Parameter ˛ > 0, und es wird gerade die Complementary Slackness Condition gestört. Ziel des Pfadverfolgungsalgorithmus muss eine möglichst gute Approximation des zentralen Pfads für ˛ ! 0C sein in der Hoffnung, dass der O y; O sO / lim .x.˛/; y.˛/; s.˛// DW .x;
˛!0C
existiert und das duale Problempaar (P), (D) optimal löst. Bemerkenswerterweise haben schon Fiacco und McCormick in [40] dieses Ziel zu erreichen versucht mittels Extrapolationstechniken für den zentralen Pfad. Es stellt sich natürlich die Frage, wann die Barriere-Probleme .P˛ / für ˛ > 0 eine Minimallösung besitzen bzw. wann die zentralen Pfadbedingungen erfüllbar sind. Offenbar besitzen die Probleme .P˛ / keine Minimallösung für ˛ > 0, falls die Menge F ı aus Gleichung (7.30) leer ist. Ist diese Menge nicht leer, so besitzen sie eine Minimallösung, wie der folgende Satz zeigt. Existenzsatz 7.7.5. Sei die Menge F ı ¤ ;. Dann besitzt das Barriere-Problem .P˛ / eine Minimallösung x.˛/ > 0Rn für jedes ˛ > 0. Wegen Satz 7.7.4 existiert dann auch ein zentraler Pfad. Beweis. Sei ˛ > 0 und .x; O y; O sO / 2 F ı . Die Zielfunktion von .P˛ / >
˛ .x/ WD c x ˛
n X
ln.xi /
i D1
ist definiert und stetig auf RnCC . Betrachte die Menge O L˛ WD ¹x 2 Rn W Ax D b; x 2 RnCC ; ˛ .x/ ˛ .x/º:
433
Abschnitt 7.7 Innere-Punkte-Verfahren
Für x 2 L˛ gilt ˛ .x/ D c > x ˛
n X
ln.xi /
i D1 >
>
D c x yO .Ax b/ ˛
n X
ln.xi /
i D1
D c > x x > A> yO C b > yO ˛
n X
ln.xi /
i D1 >
>
D x sO C b yO ˛
n X
ln.xi /:
i D1
Wegen sO 2 RnCC gilt für jede Folge .x k /k2N L˛ mit limk!1 kx k k D 1 auch limk!1 ˛ .x k / D 1. Also ist L˛ beschränkt. Q Dann ist xQ 2 RnC und AxQ D Sei .x k /k2N L˛ eine Folge mit limk!1 x k D x. n k b. Wäre xQ … RCC , so wäre die Folge .˛ .x //k2N unbeschränkt im Widerspruch zu x k 2 L˛ .k 2 N/. Also ist xQ 2 RnCC . Da ˛ auf RnCC stetig ist, folgt aus O ˛ .x k / ˛ .x/
.k 2 N/
auch lim ˛ .x k / D ˛ .x/ Q ˛ .x/: O
k!1
Also ist L˛ abgeschlossen. Damit ist L˛ kompakt und wegen xO 2 L˛ auch nicht leer. Folglich nimmt ˛ sein Minimum auf L˛ an.
7.7.2 Pfadverfolgungsalgorithmen Wir wollen jetzt den zentralen Pfad approximieren für ˛ ! 0C. Es geht dabei nicht primär darum, die zentralen Pfadbedingungen (7.31) , (7.32) , (7.33) für ein konkretes ˛ > 0 exakt zu erfüllen. Dies liefe auf die Lösung des Barriere-Problems .P˛ / hinaus. Es geht vielmehr darum, den zentralen Pfad für ˛ ! 0C möglichst gut zu approximieren in der Hoffnung, damit auch eine gute Approximation für die Optimallösungen des dualen Problempaars (P) und (D) zu gewinnen. Wir schildern einen typischen Schritt eines Pfadverfogungsalgorithmus, und zwar den Übergang von der Näherung .x k ; y k ; s k / mit x k > 0Rn ; y k 2 Rm ; s k > 0Rn für den Parameterwert ˛k > 0 zur nächsten Näherung .x kC1 ; y kC1 ; s kC1 / für den Parameterwert ˛kC1 > 0.
434
Kapitel 7 Verfahren der nichtlinearen Optimierung
Die zentralen Pfadbedingungen (7.31), (7.32), (7.33) erfordern die Lösung des Gleichungssystems 0 > 1 A yCsc F .x; y; sI ˛/ WD @ Ax b A D ‚ XSe ˛e für x 2 RnCC ; y 2 Rm ; s 2 RnCC , das von dem Parameter ˛ abhängt. Hierbei verwenden wir die Bezeichnungen X D diag.x1 ; : : : ; xn /;
S D diag.s1 ; : : : ; sn /;
e D .1; : : : ; 1/> :
Mit ‚ bezeichnen wir Nullmatrizen unterschiedlicher Dimensionierung, mit I Einheitsmatrizen. Die Funktionalmatrix von F bezüglich x; y; s (bei festgehaltenem ˛) ist 1 0 ‚ A> I 0 F.x;y;s/ .x; y; sI ˛/ D @ A ‚ ‚ A : S ‚ X Es gilt Lemma 7.7.6. Die Matrix A besitze den Rang m. Dann ist die Funktionalmatrix 0 F.x;y;s/ .x; y; sI ˛/ regulär für alle x 2 RnCC ; y 2 Rm ; s 2 RnCC und alle ˛ > 0. Beweis. 0
1 x 0 .x; y; sI ˛/ @ y A D ‚ F.x;y;s/ s ist gleichbedeutend mit A> y C s D ‚; A x D ‚; S x C X s D ‚: Damit folgt x > A> y C x > s D 0 und hieraus x > s D 0:
435
Abschnitt 7.7 Innere-Punkte-Verfahren
Aus der dritten Gleichung folgt s D X 1 S x; also ist x > X 1 S x D 0: Da X 1 S positiv definit ist, ist x D ‚ und damit auch s D ‚. Da A> den Rang m besitzt, ist auch y D ‚. Dieses Resultat legt nahe, ausgehend von einer Näherung .x k ; y k ; s k / 2 RnCC Rm RnCC zum Parameterwert ˛k > 0 eine nächste Näherung .x kC1 ; y kC1 ; s kC1 / 2 RnCC Rm RnCC durch einen (gedämpften) Newton-Schritt zu bestimmen: Berechne zunächst die volle Newton-Korrektur aus 1 10 1 0 > k 0 A y C sk c ‚ A> I x A: @ A ‚ ‚ A @ y A D @ Ax k b k ‚ Xk k k s S X S e ˛k e
(7.34)
Setze damit x kC1 WD x k C tk x; y kC1 WD y k C tk y; s kC1 WD s k C tk s; wobei tk 2 Œ0; 1 eine Schrittweite ist, die (mindestens) x kC1 2 RnCC ; s kC1 2 RnCC garantiert. Würde man diese Newton-Iteration fortsetzen mit festem Parameterwert ˛k > 0, so würde man (lokale) Konvergenz gegen eine Lösung der zentralen Pfadbedingungen nur für diesen Wert ˛k erreichen. Dies ist aber nicht das vorrangige Ziel eines Pfadverfolgungsalgorithmus. Die obige Vorschrift muss also noch ergänzt werden um einen Update des Werts ˛k > 0. Eine Möglichkeit besteht darin, ˛k WD k
.x k /> s k n
436
Kapitel 7 Verfahren der nichtlinearen Optimierung
gleich „passend“ zur aktuellen Iterierten zu wählen und nach dem Newton-Schritt ˛kC1 WD kC1
.x kC1 /> s kC1 n
zu setzen. Der so genannte „Centering-Parameter“ k 2 Œ0; 1 ist neben der Schrittweite tk ein weiterer Freiheitsgrad des Algorithmus. Im Allgemeinen wird dieser Parameter noch weiter eingeschränkt, z. B. durch 0 < min k max < 1
.k 2 N/:
Konkrete Realisierungen des Algorithmus versuchen, die Schrittweite tk so zu wählen, dass die Iterierten .x k ; y k ; s k / in einer Umgebung des zentralen Pfads verbleiben. In der Regel werden die Umgebungen ³ x>s x>s e N2 ./ WD .x; y; s/ 2 F W XSe n 2 n ²
ı
oder ² ³ x >s .j D 1; : : : ; n/ N1 ./ WD .x; y; s/ 2 F ı W xj sj n verwendet mit 2 .0; 1/. Da die ersten beiden Gleichungen in den zentralen Pfadbedingungen linear sind, bleiben diese Gleichungen für alle Newton-Iterierten erfüllt, wenn sie für die Startwerte .x 0 ; y 0 ; s 0 / erfüllt sind. Solche Verfahren nennt man zulässig. Zusammenfassend erhalten wir den folgenden Prototypen eines (zulässigen) Innere-Punkte-Verfahrens, vgl. [53, Algorithmus 4.8]: Algorithmus 7.7.7 (Innere-Punkte-Verfahren, Pfadverfolgungsalgorithmus). (0) Wähle 2 .0; 1/, 0 < min < max < 1, " 2 .0; 1/, Startwerte .x 0 ; y 0 ; s 0 / 2 N1 ./ und setze k D 0. (1) Ist k WD
.x k /> s k n
", STOP.
(2) Wähle min k max und berechne . x; y; s/ aus 1 0 1 10 ‚ ‚ A> I x A: @ A ‚ ‚ A @ y A D @ ‚ k k k ‚ Xk s X S e k k e S 0
(7.35)
437
Abschnitt 7.7 Innere-Punkte-Verfahren
(3) Setze x kC1 WD x k C tk x; y kC1 WD y k C tk y; s kC1 WD s k C tk s; wobei tk > 0 die größte Schrittweite aus Œ0; 1 ist mit .x kC1 ; y kC1 ; s kC1 / 2 N1 ./: (4) Setze k WD k C 1 und gehe zu (1). Anmerkungen.
Die Iterierten x k sind primalzulässig, da nach Konstruktion stets gilt Ax k D b; x k > 0Rn :
Die Iterierten y k sind dualzulässig, da stets gilt A> y k C s k D c; s k > 0Rn : Lemma 7.7.6 garantiert die Durchführbarkeit des Algorithmus, falls der Rang von A gleich m ist.
Die einzige Bedingung in den Optimalitätsbedingungen (7.26)–(7.29) für (P) und (D), die von .x k ; y k ; s k / im Allgemeinen nicht erfüllt wird, ist die Komplementaritätsbedingung .x k /> s k D 0. Wir müssen also dafür sorgen, dass diese Größe bzw.
k WD
.x k /> s k n
klein wird. Dadurch ist das Abbruchkriterium in Schritt (1) motiviert. Man beachte in diesem Zusammenhang auch, dass .s k /> x k D c > x k .A> y/> x k D c > x k b > y gerade der Unterschied der Zielfunktionswerte der primalzulässigen Lösung x k und der dualzulässigen Lösung y k ist. Dieser Algorithmus kann daher auch als ein primaldualer Algorithmus interpretiert werden, dessen Ziel ist, die Lücke zwischen diesen Zielfunktionswerten zu schließen.
438
Kapitel 7 Verfahren der nichtlinearen Optimierung
Das folgende Konvergenzresultat findet sich in [53, Satz 4.13]: Konvergenzsatz 7.7.8. Sei ..x k ; y k ; s k //k2N0 eine durch den Algorithmus 7.7.7 erzeugte Folge. Der Startvektor .x 0 ; y 0 ; s 0 / erfülle die Bedingung 0
1 "
mit einer Konstanten > 0. Dann existiert ein Index k0 2 N mit k0 D O.njln."/j/ und k "
.k k0 /:
Der Beweis dieses Konvergenzsatzes geht über den Rahmen dieser Einführung hinaus. Es gibt auch zahlreiche weitere Formen der Innere-Punkte-Methode, die alle ein profundes intuitives Verständnis für die Pfadverfolgung erfordern und auch der Problemstruktur angepasste Beweisideen, vgl. hierzu [169, 163, 53, 85]. Bemerkenswert ist die Tatsache, dass typische Konvergenzaussagen wie z. B. die des Konvergenzsatzes 7.7.8 garantieren, dass eine „"-Lösung“ des dualen Problempaars (P) und (D) mit polynomialem Aufwand bezüglich der Dimension n gewonnen werden kann. Dies kann das Simplexverfahren nicht leisten, wobei man allerdings berücksichtigen sollte, dass es „im Mittel“ polynomiale Komplexität zur Berechnung der exakten Optimallösung besitzt, vgl. [21].
7.7.3 Ausblick auf nichtlineare Optimierungsprobleme Wir schließen diesen Abschnitt mit einigen Bemerkungen zur Erweiterung der InnerePunkte-Methode auf nichtlineare Optimierungsprobleme. Wir betrachten nichtlineare, differenzierbare Optimierungsprobleme, bei denen alle Restriktionen als explizite Gleichungen und Ungleichungen formuliert sind. Optimierungsproblem 7.7.9. Gegeben seien differenzierbare Abbildungen f; g1 ; : : : ; gm W Rn ! R. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und gi .x/ 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š
439
Abschnitt 7.7 Innere-Punkte-Verfahren
Ähnlich wie im linearen Fall ersetzen wir die Ungleichungsrestriktionen durch Gleichungsrestriktionen auf Kosten von Schlupfvariablen s > 0Rm0 , die wir mittels logarithmischer innerer Penalty-Funktionen mit Penalty-Parameter ˛ > 0 an die Zielfunktion ankoppeln. Dies führt auf die Barriere-Probleme 7.7.10. .P˛ / Minimiere 0
f .x/ ˛
m X
ln.si /
i D1 0
unter den Nebenbedingungen x 2 Rn ; s 2 Rm CC und gi .x/ C si D 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š Die Lagrange-Funktion des Barriere-Problems .P˛ / ist 0
L.x; s; / D f .x/ ˛
m X
0
ln.si / C
i D1
m X
m X
i .gi .x/ C si / C
i gi .x/:
i Dm0 C1
i D1
Damit lauten die KKT-Bedingungen des Barriere-Problems zum Penalty-Parameter ˛ > 0 wie folgt: rf .x/ C
m X
i rgi .x/ D 0Rn ;
(7.36)
1 C i D 0 si
.i D 1; : : : ; m0 /;
(7.37)
gi .x/ C si D 0
.i D 1; : : : ; m0 /;
(7.38)
i D1
˛
gi .x/ D 0
0
.i D m C 1; : : : ; m/:
(7.39)
Gleichung (7.37) ist äquivalent zu i s i D ˛
.i D 1; : : : ; m0 /;
wegen si D gi .x/ > 0 .i D 1; : : : ; m0 / also zu i gi .x/ D ˛
.i D 1; : : : ; m0 /:
(7.40)
Dies ist gerade die durch ˛ > 0 gestörte Komplementaritätsbedingung, die uns auch schon im linearen Fall begegnet ist.
440
Kapitel 7 Verfahren der nichtlinearen Optimierung
Die vom Parameter ˛ > 0 abhängige Lösung 0
0
0
mm .x.˛/; .˛/; s.˛// 2 Rn Rm Rm CC R CC
bestimmt wiederum den zentralen Pfad, soweit diese Lösung existiert. Wie im linearen Fall wird das nichtlineare Gleichungssystem (7.36)–(7.39) mittels Pfadverfolgungsalgorithmen gelöst. Wir begnügen uns hier mit diesen knappen Bemerkungen und verweisen für die zahlreichen Details von Innnere-Punkte-Verfahren auf [126, 169, 163, 164]. Abschließend illustrieren wir den zentralen Pfad anhand des folgenden einfachen Beispiels. Beispiel 7.7.11. Wir wollen die Funktion f .x1 ; x2 / D x1 C x2 minimieren unter den Nebenbedingungen g1 .x1 ; x2 / D x12 x2 0; g2 .x1 ; x2 / D x1 0: Das zugehörige Barriere-Problem lautet: .P˛ / Minimiere x1 C x2 ˛.ln.s1 / C ln.s2 // unter den Nebenbedingungen x 2 R2 ; s 2 R2CC und x12 x2 C s1 D 0; x1 C s2 D 0 Š Die (lokalen) KKT-Bedingungen für das Barriere-Problem lauten gemäß Gleichungen (7.36)–(7.40): 2x1 1 0 1 D ; C 1 C 2 0 0 1 1 x12 x2 C s1 D 0; x1 C s2 D 0; 1 .x12 x2 / D ˛; 2 .x1 / D ˛:
441
Abschnitt 7.7 Innere-Punkte-Verfahren
Hieraus folgt 1 .˛/ 1; 2 .˛/ D 2x1 .˛/ C 1; x1 .˛/2 x2 .˛/ D ˛; 2x1 .˛/2 C x1 .˛/ D ˛: Damit wird r
1 ˛ C ; 16 2 r 1 1 1 ˛ 3 C ; x2 .˛/ D ˛ C 2 8 2 16 2 1 .˛/ 1; r 1 1 ˛ C : 2 .˛/ D C 2 2 16 2 1 x1 .˛/ D C 4
Es gilt weiter g1 .x1 .˛/; x2 .˛// D ˛ < 0; g2 .x1 .˛/; x2 .˛// D x1 .˛/ < 0: Die Punkte x.˛/, die Schlupfvariablen s1 .˛/ WD ˛, s2 .˛/ WD x1 .˛/ und die LagrangeMultiplikatoren .˛/ erfüllen also die (lokalen) KKT-Bedingungen. Da das BarriereProblem konvex ist, ist x.˛/ Minimallösung von .P˛ /. 4 3.5 3
.x1 .˛/; x2 .˛//
2.5
x2
2 1.5 1
g1 .x1 ; x2 / D 0
0.5 0
0
0.5
1
1.5
2
x1 Abbildung 7.5. Zulässiger Bereich und zentraler Pfad (gestrichelt).
442
Kapitel 7 Verfahren der nichtlinearen Optimierung
Grenzübergang ˛ ! 0C liefert lim x1 .˛/ D 0;
˛!0C
lim x2 .˛/ D 0;
˛!0C
lim 1 .˛/ D 1;
˛!0C
lim 2 .˛/ D 1:
˛!0C
In der Tat ist der Punkt xO WD .0; 0/> Minimallösung des Ausgangsproblems und O WD .1; 1/> zugehöriger KKT-Vektor, wovon man sich leicht durch direkte Analyse der KKT-Bedingungen für das Ausgangsproblem überzeugen kann. Abbildung 7.5 zeigt den zentralen Pfad .x1 .˛/; x2 .˛// für ˛ > 0.
7.8
Multiplier-Penalty-Methoden
Im letzten Abschnitt dieses Kapitels über Konzepte des Nonlinear Programming stellen wir alle nötigen mathematischen Hilfsmittel für die Formulierung und Konvergenzanalyse so genannter Multiplier-Penalty-Methoden zusammen. Uns kommt es dabei mehr auf die zugrunde liegenden Ideen an. Auf die umfangreichen Beweise aller mathematischen Einzelheiten müssen wir aus Platzgründen verzichten. Grundlage unserer Darstellung ist das Buch von M. R. Hestenes [78, Chap. 5]. Zunächst beschränken wir uns auf Optimierungsprobleme mit lauter Gleichungsnebenbedingungen. Optimierungsproblem 7.8.1. Gegeben seien Abbildungen f; g1 ; : : : ; gm W Rn ! R. (P)
Minimiere f .x/ unter den Nebenbedingungen x 2 Rn und gi .x/ D 0 .i D 1; : : : ; m/ Š
Als Norm k k WD k k2 verwenden wir in diesem Abschnitt durchweg die euklidische Vektornorm.
7.8.1 Lagrangesches Prinzip Die entscheidende Idee von J. L. de Lagrange war, die Zielfunktion f dieses Problems mittels Multiplikatoren 1 ; : : : ; m zu erweitern zur heute so genannten LagrangeFunktion L.x; / D f .x/ C > g.x/ .x 2 Rn /
Abschnitt 7.8 Multiplier-Penalty-Methoden
443
und diese erweiterte Zielfunktion (bei festgehaltenem ) auf dem ganzen Rn zu minimieren. Auf diese Weise konnten die „schwierigen“ Nebenbedingungen beseitigt werden, und das restringierte Problem (P) wurde in ein „leichteres“ unrestringiertes überführt. Bemerkenswert ist, dass Lagrange diese Idee für Variationsprobleme, also Funktionenraumprobleme, entwickelt hat. Diese Idee war (neben Leonhard Eulers Beiträgen) der entscheidende Impuls für die Weiterentwicklung der Variationsrechnung zur heutigen Theorie der optimalen Steuerungen. Einschlägige Resultate in Form notwendiger und hinreichender Optimalitätsbedingungen haben wir in Kapitel 5 und 6 ausführlich dargestellt. Für Steuerungsprobleme haben die notwendigen Optimalitätsbedingungen die Form eines Maximumprinzips, vgl. Abschnitt 8.5. Natürlich sind die Lagrangeschen Multiplikatoren O 2 Rm , die zu einer (lokalen) Optimallösung xO von (P) gehören, nicht bekannt. In einem effizienten Algorithmus müssen sie also mitberechnet werden. In diesem Sinne sind die Lagrange-NewtonMethode bzw. die SQP-Methode, die wir in den Abschnitten 7.4 und 7.5 ausführlich dargestellt haben, reine Multiplier-Methoden. Zur Vergrößerung des Konvergenzbereichs dieser Methode wurden Penalty-Techniken verwendet, die auch eigenständige Bedeutung haben und ebenfalls versuchen, komplizierte Nebenbedingungen zu beseitigen und das restringierte Ausgangsproblem (P) durch eine Folge von unrestringierten Problemen zu approximieren, vgl. Abschnitte 7.6 und 7.7. Exakte Penalty-Methoden besitzen leider im Allgemeinen nichtdifferenzierbare Penalty-Funktionen. Die entscheidende Idee von Multiplier-Penalty-Methoden besteht darin, das Lagrangesche Prinzip und das Penalty-Konzept zu verbinden zu exakten Methoden, die zusätzlich die Differenzierbarkeit der Hilfsprobleme bewahren.
7.8.2 Erweiterbarkeit Wir erweitern die Zielfunktion des Problems (P) gemäß dem Lagrangeschen Prinzip und zusätzlich noch um äußere Penalty-Funktionen zur erweiterten LagrangeFunktion (augmented Lagrangean) ˛ La .x; ; ˛/ WD f .x/ C > g.x/ C kg.x/k2 : 2 Diese erweiterte Lagrange-Funktion definiert die folgende Klasse parametrischer unrestringierter Optimierungsprobleme: Unrestringierte Optimierungsprobleme 7.8.2. .P;˛ / Minimiere ˛ f .x/ C > g.x/ C kg.x/k2 2 n unter der Nebenbedingung x 2 R !
444
Kapitel 7 Verfahren der nichtlinearen Optimierung
Jetzt sei xO ein zulässiger Punkt des restringierten Problems (P). Wir nehmen in diesem Abschnitt durchweg an, dass die Abbildungen f; g1 ; : : : ; gm zweimal stetig partiell differenzierbar sind in einer Umgebung von x. O Wir erinnern an die hinreichende Bedingung dafür, dass xO lokales Minimum des Problems (P) ist. Hinreichende Optimalitätsbedingung 7.8.3. xO sei zulässig für (P), d. h. es gelte g.x/ O D 0Rm ; und xO erfülle die (lokalen) KKT-Bedingungen, d. h. es existiere ein O 2 Rm mit O D 0Rn : rf .x/ O C O > rg.x/ Weiter sei h> .fxx .x/ O C O > gxx .x//h O >0 für alle h 2 Rn n ¹0Rn º mit O D 0Rm : gx .x/h Dann existieren Konstanten " > 0; ı > 0 mit f .x/ f .x/ O C "kx xk O 2 für alle x 2 Rn mit g.x/ D 0Rm und kx xk O ı. Hinreichend dafür, dass eine (lokale) Optimallösung xO von (P) die KKT-Bedingungen erfüllt, ist unter unseren Differenzierbarkeitsvoraussetzungen gemäß 6.3.12 die lineare Unabhängigkeit der Gradienten O : : : ; rgm .x/: O rg1 .x/; Dann ist der Multiplikator O auch eindeutig bestimmt. Nach diesen Vorbereitungen können wir den folgenden Satz formulieren. Satz 7.8.4 (Exaktheit der erweiterten Lagrange-Funktion). xO erfülle die hinreichende O Optimalitätsbedingung zweiter Ordnung 7.8.3 mit zugehörigem KKT-Vektor . Dann existieren Konstanten " > 0; ı > 0; ˛0 > 0 mit ˛ f .x/ C O > g.x/ C kg.x/k2 f .x/ O C "kx xk O 2 2 für alle x 2 Rn mit kx xk O ı und alle ˛ ˛0 . Insbesondere gilt f .x/ f .x/ O C "kx xk O 2 für alle x 2 Rn mit g.x/ D 0Rm und kx xk O ı.
445
Abschnitt 7.8 Multiplier-Penalty-Methoden
Zum Beweis vgl. man [78, Thm. 4.2]. Dieser Satz besagt gerade, dass die (lokale) Minimallösung des restringierten Problems (P) auch (lokale) Minimallösung der unrestringierten Probleme .P;˛ O / ist für jedes ˛ ˛0 . O ˛/ exakt. Allerdings In diesem Sinne ist die erweiterte Lagrange-Funktion La .x; ; O ist der Lagrange-Multiplikator unbekannt.
7.8.3 Konvergenz der Multiplier-Penalty-Methode In Satz 7.8.4 tritt der unbekannte KKT-Vektor O in der erweiterten Lagrange-Funktion auf, der in einem effektiven Verfahren mitberechnet werden muss. In den Arbeiten [77] und [132] haben Hestenes und Powell einen Verfahrensvorschlag gemacht, dessen theoretische Grundlage der folgende Konvergenzsatz ist. Konvergenzsatz 7.8.5 (Hestenes [78, Chap. 5, Thm. 10.1]). xO 2 int K sei strikte Minimallösung des restringierten Optimierungsproblems (P) relativ zu einer kompakten Menge K Rn , d. h. es ist g.x/ O D 0Rm und f .x/ O f .x/ für alle x 2 K mit g.x/ D 0Rm . Die Abbildungen f; g1 ; : : : ; gm seien zweimal stetig partiell differenzierbar auf (einer offenen Obermenge von) K. Die Gradienten O : : : ; rgm .x/ O rg1 .x/; seien linear unabhängig. Dann existiert also ein eindeutig bestimmter KKT-Vektor O O 2 Rm für x. In xO sei auch die hinreichende Optimalitätsbedingung 7.8.3 zweiter Ordnung erfüllt. Wähle eine Folge von Zahlen 0 ; 1 ; 2 ; : : : mit k 0 > 0 .k 2 N/ und einen Vektor 0 2 Rm . Dann existiert ein Parameterwert ˛O > 0 mit folgenden Eigenschaften: (a) x kC1 minimiere die erweiterte Lagrange-Funktion f .x/ C .k /> g.x/ C
˛O C k kg.x/k2 2
für x 2 K, und kC1 werde berechnet gemäß kC1 WD k C k g.x kC1 / .k D 0; 1; 2; : : :/:
446
Kapitel 7 Verfahren der nichtlinearen Optimierung
Dann folgt O lim x k D x;
k!1
O lim k D :
k!1
(b) Mit Konstanten c1 > 0; c2 > 0; c3 > 0 gilt ab einem gewissen Index k0 2 N für alle k k0 kg.x kC1 /k
kg.x k /k ; 1 C c1 k
O c2 kg.x k /k; kx k xk O c3 kg.x k /k: kk k Zum Beweis vgl. man [78, Chap. 5]. Der Beweis ist mit den Mitteln dieser Einführung und durch Studium des Buchs [78] nachvollziehbar, insgesamt aber zu umfangreich, um hier dargestellt werden zu können. Obiger Konvergenzsatz ist die theoretische Grundlage für die folgende konzeptionelle Multiplier-Penalty-Methode. Dabei wurde vom expliziten Gebrauch der kompakten Menge K abgesehen und angenommen, dass die unrestringierten Hilfsprobleme (lokale) Optimallösungen besitzen. Multiplier-Penalty-Methode 7.8.6. (0) Wähle x 0 2 Rn , 0 2 Rm , ˛0 > 0, 2 .0; 1/ und setze k D 0. x 0 betrachte man als Startwert für ein Abstiegsverfahren zur Lösung von .P0 ;˛0 /. (1) Ist .x k ; k / KKT-Punkt des restringierten Problems (P), so breche man die Rechnung ab. (2) x kC1 löse das Hilfsproblem .Pk ;˛k /. (3) Setze kC1 WD k C ˛k g.x kC1 /. (4) Ist kg.x kC1 /k kg.x k /k, so vergrößere man ˛kC1 . Andernfalls setze ˛kC1 WD ˛k . (5) Setze k WD k C 1 und gehe zu (1). Man beachte, dass der Weg vom Konzept eines Algorithmus zu seiner effizienten Umsetzung auf dem Computer lang und mühsam ist. Effiziente Implementierungen von Multiplikator-Penalty-Verfahren werden in [99, 98] im Detail beschrieben und analysiert und sind in der Praxis sehr erfolgreich.
447
Abschnitt 7.8 Multiplier-Penalty-Methoden
7.8.4 Behandlung von Ungleichungsnebenbedingungen Optimierungsprobleme mit Gleichungs- und Ungleichungsnebenbedingungen können durch die Einführung von Schlupfvariablen in Probleme mit lauter Gleichungsnebenbedingungen umgeformt werden, vgl. hierzu [162] und [135]. Das Problem lautet dann: Optimierungsproblem 7.8.7. Gegeben seien Abbildungen f; g1 ; : : : ; gm W Rn ! R. (P)
Minimiere f .x/ 0
unter den Nebenbedingungen x 2 Rn ; s 2 Rm und gi .x/ C si2 D 0 .i D 1; : : : ; m0 /; gi .x/ D 0 .i D m0 C 1; : : : ; m/ Š Die zugehörige erweiterte Lagrange-Funktion ist m X 0
f .x/ C
i .gi .x/ C
iD1
si2 /
˛ C .gi .x/ C si2 /2 C 2
m X
i gi .x/ C
i Dm0 C1
˛ gi .x/2 : 2
Für festes x kann die Minimierung bezüglich s explizit ausgeführt werden, und man erhält ° ± i .i D 1; : : : ; m0 /: si .x/2 D max 0; C gi .x/ ˛ Einsetzen in die erweiterte Lagrange-Funktion liefert m0 m X ˛ 1 X 2 2 .max¹0; i C ˛gi .x/º i / C i gi .x/ C gi .x/2 : f .x/ C 2˛ 2 0 iD1
i Dm C1
Für die Multiplikatoren ergeben sich die Update-Formeln kC1 WD max¹0; ki C ˛k gi .x kC1 /º i WD ki C ˛k gi .x kC1 / kC1 i
.i D 1; : : : ; m0 /;
.i D m0 C 1; : : : ; m/:
O der sich für das transformierte Man überzeuge sich davon, dass der Multiplikator , Problem 7.8.7 ergibt, auch die Eigenschaften besitzt ´ 0 .i D 1; : : : ; m0 /; O i O < 0: D 0; falls gi .x/
448
Kapitel 7 Verfahren der nichtlinearen Optimierung
Eine andere Möglichkeit, Probleme mit Gleichungs- und Ungleichungsnebenbedingungen „einheitlich“ zu behandeln, besteht darin, nur Ungleichungen zuzulassen und Gleichungen gi .x/ D 0 in der Form gi .x/ 0; gi .x/ 0 zu schreiben. Dieser zweite Zugang ist Quelle mancher Trugschlüsse, da die Slater-Bedingung oder die lineare Unabhängigkeit der Gradienten aller aktiven Nebenbedingungen nicht mehr erfüllt werden können. Man benötigt für diesen Zugang vielmehr verfeinerte Optimalitätsbedingungen, vgl. auch hierzu [78]. Wir schließen diesen Abschnitt mit einem Testbeispiel, bei dem die exakte Lösung zur Kontrolle auch direkt berechnet werden kann. Beispiel 7.8.8. Gegeben sei das nichtlineare Optimierungsproblem Minimiere
x2 C y2
u. d. N. x y 1 D 0 Š
Die erweiterte Lagrange-Funktion lautet ˛ .x y 1/2 C .x y 1/: 2 Anwendung der Multiplier-Penalty-Methode mit Startwerten La .x; y; ; ˛/ D x 2 C y 2 C
.x 0 ; y 0 / D .0; 0/; 0 D 0; ˛ 0 D 1; D 0:1 liefert das folgende Resultat: ====================================================================================== K X Y LAMBDA ALPHA F(X,Y) |G(X,Y)| ====================================================================================== 0 0.00000E+00 0.00000E+00 0.00000E+00 0.10000E+01 0.00000E+00 0.10000E+01 1 0.25000E+00 -0.25000E+00 -0.50000E+00 0.10000E+02 0.12500E+00 0.50000E+00 2 0.47727E+00 -0.47727E+00 -0.95455E+00 0.10000E+02 0.45558E+00 0.45455E-01 3 0.49793E+00 -0.49793E+00 -0.99587E+00 0.10000E+02 0.49588E+00 0.41322E-02 4 0.49981E+00 -0.49981E+00 -0.99962E+00 0.10000E+02 0.49962E+00 0.37566E-03 5 0.49998E+00 -0.49998E+00 -0.99997E+00 0.10000E+02 0.49997E+00 0.34151E-04 6 0.50000E+00 -0.50000E+00 -0.10000E+01 0.10000E+02 0.50000E+00 0.31046E-05 7 0.50000E+00 -0.50000E+00 -0.10000E+01 0.10000E+02 0.50000E+00 0.28224E-06 8 0.50000E+00 -0.50000E+00 -0.10000E+01 0.10000E+02 0.50000E+00 0.25658E-07 9 0.50000E+00 -0.50000E+00 -0.10000E+01 0.10000E+02 0.50000E+00 0.23325E-08
7.9
Aufgaben
Aufgabe 7.9.1 (vgl. [52, Aufg. 6.2]). Die stetig differenzierbare Funktion f W R ! R soll mittels der iterativen Vorschrift x i C1 D x i C ˛i d i ;
d i WD f 0 .x i /;
i D 0; 1; 2; : : :
mit gegebener Startschätzung x 0 minimiert werden. Zur Bestimmung geeigneter Schrittweiten ˛i > 0 kann die Armijo-Regel verwendet werden:
449
Abschnitt 7.9 Aufgaben
(i) Gegeben seien Zahlen s > 0, ˇ 2 .0; 1/ und 2 .0; 1=2/. Setze ˛ WD s. (ii) Falls die Bedingung f .x i C ˛ d i / f .x i / ˛ f 0 .x i / d i
(7.41)
erfüllt ist, setze ˛i WD ˛ und beende das Verfahren. Andernfalls gehe zu (iii). (iii) Setze ˛ WD ˇ ˛ und gehe zu (ii). Eine Variante des Verfahrens ist die Armijo-Regel mit Aufweitung: (i) Gegeben seien Zahlen s > 0, ˇ 2 .0; 1/ und 2 .0; 1=2/. Setze ˛ WD s. (ii) Falls (7.41) nicht erfüllt ist, verfahre wie bei der Armijo-Regel. Andernfalls gehe zu (iii). (iii) Setze ˛i WD ˛. Setze dann ˛ WD
˛ ˇ
(Aufweitung) und gehe zu (iv).
(iv) Ist (7.41) erfüllt, gehe zu (iii). Andernfalls beende das Verfahren mit Schrittweite ˛i . Programmieren Sie die Armijo-Regel und die Armijo-Regel mit Aufweitung und testen Sie das Programm an den folgenden Beispielen mit Startwert x 0 D 0 und Konstanten s D 1, ˇ D 0:9, D 104 : (a) f .x/ D x 2xC2 (b) f .x/ D .x C 0:004/5 2.x C 0:004/4 q q p (c) f .x/ D w.c1 / .1 x/2 C c22 C w.c2 / x 2 C c12 mit w.c/ D 1 C c 2 c und c1 D 0:01, c2 D 0:001 bzw. c1 D 0:001, c2 D 0:01. Aufgabe 7.9.2. Sei f W Rn ! R stetig differenzierbar und konvex und A 2 Rmn . Gegeben sei die nichtlineare Optimierungsaufgabe Minimiere
f .x/
u. d. N.
Ax D b; x 2 Rn Š
(a) Formulieren Sie notwendige und hinreichende Optimalitätsbedingungen für das Optimierungsproblem. (b) Sei f zusätzlich zweimal stetig differenzierbar, die Hesse-Matrix r 2 f sei positiv definit, und der Rang von A sei gleich m. Schreiben Sie ein Programm, welches die notwendigen Bedingungen aus (a) mit Hilfe des Newton-Verfahrens löst. (c) Testen Sie Ihr Programm an folgendem Beispiel Minimiere
2x14 C x24 C 4x12 x1 x2 C 6x22
u. d. N.
2x1 x2 D 4; x1 ; x2 2 R Š
450
Kapitel 7 Verfahren der nichtlinearen Optimierung
Aufgabe 7.9.3. Gegeben sei das nichtlineare Optimierungsproblem Minimiere
f .x/
u. d. N.
gi .x/ 0
.i D 1; : : : ; m/;
x 2 X WD ¹x 2 Rn W Ax b; x 0Rn º Š Dabei seien f und gi .i D 1; : : : ; m/ stetig partiell differenzierbar sowie A 2 Rqn und b 2 Rq . Es bezeichne S WD ¹x 2 X W gi .x/ 0 .i D 1; : : : ; m/º die zulässige Menge des Problems. Weiter sei I˛ .x/ WD ¹i 2 ¹1; : : : ; mº W ˛ gi .x/º. Implementieren Sie das Verfahren der zulässigen Richtungen: (i) Gegeben seien Parameter > 0 und ˛ > 0 und ein x 0 2 S. Setze k WD 0. (ii) Löse das folgende Hilfsproblem: Minimiere bezüglich h 2 Rn und 2 R unter den Nebenbedingungen rf .x k /> h ; gi .x k / C rgi .x k /> h
.i 2 I˛ .x k //;
x k C h 2 X; khk1 Š Die Optimallösung sei hk und k . (iii) Falls die Optimallösung des Hilfsproblems k 0 erfüllt, STOP. (iv) Löse das folgende eindimensionale Hilfsproblem: Minimiere f .x k C t hk / bezüglich 0 t 1 unter der Nebenbedingung x k C t hk 2 S Š Verwenden Sie hierfür das modifizierte Armijo-Verfahren 7.2.8. (v) Setze x kC1 WD x k C tk hk , wobei tk Lösung des Hilfsproblems in (iv) sei. Setze k WD k C 1 und gehe zu (ii). Wählen Sie D 1, ˛ D 103 , D 103 , ˇ D 0:5 und x 0 D .0; 0/> und testen Sie das Programm an folgenden Beispielen:
451
Abschnitt 7.9 Aufgaben
(a) n D 2, m D 1, q D 1, 1 f .x1 ; x2 / D .x12 C x22 4x1 x2 / x1 ; 2 g1 .x1 ; x2 / D 100 .x1 12/2 x22 ; A D . 0 1 /;
b D .10/:
(b) n D 2, m D 1, q D 2, 1 f .x1 ; x2 / D .x12 C x22 4x1 x2 / x1 ; 2 g1 .x1 ; x2 / D 100 .x1 12/2 x22 ; 0 1 10 AD ; bD : 1 0 12 Aufgabe 7.9.4. Seien f; gi W Rn ! R (i D 1; : : : ; m) stetig partiell differenzierbar O / O ; O KKT-Punkt und konvex und hj W Rn ! R .j D 1; : : : ; p/ affin linear. Sei .x; des Standardoptimierungsproblems Minimiere
f .x/
u. d. N.
gi .x/ 0 .i D 1; : : : ; m/; hj .x/ D 0
.j D 1; : : : ; p/ Š
Zeigen Sie: Es gibt ˛N > 0, so dass xO für alle ˛ ˛N ein Minimum der l1 -Bewertungsfunktion l1 .xI ˛/ D f .x/ C ˛ max¹0; g1 .x/; : : : ; gm .x/; jh1 .x/j; : : : ; jhp .x/jº ist. Aufgabe 7.9.5. Betrachte das Optimierungsproblem Minimiere
f .x/ D x12 C 4x2 C x22
u. d. N.
g.x/ D x2 0 Š
Das Problem soll mit der Penalty-Methode und der Bewertungsfunktion P .xI ˛/ WD f .x/ C
˛ max¹0; g.x/º2 2
gelöst werden. (a) Bestimmen Sie die globale Lösung xO des Optimierungsproblems und den zugeO hörigen Multiplikator . (b) Berechnen Sie für ˛ > 0 das globale Minimum x.˛/ von P .xI ˛/.
452
Kapitel 7 Verfahren der nichtlinearen Optimierung
O (c) Zeigen Sie lim˛!1 x.˛/ D xO und lim˛!1 ˛ max¹0; g.x.˛//º D . 2 P .x.˛/I ˛/ für (d) Wie verhält sich die Konditionszahl der Hesse-Matrix rxx ˛ ! 1? Aufgabe 7.9.6. Gegeben sei das restringierte Optimierungsproblem Minimiere
f .x1 ; x2 / D x1 C x2
u. d. N.
g1 .x1 ; x2 / D x12 x2 D 0 Š
Berechnen Sie mit dem Lagrange-Newton-Verfahren (Handrechnung) für x 0 D 0 und 0 6D 0 die Lösung des Problems. Welchen Einfluss hat der Startwert 0 ? Aufgabe 7.9.7 (vgl. [53, Aufg. 5.21]). Anstatt die l1 -Penalty-Funktion zur Schrittweitenbestimmung im globalen SQP-Verfahren zu verwenden, kann sie auch im Trust-Region-SQP-Verfahren eingesetzt werden. Dies führt auf das Sl1QP-Verfahren von Fletcher, bei dem Hilfsprobleme der folgenden Form gelöst werden müssen: Minimiere
m X 1 > max¹0; gi .x k / C rgi .x k /> d º d Hk d C 2 i D1 p X k jhj .x / C rhj .x k /> d j C˛ j D1
u. d. N.
kd k1 k Š
Zeigen Sie, dass man das Hilfsproblem als quadratisches Optimierungsproblem schreiben kann. Aufgabe 7.9.8. Gegeben sei die Funktion F W Rn ! Rn und ein Startwert x 0 2 Rn . Implementieren Sie das (Quasi-)Newton-Verfahren A.x i / x i D F .x i /; x i C1 D x i C x i ;
i D 0; 1; 2; : : :
zur Lösung des nichtlinearen Gleichungssystems F .x/ D 0Rn . Programmieren Sie die folgenden drei Varianten des Verfahrens: (a) klassisches Newton-Verfahren mit A.x/ WD F 0 .x/; (b) finite Differenzen-Approximation der Jacobimatrix F 0 .x/, bei der die Matrix A.x/ D .Aj k .x//jkD1;:::;n D1;:::;n gegeben ist durch Fj .x C hi ek / Fj .x/ .j; k D 1; : : : ; n/; hi wobei ek den k-ten Einheitsvektor bezeichnet, die Schrittweite hi sei durch hi D i0:1 C1 gegeben, wobei i den Iterationsindex des Newton-Verfahrens bezeichnet; (c) vereinfachtes Newton-Verfahren mit A.x i / WD F 0 .x 0 / für i D 0; 1; 2; : : : . Aj k .x/ WD
453
Abschnitt 7.9 Aufgaben
Berechnen Sie mit Hilfe der obigen Verfahren für x 0 D .4; 2:5/> einen stationären Punkt für die Funktion von Himmelblau f .x; y/ D .x 2 C y 11/2 C .x C y 2 7/2 : Dokumentieren Sie die Konvergenzgeschwindigkeiten der jeweiligen Varianten, indem Sie die Quotienten O kx i C1 xk i kx xk O p für p D 1; 2 und i D 0; 1; 2; : : : ; 15 betrachten, wobei xO die exakte Lösung bezeichnet. Ein stationärer Punkt der Funktion von Himmelblau ist durch xO D .3; 2/> gegeben. Aufgabe 7.9.9. Lösen Sie das folgende nichtlineare Optimierungsproblem mit dem Innere-Punkte-Verfahren. Minimiere
x1
u. d. N.
.x1 4/2 C x22 16 0 Š
Aufgabe 7.9.10. Lösen Sie das folgende nichtlineare Optimierungsproblem mit dem Penalty-Verfahren. Minimiere
x1 C x2
u. d. N. x12 x2 D 0 Š
Aufgabe 7.9.11. Führen Sie für die Funktion f .x1 ; x2 / D x12 C 100x22 und Startvektor x 0 D .1; 0:01/T das Verfahren des steilsten Abstiegs mit Suchrichtung d k D rf .x k / und exakter Schrittweitenstrategie durch eindimensionale Minimierung von f .x k C ˛d k / bezüglich ˛ durch. Geben Sie eine explizite Darstellung der Iterierten x k an, und zeigen Sie, dass max min 2 kC1 f .x / f .x / D .f .x k / f .x // max C min gilt, wobei max bzw. min den größten bzw. kleinsten Eigenwert der Hesse-Matrix A D r 2 f .x / mit x D .0; 0/> bezeichnen (die Konvergenz der Zielfunktionswerte ist also nur linear). Aufgabe 7.9.12. Betrachten Sie das vereinfachte Newton-Verfahren 1 rf .x k /; k D 0; 1; 2; : : : x kC1 D x k r 2 f .x 0 / zur Minimierung der zweimal stetig differenzierbaren Funktion f W Rn ! R. Es sei xO ein stationärer Punkt von f , und r 2 f .x/ O sei invertierbar. Zeigen Sie: Es existiert eine Umgebung U von x, O so dass das vereinfachte Newton-Verfahren für alle x 0 2 U wohldefiniert ist und eine gegen xO linear konvergente Folge .x k /k2N liefert.
454
Kapitel 7 Verfahren der nichtlinearen Optimierung
Aufgabe 7.9.13. Gegeben sei eine symmetrische und positiv definite Matrix H 2 Rnn . Zeigen Sie: Die BFGS-Updatematrix HC D H C
yy > .Hd /.Hd /> ; y>d d > Hd
d D x C x; y D rf .x C / rf .x/
ist genau dann positiv definit, wenn d > y > 0 ist.
Kapitel 8
Diskrete dynamische Optimierung
Das dynamische Verhalten des Zustands eines technischen, ökonomischen oder biologischen Systems kann häufig durch (diskrete) dynamische Gleichungen beschrieben werden. Zum Beispiel können wir uns für die Entwicklung der Populationsgröße einer Spezies in einem gewissen Zeitinitervall interessieren. Oder wir möchten das dynamische Verhalten eines chemischen Prozesses oder eines mechanischen Systems oder die Entwicklung des Gewinns einer Firma untersuchen. In der Regel kann das dynamische Verhalten eines gegebenen Systems durch Steuervariablen beeinflusst werden. Beispielsweise kann ein Auto durch Drehen des Lenkrads und durch Betätigen des Gaspedals und der Bremsen gesteuert werden. Ein chemischer Prozess kann häufig durch die Erhöhung oder Verringerung der Temperatur beeinflusst werden. Der Gewinn einer Firma kann durch die Änderung von Produktpreisen oder die Anzahl der Mitarbeiter gesteuert werden. Im Allgemeinen dürfen die Zustände und die Steuerungen eines Systems nicht jeden Wert annehmen, sondern sie unterliegen gewissen Beschränkungen. Diese Beschränkungen können aus Sicherheitsbestimmungen oder physikalischen Begrenzungen resultieren. Z. B. muss die Temperatur in einem Reaktor unterhalb einer gewissen Schwelle liegen, um eine Überhitzung zu vermeiden. Ebenso sollte sich die Flughöhe eines Flugzeugs stets oberhalb der Erdoberfläche befinden. Bei der Steuerung eines Fahrzeugs ist der Lenkwinkel physikalisch beschränkt durch einen maximalen Lenkwinkel. Wir sind an Zustands- und Steuervariablen interessiert, die zulässig sind, also alle Beschränkungen erfüllen, und die darüber hinaus noch eine gegebene Zielfunktion minimieren oder maximieren. Insgesamt erhalten wir folgende Bestandteile eines diskreten dynamischen Optimierungsproblems, vgl. Abbildungen 8.1, 8.2:
Die Zustandsvariablen y.tj / beschreiben den Zustand eines Systems zum Zeitpunkt tj .
Die Steuervariablen u.tj / erlauben es, das dynamische Verhalten des Zustands zum Zeitpunkt tj zu beeinflussen.
Die diskrete dynamische Gleichung y.tj C1 / D .tj ; y.tj /; u.tj // legt den Übergang des Zustands im Zeitpunkt tj zum Zustand im nachfolgenden Zeitpunkt tj C1 fest und hängt ab vom aktuellen Zeitpunkt, vom aktuellen Zustand und von der aktuellen Steuerung.
456
Kapitel 8 Diskrete dynamische Optimierung
Die Zielfunktion wird minimiert (oder maximiert).
Die Beschränkungen für den Zustand und die Steuerung müssen eingehalten werden.
u0
Steuerung
uN 1
y0
Zustand
y1
'.t0 ; y0 ; u0 /
Kosten/Gewinn
t0
Zeit
yN 1
yN
'.tN 1 ; yN 1 ; uN 1 /
t1
tN 1
tN
Abbildung 8.1. Schema eines diskreten dynamischen Optimierungsproblems.
y1 y0
yN yN 1 y2
t0
t1
t2
tN 1
tN
Abbildung 8.2. Diskrete Trajektorien für verschiedene Steuerungen.
Haben die Beschränkungen und die Zielfunktion zusätzlich eine spezielle Struktur, handelt es sich z. B. um punktweise Zustands- und Steuerbeschränkungen und setzt sich die Zielfunktion additiv aus den Kosten für die Übergänge vom Zeitpunkt tj zum Zeitpunkt tj C1 zusammen, so gilt das bekannte Optimalitätsprinzip von Richard Bellman, vgl. Abschnitt 8.2.
Kapitel 8 Diskrete dynamische Optimierung
457
Die darauf aufbauende Methode der dynamischen Programmierung stellen wir in Abschnitt 8.3 vor. Sie ist einerseits sehr universell einsetzbar, leidet aber unter dem „curse of dimensions“ (Fluch der Dimensionen), da die resultierenden Gleichungen nur mit sehr viel Rechenleistung und großem Speicheraufwand zu bewältigen sind. Aus praktischer Sicht bleibt die Methode daher auf niedrigdimensionale Problemstellungen oder Aufgaben mit spezieller Struktur, z. B. mit endlicher Zustandsmenge und endlichem Steuerbereich, beschränkt. Für eine detaillierte Diskussion verweisen wir auf die Monographien [14], [15], [18], [123]. Viele Anwendungen und Beispiele finden sich in [168]. Besonders hervorgehoben werden sollte noch, dass die diskrete Zeitvariable tj keineswegs immer „natürlichen“ Zeitpunkten unserer Anschauung entsprechen muss, sondern auch eine abstrakte Größe sein kann, die lediglich gewisse Niveaus, Rekursionsstufen, Iterationen anordnet. Insofern sind uns in den früheren Kapiteln schon verschiedene diskrete dynamische Optimierungsprobleme begegnet. Lässt sich die Methode der dynamischen Programmierung nicht erfolgreich auf ein diskretes dynamisches Optimierungsproblem anwenden, so helfen die bislang vorgestellten Konzepte und Verfahren der linearen und nichtlinearen Optimierung weiter, ist doch jedes diskrete dynamische Optimierungsproblem ein zwar sehr großes, dafür aber stark strukturiertes endlichdimensionales Optimierungsproblem. Die Optimalitätsbedingungen aus Kapitel 6 liefern unmittelbar das diskrete Maximumprinzip, wie wir in Abschnitt 8.4 zeigen. Es entspricht exakt der allgemeinen Variante 6.3.4 der Fritz John-Bedingungen, wobei allerdings die Problemstruktur intensiv genutzt wird. Für Beweise des diskreten Maximumprinzips unter schwächeren Voraussetzungen an die verwendeten Mengenrestriktionen und Abbildungen sollte man die Theorie der „glatt-approximativ konvexen“ Optimierungsprobleme aus [83] heranziehen. Viele Impulse für die Untersuchung diskreter dynamischer Optimierungsprobleme kommen aus der kontinuierlichen dynamischen Optimierung, also aus der Variationsrechnung, Regelungstheorie oder Steuerungstheorie. Die so genannte direkte Methode für optimale Steuerungsprobleme besteht gerade darin, Zielfunktion, Systemgleichung und Steuerungs- und Zustandsbeschränkungen auf immer feiner werdenden Zeitgittern zu diskretisieren und die entstehende Folge von diskreten dynamischen Optimierungsproblemen zu lösen. Fehlerabschätzungen, Konvergenzordnungsbeweise, Stabilitätsanalyse für endlichdimensionale und unendlichdimensionale Zustandsräume sind aktuelle Forschungsgebiete. Diese Zusammenhänge illustrieren wir in den Abschnitten 8.4 und 8.5 exemplarisch, indem wir das diskrete Maximumprinzip als Diskretisierung des kontinuierlichen Maximumprinzips für zustandsrestringierte optimale Steuerungsprobleme interpretieren. Den Beweis des kontinuierlichen Maximumprinzips können wir hier wegen seines Umfangs nicht führen. Hier verweisen wir auf die ausgedehnte Literatur, insbesondere [76, 131, 60, 109, 124, 83].
458
8.1
Kapitel 8 Diskrete dynamische Optimierung
Problemstellung und Anwendungen
Ein diskretes dynamisches Optimierungsproblem kann folgendermaßen mathematisch modelliert werden. Sei G WD ¹tj W j D 0; 1; : : : ; N º ein Gitter mit N C 1 festen Zeitpunkten t0 < t1 < < tN : Zustandstrajektorien werden beschrieben durch Gitterfunktionen y W G ! Rn ;
tj 7! y.tj /
.j D 0; : : : ; N /:
Steuerungen werden ebenfalls beschrieben durch Gitterfunktionen u W G ! Rm ;
tj 7! u.tj /
.j D 0; : : : ; N /:
Die Zielfunktion habe additive Struktur N X
f .y; u/ WD
'.tj ; y.tj /; u.tj //
j D0
mit ' W G Rn Rm ! R: Die dynamischen Gleichungen lauten y.tj C1 / D
.tj ; y.tj /; u.tj //
.j D 0; : : : ; N 1/
mit W G Rn Rm ! Rn : Zusätzlich müssen Zustandsbeschränkungen y.tj / 2 Y .tj / mit nichtleeren Mengen Y .tj / Rn und Steuerbeschränkungen u.tj / 2 U.tj ; y.tj // mit nichtleeren Mengen U.tj ; y.tj // Rm für y.tj / 2 Y .tj / in allen Punkten des Zeitgitters ¹t0 ; : : : ; tN º eingehalten werden.
459
Abschnitt 8.1 Problemstellung und Anwendungen
Damit erhalten wir das folgende diskrete dynamische Optimierungsproblem: Diskretes dynamisches Optimierungsproblem 8.1.1. (DOP) Minimiere N X
'.tj ; y.tj /; u.tj //
j D0
auf der Menge aller Gitterfunktionen y W G ! Rn ; u W G ! Rm unter den Nebenbedingungen y.tj C1 / D
.tj ; y.tj /; u.tj //
.j D 0; : : : ; N 1/;
y.tj / 2 Y .tj /
.j D 0; : : : ; N /;
u.tj / 2 U.tj ; y.tj //
.j D 0; : : : ; N / Š
Die Mengen Y .tj / sind oft nur implizit als Lösungsmenge eines Gleichungs- und Ungleichungssystems gegeben, ebenso die Mengen U.tj ; y.tj //. Im einfachsten Fall werden sie durch Vorzeichenbedingungen oder Box-Constraints festgelegt. Beachte, dass jede Zustandsfunktion y W G ! Rn mit einem n.N C 1/-Vektor identifiziert werden kann und jede Steuerung u W G ! Rm mit einem m.N C 1/Vektor. Der Raum, in dem die zulässige Menge liegt, ist also der Rn.N C1/ Rm.N C1/ bzw. bei ganzzahligen Problemen der Zn.N C1/ Zm.N C1/ : Dies zeigt bereits, dass diskrete dynamische Optimierungsprobleme über feineren Zeitgittern sehr komplex werden können. In den folgenden Unterabschnitten beschreiben wir einige Anwendungsbereiche der diskreten dynamischen Optimierung.
8.1.1 Diskretisierte Optimalsteuerungsprobleme Wir zeigen, dass direkte Diskretisierungsverfahren für kontinuierliche Optimalsteuerungsprobleme auf endlichdimensionale diskrete dynamische Optimierungsprobleme führen.
460
Kapitel 8 Diskrete dynamische Optimierung
Es seien die folgenden Abbildungen gegeben: 'a W Rn ! R; 'b W Rn ! R; ' W R Rn Rm ! R; W R Rn Rm ! Rn ; ˛ W Rn ! Rsa ; ˇ W Rn ! Rsb ; S W R R n ! Rs : Es bezeichne U Rm den Steuerbereich. Die kontinuierlichen Trajektorien y./ mögen im Raum AC.Œa; b/n der absolut stetigen n-Vektorfunktionen auf Œa; b liegen, die Kontrollen u./ im Raum L1 .Œa; b/m der wesentlich beschränkten m-Vektorfunktionen auf Œa; b. Ein Optimalsteuerungsproblem auf dem festen Zeitintervall Œa; b mit a < b ist dann gegeben durch: (OCP)
Minimiere Z 'a .y.a// C 'b .y.b// C
b
'.t; y.t /; u.t //dt a
unter den Nebenbedingungen y./ 2 AC.Œa; b/n ;
u./ 2 L1 .Œa; b/m
und y.t P / D .t; y.t /; u.t // für fast alle t 2 Œa; b; ´ 0 .i D 1; : : : ; sa0 /; ˛i .y.a// D0 .i D sa0 C 1; : : : ; sa /; ´ 0 .i D 1; : : : ; sb0 /; ˇi .y.b// D0 .i D sb0 C 1; : : : ; sb /; u.t / 2 U S.t; y.t // 0Rs
für fast alle t 2 Œa; b; für alle t 2 Œa; b Š
461
Abschnitt 8.1 Problemstellung und Anwendungen
Direkte Lösungsverfahren für diese Optimalsteuerungsproblem basieren auf der Diskretisierung des Integrals, der Differentialgleichung und der Beschränkungen auf dem Gitter G WD ¹tj W j D 0; 1; : : : ; N º mit a D t0 < t1 < < tN D b und Schrittweiten hj WD tj C1 tj für j D 0; : : : ; N 1. Die Differentialgleichung wird auf G durch ein geeignetes Diskretisierungsverfahren, z. B. das Euler-Verfahren oder ein Runge-Kutta-Verfahren höherer Ordnung, approximiert. Für das Euler-Verfahren erhalten wir yj C1 D yj C hj .tj ; yj ; uj /
.j D 0; : : : ; N 1/;
wobei yj y.tj / .j D 0; : : : ; N / und uj u.tj / .j D 0; : : : ; N 1/ Approximationen der Zustandsfunktion y./ und der Steuerung u./ auf dem Gitter G sind. Das Integral in der Zielfunktion wird approximiert durch die Riemann-Summe Z
b a
'.t; y.t /; u.t //dt
N 1 X
hj '.tj ; yj ; uj /:
j D0
Schließlich wird die Zustandsbeschränkung S.t; y.t // 0Rs (wie auch früher schon komponentenweise zu verstehen) durch endlich viele Beschränkungen S.tj ; yj / 0Rs
.j D 0; : : : ; N /
ersetzt. Zusammenfassend erhalten wir das diskretisierte Optimalsteuerungsproblem: (OCPN )
Minimiere 'a .y0 / C 'b .yN / C
N 1 X
hj '.tj ; yj ; uj /
j D0
unter den Nebenbedingungen yj 2 Rn
.j D 0; : : : ; N /;
uj 2 Rm
.j D 0; : : : ; N 1/
462
Kapitel 8 Diskrete dynamische Optimierung
und yj C1 D yj C hj ´ 0 .i ˛i .y0 / D0 .i ´ 0 .i ˇi .yN / D0 .i uj 2 U S.tj ; yj / 0Rs
.tj ; yj ; uj / .j D 0; : : : ; N 1/; D 1; : : : ; sa0 /; D sa0 C 1; : : : ; sa /; D 1; : : : ; sb0 /; D sb0 C 1; : : : ; sb /;
.j D 0; : : : ; N 1/; .j D 0; : : : ; N / Š
8.1.2 Lagerhaltung Eine Firma möchte für eine feste Anzahl von Zeitpunkten t0 < t1 < < tN einen Lagerhaltungsplan mit minimalen Kosten erstellen. Ein Produkt wird in diesen Zeitintervallen t0 < t1 < < tN in einem Lager gelagert. Es bezeichnen uj 0 die Liefermenge zum Zeitpunkt tj , rj 0 den Bedarf im Intervall Œtj ; tj C1 / und yj die Menge des gelagerten Guts zum Zeitpunkt tj (direkt vor der Lieferung). Dann gelten die Bilanzgleichungen yj C1 D yj C uj rj
.j D 0; 1; : : : ; N 1/:
Zusätzlich fordern wir, dass der Bedarf stets erfüllt werden muss, d. h. es muss yj C1 0 für alle j D 0; 1; : : : ; N 1 gelten. Ohne Beschränkung der Allgemeinheit gelte y0 D yN D 0 für den Bestand zu Beginn und am Ende des Zeithorizonts. Die Lieferkosten zum Zeitpunkt tj werden modelliert durch ´ K C cuj ; falls uj > 0; B.uj / D 0; falls uj D 0; wobei K die Fixkosten und c die Kosten pro Einheit bezeichnen.
Lieferung
Bedarf Lager
Abbildung 8.3. Lagerhaltungsproblem.
463
Abschnitt 8.1 Problemstellung und Anwendungen
Die Lagerhaltungskosten fallen am Ende eines jeden Zeitintervalls an und betragen hyj C1 .j D 0; : : : ; N 1/. Die Gesamtkosten sind daher N 1 X
.Kı.uj / C cuj C hyj C1 /;
j D0
wobei ´ 1; falls uj > 0; ı.uj / D 0; falls uj D 0: Es gilt N 1 X
uj D
j D0 N 1 X
yj C1 D
j D0
N 1 X
N 1 X
j D0
j D0
.yj C1 yj C rj / D .yN y0 / C
N 1 X
N 1 X
j D0
j D0
.yj C uj rj / D
yj C
N 1 X j D0
uj
rj D
N 1 X
rj ;
j D0 N 1 X
rj D
j D0
N 1 X
yj :
j D0
Mit diesen Beziehungen können wir das Lagerhaltungsproblem wie folgt formulieren: Minimiere
N 1 X
Kı.uj / C hyj
j D0
u. d. N.
yj C1 D yj C uj rj
.j D 0; : : : ; N 1/;
y0 D yN D 0; yj 0
.j D 1; : : : ; N 1/;
uj 0
.j D 0; : : : ; N 1/ Š
8.1.3 Rucksackpackproblem Im Rucksackproblem 1.1.8 interpretieren wir jetzt die binären Entscheidungsvariablen als Steuerungen uj und als Zustand yj das noch verfügbare Restgewicht, nachdem die Gegenstände i D 1; : : : ; j 1 eingepackt bzw. nicht eingepackt wurden. Dann wird aus dem ursprünglich gegebenen Problem Maximiere N X j D1
cj uj
464
Kapitel 8 Diskrete dynamische Optimierung
unter den Nebenbedingungen N X
aj uj A;
uj 2 ¹0; 1º .j D 1; : : : ; N / Š
j D1
das folgende äquivalente diskrete dynamische Optimierungsproblem: Maximiere N X
cj uj
j D1
unter den Nebenbedingungen yj C1 D yj aj uj
.j D 1; : : : ; N /;
y1 D A; yj 0 ´ 2 ¹0; 1º; uj D 0;
.j D 1; : : : ; N /; falls yj aj ; falls yj < aj ;
.j D 1; : : : ; N / Š
Dabei ist yN C1 das noch verfügbare Restgewicht im Rucksack.
8.1.4 Zuordnungsprobleme Eine Anzahl A von Ressourcen soll auf N Projekte verteilt werden. Die Zuweisung von uj Ressourcen zu Projekt j resultiere in dem Gewinn 'j .uj /. Die Aufgabe ist, P den Gesamtgewinn jND1 'j .uj / zu maximieren. Dies führt auf das folgende Optimierungsproblem: Maximiere N X
'j .uj /
j D1
unter den Nebenbedingungen uj 2 Z und N X
uj A;
uj 0 .j D 1; : : : ; N / Š
j D1
Dieses Problem kann in ein diskretes dynamisches Optimierungsproblem transformiert werden. Dazu führen wir Zustände yj ein, welche die verbleibenden Ressourcen bezeichnen, nachdem den Projekten i D 1; : : : ; j 1 Ressourcen zugewiesen wurden. Dann ist das obige Optimierungsproblem äquivalent zu:
465
Abschnitt 8.2 Das Optimalitätsprinzip von Bellman
Maximiere N X
'j .uj /
j D1
unter den Nebenbedingungen yj C1 D yj uj
.j D 1; : : : ; N /;
uj 2 Uj .yj / WD ¹0; 1; : : : ; yj º .j D 1; : : : ; N /; y1 D A Š
8.2
Das Optimalitätsprinzip von Bellman
Eines der ersten Verfahren zur Lösung diskreter dynamischer Optimierungsprobleme ist die Methode der dynamischen Programmierung, die auf dem Optimalitätsprinzip von Richard Bellman beruht. Sie ist sehr flexibel, erfordert aber sehr viel Rechenleistung und hohen Speicheraufwand bei größeren Problemen. Für eine ausführliche Diskussion verweisen wir auf [14], [15], [18], [123]. Viele Anwendungen und Beispiele finden sich in [168]. Sei tk 2 ¹t0 ; t1 ; : : : ; tN º ein fester Zeitpunkt, Gk WD ¹tj W j D k; k C 1; : : : ; N º und x 2 Y .tk /. Betrachte die folgende Schar von diskreten dynamischen Optimierungsproblemen: Problem 8.2.1 ((DOP) auf dem Restgitter Gk zum Anfangswert x). .P.tk ; x// Minimiere N X
'.tj ; y.tj /; u.tj //
j Dk
auf der Menge aller Gitterfunktionen y W Gk ! Rn ;
u W Gk ! Rm
unter den Nebenbedingungen y.tj C1 / D
.tj ; y.tj /; u.tj //
.j D k; : : : ; N 1/;
y.tk / D x; y.tj / 2 Y .tj /
.j D k; : : : ; N /;
u.tj / 2 U.tj ; y.tj //
.j D k; : : : ; N / Š
Dieses Problem ist ein parametrisches Optimierungsproblem mit dem Anfangszeitpunkt tk und dem Anfangswert x als Parametern.
466
Kapitel 8 Diskrete dynamische Optimierung
Definition 8.2.2 (Wertefunktion). Sei tk 2 G. Für x 2 Y .tk / bezeichne V .tk ; x/ den Optimalwert des Problems P.tk ; x/. Für x … Y .tk / setzen wir V .tk ; x/ WD 1. Die Funktion V W G Rn ! R, .tk ; x/ 7! V .tk ; x/, heißt Wertefunktion des diskreten dynamischen Optimierungsproblems. Es gilt Satz 8.2.3 (Optimalitätsprinzip von Bellman). Sei das Paar y./; O u./ O eine optimale O Gk auf das Restgitter Gk Lösung von (DOP). Dann sind die Restriktionen yj O Gk und uj optimal für P.tk ; y.t O k //. Beweis. Wir nehmen an, dass die Restriktionen yj O Gk ; uj O Gk nicht optimal für O k // sind. Dann existiert eine zulässige Trajektorie yQ W Gk ! Rn und eiP.tk ; y.t O k // mit ne zugehörige Steuerung uQ W Gk ! Rm für P.tk ; y.t N X
'.tj ; y.t Q j /; u.t Q j //
Oj /pj C1 x .tj ; yOj ; u
0 'x> .tj ; yOj ; uOj / C Sx> .tj ; yOj /j für j D 0; : : : ; N 1;
> .yO0 / C ˛x> .yO0 /a ; p0 D 0 'ax > pN D 0 'bx .yON / ˇx> .yON /b Sx> .tN ; yON /N :
Dies sind die adjungierten Gleichungen zusammen mit speziellen Randbedingungen.
472
Kapitel 8 Diskrete dynamische Optimierung
Œpj>C1
(iv)
für alle uj 2 Uj
Oj / u .tj ; yOj ; u
0 'u .tj ; yOj ; uOj /.uj uOj / 0
.j D 0; : : : ; N 1/.
Dies ist das lokale Maximumprinzip. Beweis. Der Beweis ist in zwei Teile aufgeteilt. Zuerst überprüfen wir alle Voraussetzungen der Fritz John-Bedingungen 6.3.4 für allgemeine nichtlineare Optimierungsprobleme. Danach analysieren wir die resultierenden Variationsungleichungen, indem wir die spezielle Struktur unseres diskretisierten Optimalsteuerungsproblems ausnutzen. a) Das diskretisierte Optimalsteuerungsproblem kann als spezielles nichtlineares Optimierungsproblem angesehen werden: (NLP) Minimiere F .y; u/ unter den Nebenbedingungen G.y; u/ ‚; H.y; u/ D ‚; y 2 Y; u 2 U Š Hierbei ist Y D .Rn /N C1 ; U D U0 UN .Rm /N C1 ; F W Y U ! R; 0
0
G W Y U ! Rsa Rsb .Rs /N C1 ; 0
0
H W Y U ! Rsa sa Rsb sb .Rn /N mit F .y; u/ D 'a .y0 / C 'b .yN / C
N 1 X j D0
hj '.tj ; yj ; uj /;
1 0 ˛i .y0 / i D1:::;s0 a C B G.y; u/ D @ ˇi .yN / i D1:::;s 0 A ; b S.tj ; yj / j D0;:::;N 0 1 ˛i .y0 / i Ds 0 C1:::;sa a B C H.y; u/ D @ ˇi .yN / i Ds 0 C1:::;sb A: b yj yj 1 hj 1 .tj 1 ; yj 1 ; uj 1 / j D1;:::;N
473
Abschnitt 8.4 Diskretes Maximumprinzip
F , G, H sind Fréchet-differenzierbar in einer Umgebung von .y; O u/, O wobei die Fréchet-Ableitungen durch geeignet gewählte Funktionalmatrizen gegeben sind: O u/; O F.y;u/ .y;
G.y;u/ .y; O u/; O
H.y;u/ .y; O u/: O
U ist konvex und int.U / ¤ ;, da wir Uj als konvex und int.Uj / ¤ ; .j D 0; : : : ; N / gefordert hatten. UN tritt nicht im Problem auf, daher kann man UN D Rm wählen oder UN komplett weglassen. Damit sind alle Voraussetzungen der allgemeinen Fritz John-Bedingungen 6.3.4 erfüllt. Daher existieren Multiplikatorvektoren passender Dimensionierung 0 2 R; G ; H ; die nicht alle trivial sind, mit 0 0;
> O u/ O D 0; G G.y;
G ‚;
(8.4)
> O u/.y O y/ O C > O u/.y O y/ O C H Hy .y; O u/.y O y/ O D 0 .y 2 Y /; 0 Fy .y; G Gy .y; (8.5) > O u/.u O u/ O C > O u/.u O u/ O C H Hu .y; O u/.u O u/ O 0 0 Fu .y; G Gu .y;
.u 2 U /: (8.6)
Hierin sind Fy .y; O u/; O Gy .y; O u/; O Hy .y; O u/ O bzw. O u/; O Gu .y; O u/; O Hu .y; O u/ O Fu .y; die partiellen Funktionalmatrizen bezüglich y und u. Beachte, dass keine Constraint Qualification benötigt wird. Um 0 > 0 garantieren zu können, müssen zusätzliche Bedingungen erfüllt werden, wie z. B. die Mangasarian-Fromovitz-Constraint Qualification, die im Kontext der Optimalsteuerungsprobleme Steuerbarkeitsbedingungen für das konvexifizierte Problem entspricht. b) Nun analysieren wir die Fritz John-Bedingungen und nutzen die spezielle Struktur des diskretisierten Optimalsteuerungsproblems .OCPN / aus. Die Komponenten der Multiplikatorvektoren bezeichnen wir suggestiv mit 0 2 R; .ai /i D1;:::;sa0 ; .bi /i D1;:::;sb0 ; j 2 Rs
.j D 0; : : : ; N /;
n
.j D 1; : : : ; N /:
.ai /iDsa0 C1;:::;sa ; .bi /i Dsb0 C1;:::;sb ; pj 2 R
474
Kapitel 8 Diskrete dynamische Optimierung
Nicht alle sind gleich 0, daher ist Eigenschaft (i) des diskreten Maximumprinzips 8.4.1 bereits gezeigt. Eigenschaft (ii) ist äquivalent zur Komplementaritätsbedingung (8.4). Die adjungierte Gleichung (8.5) lautet explizit
0 Œ'ax .yO0 /.y0 yO0 / C 'bx .yON /.yN yON / C
N 1 X
hj 'x .tj ; yOj ; uOj /.yj yOj /
j D0
C
> a ˛x .yO0 /.y0
yO0 / C
> b ˇx .yON /.yN
yON / C
N X
j> Sx .tj ; yOj /.yj yOj /
j D0
C
N X
pj> Œ.yj yOj / .yj 1 yOj 1 / hj 1
Oj 1 /.yj 1 x .tj 1 ; yOj 1 ; u
yOj 1 /
j D1
D0 für alle y0 ; y1 ; : : : ; yN 2 Rn . Dies ist eine Variationsgleichung, die, wie durch sukzessives Einsetzen aller Einheitsvektoren für das Inkrement y yO aus .Rn /N C1 leicht gezeigt werden kann, äquivalent ist mit 0 Œ'ax .yO0 / C h0 'x .t0 ; yO0 ; uO 0 / > > C> a ˛x .yO0 / C 0 Sx .t0 ; yO0 / p1 ŒEn C h0
O 0 / x .t0 ; yO0 ; u
D 0> Rn ;
0 hj 'x .tj ; yOj ; uOj / C j> Sx .tj ; yOj / C pj> pj>C1 ŒEn C hj
Oj / x .tj ; yOj ; u
D 0> Rn ;
.j D 1; : : : ; N 1/; > > > 0 'bx .yON / C > b ˇx .yON / C N Sx .tN ; yON / C pN D 0Rn :
Wir definieren zusätzlich p0> D 0 'ax .yO0 / C > a ˛x .yO0 /: Dann lösen p0 ; p1 ; : : : ; pN die adjungierte Gleichung pj C1 D pj hj
> Oj /pj C1 x .tj ; yOj ; u
C Sx> .tj ; yOj /j
C 0 hj 'x> .tj ; yOj ; uOj /
.j D 0; : : : ; N 1/
475
Abschnitt 8.4 Diskretes Maximumprinzip
zusammen mit den Randbedingungen > .yO0 / C ˛x> .yO0 /a ; p0 D 0 'ax > pN D 0 'bx .yON / ˇx> .yON /b Sx> .tN ; yON /N :
Das lokale Minimumprinzip (8.6) ergibt 0
N 1 X
hj 'u .tj ; yOj ; uOj /.uj uOj /
j D0
N X
pj> hj 1
Oj 1 /.uj 1 u .tj 1 ; yOj 1 ; u
uOj 1 / 0
j D1
für alle uj 2 Uj .j D 0; : : : ; N /. Dies ist äquivalent zum lokalen Maximumprinzip Œpj>C1
Oj / u .tj ; yOj ; u
0 'u .tj ; yOj ; uOj /.uj uOj / 0
für alle uj 2 Uj .j D 0; : : : ; N 1/. Durch die Einführung der Hamilton-Funktion H .t; x; u; p; 0 / WD p > .t; x; u/ 0 '.t; x; u/ können die Systemgleichung und die adjungierte Gleichung als diskretes Hamiltonsches System geschrieben werden: @H .tj ; yOj ; uOj ; pj C1 ; 0 /> ; @p @H .tj ; yOj ; uOj ; pj C1 ; 0 /> C Sx> .tj ; yOj /j D pj hj @x
yOj C1 D yOj C hj pj C1
.j D 0; : : : ; N 1/:
Während die erste Differenzengleichung gerade das explizite Euler-Verfahren für die kontinuierliche Systemgleichung ist, ist die zweite Differenzengleichung wegen des Ausdrucks Sx> .tj ; yOj /j keine Diskretisierung einer Differentialgleichung. Ihre Bedeutung kann erst richtig im nächsten Abschnitt 8.5 mit Hilfe des kontinuierlichen Maximumprinzips aus der Theorie der optimalen Steuerungen geklärt werden. Die Kopplung beider Differenzengleichungen erfolgt durch die (unbekannte) lokale Optimallösung .y; O u/, O durch die Komplementaritätsbedingungen, die Randbedingungen und das lokale Maximumprinzip @H .tj ; yOj ; uOj ; pj C1 ; 0 /.uj uOj / 0 .uj 2 Uj ; j D 0; : : : ; N 1/: @u
476
Kapitel 8 Diskrete dynamische Optimierung
Dies ist die notwendige Bedingung erster Ordnung für die globale Maximierung von H .tj ; yOj ; uj ; pj C1 ; 0 / über alle uj 2 Uj . Da notwendige Bedingungen erster Ordnung für konkave Funktionen auch hinreichend für ein globales Maximum auf Uj sind, schließen wir: Falls die Hamilton-Funktion zusätzlich für jedes feste tj ; yOj ; pj C1 ; 0 konkav bezüglich u ist, dann gilt H .tj ; yOj ; uj ; pj C1 ; 0 / H .tj ; yOj ; uOj ; pj C1 ; 0 /
.uj 2 Uj ; j D 0; : : : ; N 1/:
Dies ist das globale diskrete Maximumprinzip.
8.5
Kontinuierliches Maximumprinzip
Die spezielle Struktur des diskreten Maximumprinzips ist kein Zufall. Viele diskrete dynamische Optimierungsprobleme haben neben direkten ökonomischen Interpretationen auch kontinuierliche Analoga in Form von optimalen Steuerungsproblemen. Daher stellt sich die Frage, was das kontinuierliche Analogon des diskreten Maximumprinzips ist. Wir betrachten dazu das kontinuierliche optimale Steuerungsproblem .OCP/ aus Unterabschnitt 8.1.1 etwas näher. Dieses Problem kann als glatt-approximativ konvexes Optimierungsproblem im Sinne von [83] angesehen werden, für das die folgenden notwendigen Optimalitätsbedingungen gelten. Maximumprinzip 8.5.1. Sei .y; O u/ O eine (lokale) Optimallösung von .OCP/. Die Abbildungen 'a ; 'b ; ';
; ˛; ˇ; S
seien stetig und bezüglich aller Zustandskomponenten stetig partiell differenzierbar. Dann existieren Multiplikatoren a 2 Rsa ;
0 2 R;
b 2 Rsb ;
Funktionen beschränkter Variation i W Œa; b ! R
.i D 1; : : : ; s/
und Vektorfunktionen p W Œa; b ! Rn
477
Abschnitt 8.5 Kontinuierliches Maximumprinzip
mit den folgenden Eigenschaften: (i) 0 ; a ; b ; p./ und die durch die i ./ mittels Riemann-Stieltjes-Integralen dargestellten stetigen linearen Funktionale auf C.Œa; b/ Z x./ 7!
b a
x.t / di .t / .x./ 2 C.Œa; b/; i D 1; : : : ; s/
sind nicht alle identisch 0. 0 0; ´ 0 .a /i D 0; ´ 0 .b /i D 0;
(ii)
.i D 1; : : : ; sa0 /; falls ˛i .y.a// O < 0; .i D 1; : : : ; sb0 /; O < 0: falls ˇi .y.b//
Für i D 1; : : : ; s ist i ./ (schwach) monoton wachsend und Z a
(iii)
b
Si .t; y.t O // di .t / D 0:
> .y.b// O ˇx> .y.b// O p.t / D 0 'bx b Z b C Œ x> .; y. O /; u. O //p. / 0 'x> .; y. O /; u. O // d
Z
p.a/ D
t
b
Sx> .; y. O // d. /
t > .y.a// O 0 'ax
.a t b/;
C ˛x> .y.a// O a:
(iv) Für fast alle t 2 Œa; b gilt: O /; u/ 0 '.t; y.t O /; u/ p > .t / .t; y.t O /; u.t O // 0 '.t; y.t O /; u.t O // .u 2 U /: p > .t / .t; y.t Anmerkungen. Bedingung (i) ist wieder die Nichttrivialitätsbedingung für die Multiplikatoren. Bedingung (ii) ist die Komplementaritätsbedingung. Die adjungierte Gleichung (iii) ist nun eine Integralgleichung im Sinne der Riemann-Stieltjes-Integration. Mit der Hamilton-Funktion H .t; x; u; p; 0 / D p > .t; x; u/ 0 '.t; x; u/
478
Kapitel 8 Diskrete dynamische Optimierung
lauten Systemgleichung und adjungierte Integralgleichung: @H d y.t O /D .t; y.t O /; u.t O /; p.t /; 0 /> ; dt @p > .y.b// O ˇx> .y.b// O p.t / D 0 'bx b Z b C Hx .; y. O /; u. O /; p. /; 0 /> d
Z
t
b
Sx> .; y. O // d. / .a t > .y.a// O C ˛x> .y.a// O 0 'ax a:
p.a/ D
t b/;
Damit ist geklärt, warum die adjungierten Differenzengleichungen des diskreten Maximumprinzips 8.4.1 im Allgemeinen kein Differenzenverfahren für eine gewöhnliche Differentialgleichung darstellen. Sie sind vielmehr als Diskretisierung der adjungierten Integralgleichung des kontinuierlichen optimalen Steuerungsproblems zu interpretieren. Die Bedingung (iv) ist das globale Maximumprinzip: Für fast alle t 2 Œa; b gilt sup H .t; y.t O /; u; p.t /; 0 / D H .t; y.t O /; u.t O /; p.t /; 0 /: u2U
Beweis des Maximumprinzips. Der Beweis des Maximumprinzips und seiner Pendants für unendlichdimensionale dynamische Systeme geht weit über den Rahmen dieser Einführung hinaus. Für gewöhnliche Kontrollprobleme sei auf [76, 131, 60, 109, 124, 83] verwiesen. Im Fall Si .t; y.t // < 0
.a t b; i D 1; : : : ; s/
treten de facto keine Zustandsbeschränkungen auf, und die adjungierte Integralgleichung reduziert sich zu > .y.b// O ˇx> .y.b// O p.t / D 0 'bx b Z b C Œ x> .; y. O /; u. O //p. / 0 'x> .; y. O /; u. O // d
p.a/ D
t > O 0 'ax .y.a//
.a t b/;
C ˛x> .y.a// O a:
Dies ist äquivalent zum Randwertproblem d p.t / D Œ dt
> O /; u.t O //p.t / x .t; y.t
0 'x> .t; y.t O /; u.t O //
479
Abschnitt 8.6 Aufgaben
für fast alle t 2 Œa; b, > p.a/ D 0 'ax .y.a// O C ˛x> .y.a// O a; > .y.b// O ˇx> .y.b// O p.b/ D 0 'bx b
für die absolut stetige n-Vektorfunktion p./. Sind also keine Zustandsbeschränkungen vorhanden, so erhalten wir eine Randwertaufgabe für das Hamiltonsche System @H d y.t O /D .t; y.t O /; u.t O /; p.t /; 0 /> ; dt @p d @H p.t / D .t; y.t O /; u.t O /; p.t /; 0 /> dt @x für fast alle t 2 Œa; b. Neben der hier angedeuteten so genannten indirekten Methode zur Lösung optimaler Steuerungsprobleme, bei der die notwendigen Optimalitätsbedingungen mittels des expliziten Euler-Verfahrens für die Systemgleichung und eines impliziten EulerVerfahrens für die adjungierte Integralgleichung diskretisiert werden, gibt es natürlich noch weitere Verfahren:
Wähle anspruchsvollere Diskretisierungen des Hamiltonschen Systems.
Löse das diskretisierte Optimalsteuerungsproblem direkt mit Verfahren der nichtlinearen Optimierung.
Vernachlässige (zumindest vorübergehend) die Zielfunktion und analysiere das resultierende (mengenwertige) zustandsbeschränkte dynamische System mit allen zur Verfügung stehenden analytischen und numerischen Methoden.
Dies alles sind aktuelle Forschungsthemen auf dem auch für das Operations Research wichtigen Gebiet der mathematischen Analyse und numerischen Lösung von zustandsbeschränkten Steuerungs- und Regelungsproblemen.
8.6
Aufgaben
Aufgabe 8.6.1 (vgl. [18, Aufg. 8.9]). Ein Personalleiter bewertet den Nutzen von vier Mitarbeitern für ein Projekt mit 3; 5; 2 und 4. Die Kosten der Mitarbeiter sind mit 30; 50; 20 und 40 Geldeinheiten angegeben. Insgesamt stehen 90 Geldeinheiten zur Verfügung. Entscheiden Sie mit Hilfe der dynamischen Programmierung, welche Mitarbeiter der Personalleiter für das Projekt auswählen soll.
480
Kapitel 8 Diskrete dynamische Optimierung
Aufgabe 8.6.2. Finden Sie für k > 0, c > 0, b D 0:6 und N D 5 eine optimale Lösung für das Problem Minimiere u. d. N.
x2 .N / x1 .j C 1/ D x1 .j /.0:9 C bu.j //
.j D 0; 1; : : : ; N 1/;
x2 .j C 1/ D x2 .j / C c.1 u.j //x1 .j / .j D 0; 1; : : : ; N 1/; x1 .0/ D k; x2 .0/ D 0; 0 u.j / 1
.j D 0; 1; : : : ; N 1/ Š
Aufgabe 8.6.3. Bei der Sequenzierung von Genen tritt häufig das Problem auf, zwei Sequenzierungen des gleichen Gens, z. B. aus verschiedenen Laboren, zu vergleichen. Es seien ein Alphabet † und zwei Sequenzen s D s1 sm der Länge jsj D m und t D t1 tn der Länge jt j D n mit si ; tj 2 † gegeben. Des Weiteren sei … † ein Lückensymbol. Unter einem Alignment von s und t versteht man das Paar .s 0 ; t 0 / von Sequenzen der Länge l max¹m; nº über dem Alphabet † [ ¹º mit den Eigenschaften (a) js 0 j D jt 0 j (js 0 j bezeichnet die Länge von s 0 ), (b) s ist eine Teilsequenz von s 0 und t ist eine Teilsequenz von t 0 , (c) es gibt keine Position, an der sowohl in s 0 als auch in t 0 das Lückensymbol steht, d. h. für alle i 2 ¹1; : : : ; js 0 jº gilt si0 6D oder ti0 6D . Zum Beispiel ist s 0 W GA-CGGATTAG t 0 W GATCGGAATAG ein Alignment der Sequenzen s D GACGGATTAG und t D GATCGGAATAG. Ziel ist es, für s und t Alignments .s 0 ; t 0 / mit maximaler Übereinstimmung von s 0 und t 0 zu ermitteln. Ein Alignment wird dabei durch die Bewertungsfunktion 0
0
0
.s ; t / D
js j X
ı.si0 ; ti0 /
i D1
bewertet, wobei ı auf .† [ ¹º/ .† [ ¹º/ durch ´ p.a; b/; falls a; b 2 †; ı.a; b/ D 2; falls a D ; b 2 † oder a 2 †; b D und p auf † † durch ² 1; p.a; b/ D 1; definiert sind.
aDb2† a 6D b; a; b 2 †
(Übereinstimmung in a und b) (a und b sind verschieden)
481
Abschnitt 8.6 Aufgaben
Leiten Sie ein Verfahren zur Bestimmung eines maximalen Alignments her, z. B. mit Hilfe der dynamischen Programmierung. Hinweis: Betrachten Sie eine Matrix mit m C 1 Zeilen und n C 1 Spalten, wobei Zeile i der bereits abgearbeiteten Teilsequenz s1 si und die Spalte j der bereits abgearbeiteten Teilsequenz t1 tj entspricht. Überlegen Sie, was der Übergang von Zeile i nach Zeile i C 1 bzw. von Spalte j nach Spalte j C 1 bedeutet. Aufgabe 8.6.4 (vgl. [18, Aufg. 8.10]). Ein Unternehmen hat vier Vertreter, die auf vier Verkaufsgebiete A,B,C,D verteilt werden sollen. Abhängig von der Anzahl der Verkaufsberater ergibt sich für jedes Verkaufsgebiet ein Umsatz gemäß folgender Tabelle. Gebiet/Anzahl
0
1
2
3
4
A
0
25
48
81
90
B
0
35
48
53
65
C
0
41
60
75
92
D
0
52
70
85
95
Wie sind die Vertreter auf die Gebiete aufzuteilen, damit der Gesamtumsatz maximal wird? Aufgabe 8.6.5. Das Matrixprodukt M1 M2 Mn soll möglichst effizient berechnet werden. Die Matrizen M1 ; : : : ; Mn können dabei unterschiedliche Dimensionen besitzen, so dass sich abhängig von der Reihenfolge der einzelnen Multiplikationen ein unterschiedlicher Gesamtaufwand zur Auswertung des Produkts ergibt. Leiten Sie eine Rekursionsgleichung für den minimalen Gesamtaufwand zur Berechnung des Matrixprodukts her. Aufgabe 8.6.6. Gegeben sei das Optimierungsproblem Minimiere
n X
uj> Aj uj C 2xj> Bj uj C xj> Cj xj
j D1
u. d. N.
xj C1 D Dj xj C Ej uj
.j D 1; : : : ; n 1/;
m
xj C1 2 R ; uj 2 Rr ; x1 D xa Š Die Matrizen Cj und Aj seien symmetrisch. Darüber hinaus sei Aj positiv definit und Cj Bj B > Aj positiv semidefinit. j
482
Kapitel 8 Diskrete dynamische Optimierung
(a) Formulieren Sie die Bellmansche Funktionalgleichung für die Wertefunktion V .xj ; j /. (b) Zeigen Sie: Ist V .xj C1 ; j C 1/ von der Gestalt V .xj C1 ; j C 1/ D xj>C1 Qj C1 xj C1 mit symmetrischer, positiv semidefiniter Matrix Qj C1 , so lässt sich V .xj ; j / ebenfalls in der Form V .xj ; j / D xj> Qj xj mit symmetrischer, positiv semidefiniter Matrix Qj schreiben. Formulieren Sie mit Hilfe der Matrizen Qj C1 und der Bellmanschen Funktionalgleichung optimale Steuerungen uj als Funktionen von xj (Rückkopplungssteuerungen). Aufgabe 8.6.7 (vgl. [168]). Damit ein Computer funktioniert, müssen drei Teilkomponenten A, B und C einwandfrei funktionieren. Um die Zuverlässigkeit des Computers zu erhöhen, können Notfallsysteme zu jeder Teilkomponente hinzugefügt werden. Es kostet 100 Euro, um die erste Teilkomponente um ein Notfallsystem zu ergänzen. Die Kosten für die zweite und dritte Teilkomponente betragen 300 bzw. 200 Euro. Es können maximal zwei Notfallsysteme pro Teilkomponente eingesetzt werden. Die Wahrscheinlichkeit, dass jede Teilkomponente funktioniert, ist durch folgende Tabelle in Abhängigkeit von der Anzahl der eingesetzten Notfallsysteme gegeben. Anzahl/System
A
B
C
0 1 2
0.85 0.90 0.95
0.60 0.85 0.95
0.70 0.90 0.98
Maximieren Sie die Wahrscheinlichkeit, dass der Computer funktioniert, mit Hilfe der dynamischen Programmierung unter der zusätzlichen Nebenbedingung, dass maximal 600 Euro für Notfallsysteme investiert werden dürfen. Aufgabe 8.6.8. Es seien k Maschinen verfügbar. Jede der Maschinen kann zwei Aufgaben erledigen. Wenn d Maschinen mit der ersten Aufgabe beschäftigt sind, entsteht ein Ertrag von 3d Einheiten. Sind d Maschinen mit der zweiten Aufgabe beschäftigt, entsteht ein Ertrag von 2:5d Einheiten. Die Maschinen unterliegen einer Abnutzung, so dass nach dem Einsatz für die erste bzw. zweite Aufgabe nur ein Drittel bzw. zwei Drittel der eingesetzten Maschinen für weitere Aufgaben verfügbar bleiben. Der Prozess wird mit den verbleibenden Maschinen wiederholt und insgesamt N mal durchgeführt. Gesucht ist die Anzahl der Maschinen, die in jeder der N Stufen für die beiden Aufgaben eingesetzt werden sollen, damit der Gewinn maximal wird.
483
Abschnitt 8.6 Aufgaben
Bestimmen Sie eine Lösung des Problems für (a) k D 8 und N D 3, (b) k D 6 und N D 3. Aufgabe 8.6.9. Gegeben sei eine Sequenz S D .s1 ; : : : ; sn / mit si 2 N und eine Zahl k 1. Gesucht ist eine Partition der Sequenz S in k paarweise disjunkte Teilsequenzen S1 ; : : : Sk , so dass das Maximum der Summen über die Komponenten der Teilsequenzen minimal wird. Leiten Sie mit Hilfe der dynamischen Programmierung einen Algorithmus zur Bestimmung einer optimalen Partition her. Bemerkung: Derartige Loadbalancing-Probleme treten beispielsweise bei der Verteilung von Jobs auf einem Parallelrechner auf. Dabei sind die Jobs 1; : : : ; n der Größen s1 ; : : : ; sn möglichst optimal auf k Prozessoren zu verteilen. Aufgabe 8.6.10 (vgl. [18, Aufg. 8.8]). In einem Produktionsprozess stehen in jeder Zeitperiode drei Verfahren mit unterschiedlichen variablen Kosten zur Auswahl: Verfahren
I
II
III
Losgröße Variable Kosten
0 0
15 500
30 800
Die Fixkosten bei positiver Produktionsmenge betragen 300 Einheiten je Zeitperiode, die Lagerkosten 15 Einheiten je Stück und Zeitperiode. Der Bedarf je Zeitperiode ist durch 25 Einheiten gegeben. Bestimmen Sie einen kostenoptimalen Produktionsplan für drei Zeitperioden, wenn der Lagerbestand zu Beginn 35 Einheiten beträgt und nach der dritten Periode 20 Einheiten betragen soll. Bei der Berechnung soll angenommen werden, dass die Lagerkosten zu Beginn einer Zeitperiode anfallen. Aufgabe 8.6.11. Gegeben sei das Optimierungsproblem Maximiere
n X
gj .xj ; uj /
j D1
u. d. N.
xj C1 D fj .xj ; uj /
.j D 1; : : : ; n/;
x1 D xa ; xj C1 2 Œxl ; xu
.j D 1; : : : ; n/;
uj 2 Œul .xj /; uu .xj / .j D 1; : : : ; n/ Š
484
Kapitel 8 Diskrete dynamische Optimierung
Zur Lösung des Problems mit der Bellmanschen Funktionalgleichungsmethode wird das Intervall Œxl ; xu in N äquidistante Teilintervalle der Länge h D .xu xl /=N unterteilt: X D ¹xl C i h W i D 0; : : : ; N º: X ist die Menge der zulässigen Zustände. Entsprechend wird das Steuerintervall u .x /u .x / Œul .xj /; uu .xj / in Mj äquidistante Teilintervalle der Länge hj D u j Mj l j unterteilt: U.xj / D ¹ul .xj / C i hj W i D 0; : : : ; Mj º .j D 1; : : : ; n/: U.xj / ist die Menge der zulässigen Steuerungen in Schritt j . Implementieren Sie den folgenden Algorithmus: (i) Rückwärtsrechnung 1. Setze V .xnC1 ; n C 1/ D 0 für alle xnC1 2 X . 2. Für j D n; n 1; : : : ; 1: Für alle xj 2 X bestimme V .xj ; j / D
max ¹gj .xj ; uj / C V .fj .xj ; uj /; j C 1/ W fj .xj ; uj / 2 Œxl ; xu º:
uj 2U.xj /
(8.7) (ii) Vorwärtsrechnung 1. Setze x1 D xa . 2. Für j D 1; 2; : : : ; n: Bestimme uj D arg max ¹gj .xj ; uj / C V .fj .xj ; uj /; j C 1/ W fj .xj ; uj / 2 Œxl ; xu º uj 2U.xj /
(8.8) und setze xjC1 D fj .xj ; uj /. Das Programm soll xa ; xl ; xu sowie n; N und M1 ; : : : ; Mn als Eingabeparameter erhalten. Die Funktionen gj ; fj sowie ul .xj / und uu .xj / sollen als benutzerdefinierte Prozeduren oder Funktionen bereitgestellt werden. Testen Sie das Programm mit N D 1000 und Mj D 1 (j D 1; : : : ; n) an folgendem Rucksackpackproblem:
485
Abschnitt 8.6 Aufgaben
Nr.
Gegenstand
Gewicht
subjektiver Wert
1.
Rucksack
1400 g
1.00
2.
Zelt
2600 g
0.88
3.
Isomatte
1200 g
0.92
4.
Schlafsack
1500 g
0.94
5.
Kocher mit Zubehör
1600 g
0.79
6.
4 Tütensuppen
je 30 g
0.79
7.
Trinkflasche mit Wasser
1150 g
0.98
8.
Wäsche
800 g
0.71
9.
Kulturbeutel
300 g
0.74
10.
Handtuch
350 g
0.81
11.
Handy
550 g
0.5
12.
volles Portemonnaie
500 g
0.99
13.
Schreibzeug
300 g
0.52
14.
Wanderkarte
80 g
0.98
15.
Reiseführer
200 g
0.58
16.
Tafel Schokolade
100 g
0.98
Das maximale Gewicht sei A D 10 [kg]. Hinweis: Bei der Auswertung von (8.7) bzw. (8.8) werden die Werte V .xj C1 ; j C 1/ mit xj C1 D fj .xj ; uj / 2 Œxl ; xu benötigt. Dabei ist xj C1 unter Umständen kein Gitterpunkt aus X, sondern es gilt xN WD xl C i h < xj C1 < xl C .i C 1/ h D xN C h für einen Index i . Der Wert der Wertefunktion an der Stelle xj C1 wird dann durch lineare Interpolation der Werte V .x; N j C 1/ und V .xN C h; j C 1/ ermittelt: V .xj C1 ; j C 1/ V .x; N j C 1/ C
xj C1 xN .V .xN C h; j C 1/ V .x; N j C 1// : h
Aufgabe 8.6.12. Ein Unternehmen, das Autopiloten für Flugzeuge herstellt, kann 0, 1 oder 2 Anlagen pro Monat produzieren. Die Firma plant ihre Produktion für die drei folgenden Monate: Juni, Juli, August. Anfang Juni hat sie einen Autopiloten auf Lager; im Juni, Juli und August will sie einen bzw. zwei bzw. keine Autopiloten verkaufen. Ende August soll wieder ein Gerät auf Lager liegen. Produktions- und Lagerkosten sind in den folgenden Aufstellungen angegeben, wobei sich die Lagerkosten auf den Lagerbestand zu Beginn des Monats beziehen.
486
Kapitel 8 Diskrete dynamische Optimierung
Produktion (Autopiloten pro Monat) Gesamtproduktionskosten (in 1000 Euro)
0 15
Lagerbestand Gesamtlagerungskosten (in 1000 Euro pro Monat)
1 20 0 2
1 5
2 35 2 9
3 15
Welcher Produktionsplan würde für die nächsten drei Monate die Gesamtkosten (Produktions- und Lagerkosten) minimieren? Aufgabe 8.6.13. Gegeben sei das Problem
Minimiere
N 1 X
u2 .j /
j D0
u. d. N.
x1 .j C 1/ D x1 .j / C 2x2 .j / .j D 0; 1; : : : ; N 1/; x2 .j C 1/ D 2u.j / x2 .j /
.j D 0; 1; : : : ; N 1/;
x1 .0/ D 0; x1 .N / D 4; x2 .0/ D 0; x2 .N / D 0 Š Lösen Sie es für N D 5 mit Hilfe (a) der dynamischen Programmierung, (b) des diskreten Maximumprinzips. Aufgabe 8.6.14. Gegeben sei das Problem Minimiere x2 .N / u. d. N.
x1 .j C 1/ D x1 .j /.0:9 C bu.j //
.j D 0; 1; : : : ; N 1/;
x2 .j C 1/ D x2 .j / C c.1 u.j //x1 .j / .j D 0; 1; : : : ; N 1/; x1 .0/ D k; x2 .0/ D 0; 0 u.j / 1
.j D 0; 1; : : : ; N 1/ Š
Lösen Sie es für k D 1; c D 1; b D 0:6 und N D 5 mit Hilfe des diskreten Maximumprinzips.
487
Abschnitt 8.6 Aufgaben
Aufgabe 8.6.15. Der Zustand eines technischen oder ökonomischen Prozesses zum Zeitpunkt t 2 Œt0 ; tf mit t0 < tf sei x.t / 2 Rn , n 2 N. Die Dynamik des Prozesses werde durch die Differentialgleichung x.t P / D f .t / C A.t /x.t / C B.t /u.t / .t 2 Œt0 ; tf / mit Anfangswert x.t0 / D x0 und Funktionen f W Œt0 ; tf ! Rn , A W Œt0 ; tf ! Rnn und B W Œt0 ; tf ! Rnnu beschrieben. Die Dynamik kann durch die Steuerung u W Œt0 ; tf ! Rnu , nu 2 N, beeinflusst werden. Ziel ist es, die Zielfunktion F .u/ WD c > x.tf / mit c 2 Rn durch Wahl von u zu minimieren. Zusätzlich unterliegt die Steuerung u noch Boxbeschränkungen der Form ul u.t / uu mit Vektoren ul ; uu 2 Rnu , ul < uu . Der Zustand x ist durch die Zustandsbeschränkung D.t /x.t / d.t / 0 .t 2 Œt0 ; tf / mit D W Œt0 ; tf ! Rnd n , nd 2 N, und d W Œt0 ; tf ! Rnd eingeschränkt. (a) Diskretisieren Sie das kontinuierliche Optimalsteuerungsproblem, indem Sie das Intervall Œt0 ; tf äquidistant in ti D t0 C ih .i D 0; : : : ; N /;
h WD .tf t0 /=N
unterteilen, die Differentialgleichung auf diesem Gitter mit dem expliziten EulerVerfahren diskretisieren und die Beschränkungen auf dem Gitter betrachten. (b) Formulieren Sie das diskretisierte Problem als lineare Optimierungsaufgabe. Aufgabe 8.6.16. Sei x.t / der Vorrat eines erneuerbaren Wertstoffs zum Zeitpunkt t 2 Œ0; T , T > 0, mit Anfangsbestand x.0/ D x0 > 0. Es gelte die Beschränkung x.t / 0 für alle t 2 Œ0; T . Es sei 0 u.t / 1 die Verbrauchsrate und 0 v.t / 1 die Nachschubrate des Wertstoffs. Berücksichtigt man noch eine konstante Verfallsrate ı > 0 des Wertstoffs, so kann die Änderung des Vorrats dann durch die Differentialgleichung x.t P / D v.t / u.t / ıx.t /;
x.0/ D x0 ;
488
Kapitel 8 Diskrete dynamische Optimierung
beschrieben werden. Die Differentialgleichung y.t P / D cv v.t / C cx x.t / cu u.t /;
y.0/ D 0
beschreibt die bis zum Zeitpunkt t angefallenen Kosten y.t /. Die Konstanten cv > 0, cx > 0 und cu > 0 bezeichnen die Nachschubkosten, die Unterhaltskosten pro Einheit des Wertstoffs bzw. den Verkaufserlös. Ziel ist es, die Gesamtkosten J.u; v/ WD y.T / zu minimieren. Lösen Sie das Problem für T D 1, x0 D 1, ı D 0:5 und cv D cx D cu D 1, indem Sie es auf dem äquidistanten Gitter ti D ih
.i D 0; : : : ; 10/;
h WD 1=10
mit dem expliziten Euler-Verfahren diskretisieren und anschließend das resultierende lineare Optimierungsproblem lösen. Aufgabe 8.6.17. Gegeben sei der Steuerprozess Minimiere
kuk1
u. d. N.
x.t R / D u.t / .t 2 Œ0; T /; x.0/ D x.T / D x.T P / D 0; x.0/ P D 1; ju.t /j 1 .t 2 Œ0; T / Š
Darin ist kuk1 WD max t2Œ0;T ju.t /j. Diskretisierten Sie das Problem für N D 10 und T D 3 auf dem Gitter ti D ih .i D 0; : : : ; N /;
h WD T =N:
Formulieren Sie ein lineares Optimierungsproblem zur Lösung des diskretisierten Problems und lösen Sie es. Aufgabe 8.6.18. Betrachten Sie ein System aus zwei Wasserbehältern, wobei xi .t / das Wasservolumen in Behälter i und ui .t / die Abflussrate aus Behälter i 2 ¹1; 2º zur Zeit t bezeichnen.
489
Abschnitt 8.6 Aufgaben
x1 .t / u1 .t /
x2 .t / u2 .t / Die Abflussraten und die Wasservolumina sind durch 0 ui .t / 1 bzw. xi .t / 0 beschränkt. Die Differentialgleichungen für die Wasservolumina lauten xP 1 .t / D u1 .t /;
x1 .0/ D 4;
xP 2 .t / D u1 .t / u2 .t /; x2 .0/ D 4: Ziel ist es, F .u1 ; u2 / WD y.10/ zu maximieren, wobei y durch y.t P / D .10 t /u1 .t / C t u2 .t /;
y.0/ D 0
gegeben ist. Diskretisieren Sie das Problem mit N D 10 und lösen Sie das diskretisierte Problem.
Kapitel 9
Evolutionäre Algorithmen
Wir schildern im Folgenden die Grundidee so genannter evolutionärer Algorithmen (genetischer Algorithmen, „naturnaher“ Algorithmen), die sich in der Praxis dank ihrer Flexibilität großer Beliebtheit erfreuen. Für ausführlichere Informationen vgl. [150, 8, 9, 125, 140, 115, 36, 138, 139, 61]. Evolutionäre Algorithmen gehören zur Klasse der stochastischen Optimierungsverfahren und kommen insbesondere dann zur Anwendung, wenn die zu minimierende Funktion keine ausreichenden Stetigkeitsoder Differenzierbarkeitseigenschaften besitzt oder ein globales Minimum gesucht ist. Evolutionäre Algorithmen werden in nahezu allen Bereichen des Operations Research eingesetzt. Typische Anwendungen sind Betriebsablaufplanung, Personaleinsatzplanung (Stundenpläne für Pflegepersonal), Containertransport, Minimierung von Maschinenrüstzeiten, nichtlineare gemischt-ganzzahlige Optimierungsprobleme (Satellitenpositionierung, Raumfahrtmissionen), Strukturoptimierung (die Form des japanischen Schnellzugs Shinkansen wurde mit Hilfe genetischer Algorithmen optimiert) und viele mehr. Die Anwendung evolutionärer Algorithmen liefert häufig gute Anfangserfolge, d. h. bestehende Lösungen werden schnell verbessert, allerdings haben evolutionäre Algorithmen Schwierigkeiten, ein Optimum mit hoher Genauigkeit zu erreichen. Darüber hinaus besitzen diese Algorithmen stochastische Komponenten, so dass es keine Garantie gibt, ein Optimum tatsächlich zu erreichen. Die Berücksichtigung von Restriktionen ist problematisch und wird in der Regel mit Hilfe von Penalty-Funktionen realisiert. In Abschnitt 9.1 schildern wir das Grundprinzip evolutionärer Algorithmen. In Abschnitt 9.2 analysieren wir die Konvergenz dieser Algorithmen auf der Grundlage der Theorie homogener Markov-Ketten. Die Darstellung ist möglichst einfach gehalten. Ausführlichere Untersuchungen zur Konvergenz finden sich in [140] und in den beiden Arbeiten [145] und [41]. Für die stochastischen Grundlagen wurden [11, 108, 26, 84, 151, 69, 167, 155] herangezogen. In Abschnitt 9.3 illustrieren wir das numerische Verhalten evolutionärer Algorithmen an zwei „akademischen“ Beispielen und mittels der Testresultate aus [41] für die Optimierung von Maschinenrüstzeiten.
9.1
Modellierung evolutionärer Algorithmen
Zu lösen sei das folgende Optimierungsproblem 9.1.1. Gegeben seien N D R [ ¹1º [ ¹C1º f W Rn ! R
Abschnitt 9.1 Modellierung evolutionärer Algorithmen
491
und die Teilmenge K Rn : Maximiere f .x/ unter der Nebenbedingung x2KŠ N ist hierbei eine beliebige Funktion, wobei sinnDie Zielfunktion f W Rn ! R vollerweise f .x/ ¤ C1 für alle x 2 K sein sollte. Ansonsten werden keinerlei Stetigkeits- oder Differenzierbarkeitsannahmen für f gemacht. Die Restriktion x 2 K kann formal auch dadurch modelliert werden, dass f .x/ D 1 für x … K gesetzt wird und f dann auf dem ganzen Rn maximiert wird. Evolutionäre Algorithmen simulieren die natürliche Auslese in der Evolution. Definition 9.1.2 (Individuum, Fitnessfunktion, Population).
Jedes x 2 K heißt Individuum. N heißt Fitnessfunktion. f .x/ bezeichnet die Fitness Die Funktion f W Rn ! R des Individuums x. Eine Teilmenge ¹x 1 ; : : : ; x m º K heißt Population der Größe m.
Ziel eines evolutionären Algorithmus ist es, Individuen mit maximaler Fitness zu finden. Dies soll durch Verwendung der folgenden Operatoren geschehen. Definition 9.1.3 (Mutations-, Rekombinations-, Selektionsoperator).
Der Mutationsoperator ist eine Abbildung M W Rn ! Rn , die einem stochastischen Einfluss unterliegt. Eine Funktion R W .Rn /q ! .Rn /r , welche q Individuen miteinander kombiniert und r neue Individuen erzeugt, wird Rekombinationsoperator (CrossoverOperator) genannt. Der Rekombinationsoperator darf ebenfalls einem stochastischen Einfluss unterliegen. Eine Funktion S W .Rn /s ! .Rn /p , die aus s Individuen p s Individuen anhand ihrer Fitnesswerte und unter einem optionalen stochastischen Einfluss auswählt, wird Selektionsoperator genannt.
Beispiel 9.1.4. Sei n D 1 und x; y 2 R. Dann werden durch
M W R ! R mit M.x/ WD x C N.0; 1/ .x 2 R/ ,
R W R R ! R mit R.x; y/ WD
S W R R ! R mit S.x; y/ WD arg max¹f .x/; f .y/º .x; y 2 R/
xCy 2
.x; y 2 R/ ,
492
Kapitel 9 Evolutionäre Algorithmen
Mutations-, Rekombinations- und Selektionsoperatoren erklärt. In diesem Beispiel ist der Mutationsoperator stochastisch, während Rekombinations- und Selektionsoperator deterministisch sind. N.0; 1/ bezeichnet eine normalverteilte Störung mit Erwartungswert 0 und Varianz 1. Ein Prototypalgorithmus für einen evolutionären Algorithmus lautet wie folgt: Konzeptioneller evolutionärer Algorithmus 9.1.5. (0) Setze t D 0 und initialisiere die Population P .t/ mit m Individuen. (1) Wähle Individuen x j 2 P .t/ .j D 1; : : : ; q/ aus der Population aus. Erzeuge neue Individuen y j .j D 1; : : : ; r/ durch Anwendung des Rekombinationsoperators: .y 1 ; : : : ; y r / WD R.x 1 ; : : : ; x q /: (2) Wende den Mutationsoperator auf die rekombinierten Individuen an: z j WD M.y j /
.j D 1; : : : ; r/:
(3) Wende den Selektionsoperator auf die Population P .t/ [ ¹z 1 ; : : : ; z r º an und setze P .tC1/ WD S.x 1 ; : : : ; x m ; z 1 ; : : : ; z r /: (4) Solange ein (passend gewähltes) Abbruchkriterium nicht erfüllt ist, setze t WD t C 1 und gehe zu (1) . Bemerkung 9.1.6. Bei der Verwendung eines evolutionären Algorithmus kann nicht sichergestellt werden, dass der Algorithmus nach einer endlichen Anzahl von Iterationsschritten das globale Optimum erreicht hat. Evolutionäre Algorithmen benötigen in der Regel sehr viele Iterationen. Durch den stochastischen Einfluss sind die Ergebnisse mitunter schwer zu reproduzieren. Für die Konvergenzanalyse evolutionärer Algorithmen in Abschnitt 9.2 schränken wir den sehr allgemeinen Algorithmus 9.1.5 weiter ein. Wir setzen insbesondere voraus, dass K eine Menge mit endlich vielen Elementen ist, deren Individuen als Bit-Strings der Länge ` codiert werden können, so dass K ¹0; 1º` gilt. Für diesen Fall beschreiben wir nachfolgend einige Standardformen von Rekombinations- (bzw. Crossover-), Mutations- und Selektionsoperatoren.
Abschnitt 9.1 Modellierung evolutionärer Algorithmen
493
Standardoperatoren 9.1.7. a) 1-Punkt-Crossover: Aus zwei Individuen x und y wird ein neues Individuum erzeugt, 1 0 x1 0 1 0 1 x1 y1 B :: C B : C B x2 C B y2 C C B B C B C B x C B x3 C B y3 C C: B B C ; 2 ¹0; : : : ; `º; B C 7! B y C1 C B :: C B :: C C B @ : A @ : A B :: C @ : A x` y` y` b) Uniform-Crossover: Aus zwei Individuen x und y wird ein neues Individuum erzeugt, 0 1 x1 0 1 0 1 y1 x1 B :: C B : C B y2 C B x2 C B C B C B C B x1 1 C B y3 C B x3 C B C ; 1
7 ! <
< <
`; B C B C 1 2 B y C : B :: C B :: C 1 B C @ : A @ : A B x C1 C @ 1 A x` y` :: : c) Mutation: Es sei pm die Mutationswahrscheinlichkeit eines Bits. Dann mutiert das Individuum x in ein neues Individuum gemäß 0 1 0 1 x1 y1 B :: C B :: C @ : A 7! @ : A ; x`
y`
wobei die Wahrscheinlichkeit für yj ¤ xj gleich pm ist .j D 1; : : : ; `/. d) Fitnessproportionale Selektion : Die Auswahlwahrscheinlichkeit E.x i / des Individuums x i für die nächste Elterngeneration wird proportional zu dessen Fitness festgelegt. Die Selektion von Individuen erfolgt dann, indem ein Glücksrad mit nur einem Auswahlpfeil wie in der folgenden Abbildung -mal gedreht wird:
494
Kapitel 9 Evolutionäre Algorithmen
E.x 1 / E.x 2 /
E.x 3 / E.x 4 /
Alternativ kann auch ein Glückrad mit Auswahlpfeilen einmal gedreht werden, um die Individuen auszuwählen:
E.x 1 / E.x 2 /
E.x 3 / E.x 4 /
e) Elitäre Selektion: Die aktuell besten Individuen werden mit der Wahrscheinlichkeit 1 ausgewählt.
9.2
Konvergenzanalyse evolutionärer Algorithmen
Bei der folgenden Konvergenzanalyse verwenden wir nur wenige Grundbegriffe aus der Theorie homogener Markov-Ketten. Eine ausführlichere Darstellung der Konvergenzeigenschaften findet sich in der Veröffentlichung [140], die auch Grundlage der beiden Arbeiten [145] und [41] war. Wir nehmen an, dass der evolutionäre Algorithmus mit konstanter Bitlänge `, gleichbleibender Populationsgröße m und festen Operatoren arbeitet. Wir fassen die (endliche) Menge B aller zulässigen Populationen x der Größe m x D ¹x 1 ; : : : ; x m º
Abschnitt 9.2 Konvergenzanalyse evolutionärer Algorithmen
495
als endlichen messbaren Raum (B; B) mit der Grundmenge B und der -Algebra B auf. Da B endlich ist, können wir für B die Menge aller Teilmengen von B wählen. Elementarereignisse sind gerade die einpunktigen Teilmengen, also die einzelnen Populationen der Länge m. Ein evolutionärer Algorithmus definiert implizit eine diskrete Zeitmenge N0 D N [ ¹0º und einen stochastischen Prozess .X t / t2N0 über einem Wahrscheinlichkeitsraum .; A; w/ mit Werten im Zustandsraum .B; B/. Für jedes feste ! 2 heißt .X t .!// t2N0 Pfad oder Trajektorie oder Realisierung des Prozesses. Jeder konkrete Durchlauf des evolutionären Algorithmus liefert ein Anfangsstück solch eines Pfads. Naturgemäß sind wir bei der Konvergenzanalyse nicht so sehr an einem einzelnen Pfad interessiert, sondern vielmehr an der Entwicklung der Wahrscheinlichkeiten aller Populationen in Abhängigkeit von t 2 N0 . Wir nehmen weiter an, dass dieser stochastische Prozess eine homogene MarkovKette ist. Die Wahrscheinlichkeiten der Elementarereignisse y 2 B zur Zeit t pyt WD w.X t1 .y//
.y 2 B/
sind dann vollständig festgelegt durch die Wahrscheinlichkeiten der Elementarereignisse x 2 B zur Zeit t0 D 0 px0 WD w.X01 .x//
.x 2 B/
und die Übergangsmatrix x2B P D .pyx /y2B
mit den bedingten Wahrscheinlichkeiten pyx WD w.X11 .y/ j X01 .x//
.x; y 2 B/
als Matrixelementen. Der erste Index ist dabei der Zeilenindex, der zweite Index der Spaltenindex, wobei die Indexmenge B fest angeordnet sei. Dann können wir die Matrixschreibweise verwenden mit der üblichen Summenkonvention und erhalten .pyt /y2B D P t .px0 /x2B
.t 2 N0 /:
496
Kapitel 9 Evolutionäre Algorithmen
Uns interessiert im Folgenden das Verhalten der Wahrscheinlichkeiten .pyt /y2B für t ! 1. Für die weitere Analyse setzen wir voraus, dass der evolutionäre Algorithmus die beiden folgenden Eigenschaften besitzt: (i) Der Selektionsoperator ist elitär, d. h. die besten Individuen der aktuellen Population werden mit Wahrscheinlichkeit 1 ausgewählt. (ii) Von jedem Zustand aus kann ein optimaler Zustand, also eine Population, die eine Optimallösung enthält, mit positiver Wahrscheinlichkeit erreicht werden, d. h. zu beliebigem Zustand x 2 B existiert ein t 2 N0 und ein optimaler Zustand y 2 B mit .P t /yx > 0: Zur Vereinfachung der Übergangsmatrix und der Notation identifizieren wir die Elemente von B mit den natürlichen Zahlen 1; : : : ; N; N C 1; : : : ; N C M; wobei wir die Anordnung so wählen, dass 1; : : : ; N die nichtoptimalen Zustände sind und N C 1; : : : ; N C M die optimalen. Dann besitzt die Übergangsmatrix die Struktur P D
Q
‚
R
S
!
mit einer N N -Matrix Q, einer M N -Matrix R und einer M M -Matrix S . Die N M -reihige Nullmatrix ‚ entsteht bei dieser Umordnung, weil der Selektionsoperator elitär ist. Wir bezeichnen im Folgenden wiederum Nullmatrizen verschiedener Dimensionierung unterschiedslos mit ‚. Mittels dieser Struktur der Übergangsmatrix analysieren wir jetzt die Konvergenz evolutionärer Algorithmen in mehreren Schritten.
Abschnitt 9.2 Konvergenzanalyse evolutionärer Algorithmen
497
I. Konvergenz der Potenzen P t für t ! 1 Zunächst geben wir Bedingungen an für die Konvergenz der Matrixpotenzen P t für t ! 1. Dazu transformieren wir die Matrix P ähnlich mittels der regulären Matrix T auf ihre Jordansche Normalform J D T 1 P T: Die einzelnen Jordan-Blöcke von J haben dann die Gestalt -reihiger Matrizen 1 1 ‚ C B 1 C B C B :: :: J ./ D B C; : : C B @ 1A ‚ 0
wobei ein Eigenwert von P ist und einer der zu gehörigen Elementarteilerexponenten. Die Summe aller dieser Elementarteilerexponenten von ist gleich der algebraischen Vielfachheit von , die Anzahl dieser Elementarteilerexponenten ist gleich der geometrischen Vielfachheit von . Die Transformationsmatrix T besteht spaltenweise aus so genannten Hauptvektorketten von P . Weil der Unterraum ¹0RN º RM des RN RM unter P in sich abgebildet wird, können die letzten M Spalten von T so aufgebaut werden, dass gilt Ti;N Cj D 0
.i D 1; : : : ; N; j D 1; : : : ; M /:
Diese Spalten bilden nach Streichung ihrer führenden N Nullen eine Transformationsmatrix j D1;:::;M TS WD .TN Ci;N Cj /i D1;:::;M ;
die den Block S ähnlich auf Jordan-Form JS transformiert. Auf diese Weise werden S und P (und übrigens auch Q) synchron durch T auf Jordan-Form transformiert. Wir benötigen zunächst nur die Struktur eines einzelnen Jordan-Blocks, da es wegen P t D TJ t T 1 ausreicht, die Potenzen von J bzw. J ./ zu analysieren.
498
Kapitel 9 Evolutionäre Algorithmen
Da J ./t für t die Darstellung besitzt 0 t B B B B B B J ./t D B B B B B B @
t 1
t1
t
‚
1 t tC1 tC1 C t t1 t tC2 C C C tC2 1 C C :: :: :: C; : : : C C C t t1 t C C 1 A t
können diese Potenzen für t ! 1 überhaupt nur konvergieren, falls entweder jj < 1 ist oder falls und beide gleich 1 sind. Diese Bedingung ist in der Theorie der Differenzengleichungen als starke Wurzelbedingung (strong root condition) bekannt. Da die Spaltensummennorm kP k1 von P , das ist das Maximum über alle Spaltensummen von P , gleich 1 ist, sind alle Eigenwerte von P betragsmässig kleiner oder gleich 1. Da auch alle Spaltensummen der Matrizen P t gleich 1 sind, folgt für jeden Jordan-Block mindestens der Länge D 2 jt j C j 1t t1 j kJ t k1 kT 1 k1 kP t k1 kT k1 kT 1 k1 kT k1 ; also für einen Eigenwert von P vom Betrage jj D 1 1 C t kT 1 k1 kT k1
.t 2 N0 /:
Dieser Widerspruch zeigt, dass zu Eigenwerten von P vom Betrage 1 nur JordanBlöcke der Länge D 1 gehören können. Da die Spaltensummen von P alle gleich 1 sind, besitzt P den Linkseigenvektor e D .1; : : : ; 1/ und damit den Eigenwert 1. Wenn wir also überhaupt Konvergenz erreichen wollen, müssen wir zusätzlich voraussetzen: (iii) Der Eigenwert 1 der Übergangsmatrix P sei der einzige Eigenwerte von P vom Betrage 1. Unter dieser Voraussetzung folgt dann wegen ´ ‚; falls jj < 1; t lim J ./ D t!1 1; falls D 1; die Existenz des Limes lim J t DW J 1 :
t!1
499
Abschnitt 9.2 Konvergenzanalyse evolutionärer Algorithmen
Rücktransformation liefert die Existenz des lim P t D TJ 1 T 1 DW P 1 :
t!1
Jetzt wollen wir noch stärker die Struktur von P ausnutzen und die Limiten der einzelnen Blöcke von P t analysieren.
II. Darstellung der Potenzen P t für t 2 N0 Es ist P2 D
D
Q
‚
R
S
!
Q
‚
R
S
Q2
‚
RQ C SR
S2
!
! :
Durch vollständige Induktion folgt für t 2 N t
P D
Pt1 D0
Qt S t1 RQ
‚ St
! :
(9.1)
III. Analyse der Potenzen Qt für t ! 1 Nach Voraussetzung existiert zu beliebigem j 2 ¹1; : : : ; N º ein t .j / 2 N0 und ein Index i.j / 2 ¹N C 1; : : : ; N C M º mit .P t.j / /i.j /;j > 0: Da alle Matrixpotenzen von P stochastisch sind, also nichtnegative Einträge und lauter Spaltensummen 1 besitzen, ist insbesondere auch NX CM
.P t.j / /i;j D 1:
i D1
Also ist 0
N X i D1
.P
t.j /
/i;j
N X D .Qt.j / /i;j DW ı.j / < 1: i D1
500
Kapitel 9 Evolutionäre Algorithmen
Außerdem gilt für beliebiges t 2 N0 und beliebiges j D 1; : : : ; N N N X X .QtC1 /i;j D .Q Qt /i;j i D1
i D1
D
N N X X
Qi; .Qt /;j
i D1 D1
D
N N X X
Qi; .Qt /;j
D1 i D1
N X
.Qt /;j ;
D1
PN
d. h. die Folge i D1 .Qt /i;j ist für t 2 N schwach monoton fallend. Folglich ist für alle j 2 ¹1; : : : ; N º und alle t t .j / N X .Qt /i;j ı.j / < 1: i D1
Da es nur endlich viele j 2 ¹1; : : : ; N º gibt, existiert auch ein gemeinsames ı 2 Œ0; 1/ und 0 2 N mit N X .Qt /i;j ı < 1 .t 0 ; j 2 ¹1; : : : ; N º/: i D1
Damit erhalten wir dann für jedes t D k0 C mit k 2 N; 0 < 0 die Abschätzung N N X X k0 C .Q /i;j .Qk0 /i;j i D1
i D1 N X D .Q0 Q.k1/0 /i;j i D1
D
N X N X
.Q0 /i; .Q.k1/0 /;j
i D1 D1
D
N N X X .Q0 /i; .Q.k1/0 /;j D1 i D1
ı
N X
.Q.k1/0 /;j :
D1
501
Abschnitt 9.2 Konvergenzanalyse evolutionärer Algorithmen
Insgesamt lässt sich auf diese Weise der Faktor ı k-mal abspalten, und wir erhalten N X .Qk0 C /i;j ı k
.k 2 N; 0 < 0 /:
(9.2)
i D1
Die nichtnegative, schwach monoton fallende Folge N X
.Qt /i;j
.t 2 N/
i D1
besitzt also eine gegen 0 konvergente Teilfolge, konvergiert daher selbst gegen 0. Da j D 1; : : : ; N beliebig gewählt werden konnte, folgt kQk0 C k1 ı k
.k 2 N; 0 < 0 /
(9.3)
und lim kQt k1 D 0:
t!1
(9.4)
Also ist Q eine so genannte konvergente Matrix. Dies ist gleichbedeutend damit, dass der Spektralradius .Q/ von Q kleiner als 1 ist, .Q/ WD max¹jj W Eigenwert von Qº < 1:
IV. Analyse der Potenzen S t für t ! 1 Wir brauchen nur den entsprechenden Teilblock der Jordan-Form für P t aus der Konvergenzanalyse I. zu betrachten. Wir haben die Transformationsmatrix T so gewählt, dass alle der Blockmatrix S entsprechenden Jordan-Blöcke in der Jordan-Form von P rechts unten stehen. Weiter können wir annehmen, dass alle zum Eigenwert 1 gehörigen (einreihigen) Blöcke ganz unten rechts zusammengefasst werden zu einer M 00 -reihigen Einheitsmatrix IM 00 mit 1 M 00 M . Dann erhält man für die Jordan-Form JS von S ! ‚ ‚ t 1 : (9.5) lim J WD JS D t!1 S ‚ IM 00 Durch Rücktransformation erhält man lim S t D TS
t!1
‚
‚
‚ IM 00
! TS1 DW S 1 :
(9.6)
Dies besagt, dass die Spalten von S 1 Linearkombinationen der Eigenvektoren von S zum Eigenwert 1 sind, wobei die Koeffizienten der jeweiligen Linearkombination durch die Spaltenvektoren von TS1 bestimmt werden.
502
Kapitel 9 Evolutionäre Algorithmen
Eine Teilaussage dieses Resultats hätte man auch sehr leicht direkt bekommen können. Da die Existenz von S 1 schon mit I. und II. feststeht, folgt S 1 D lim S t D lim SS t D SS 1 ; t!1
t!1
also sind die Spalten von S 1 Eigenvektoren von S zum Eigenwert 1. Diese letzte Schlussweise liefert uns aber keine Informationen darüber, um welche Linearkombinationen es sich dabei handelt.
V. Analyse von Rt WD
Pt1
D0
S t1 RQ für t ! 1
Schließlich muss noch der gemäß der Darstellung (9.1) letzte verbliebene Teilblock der Matrix P t R t WD
t1 X
S t1 RQ
D0
untersucht werden. Dies wäre ohne die bereits geleisteten Vorarbeiten gar nicht so leicht. Aber wir wissen bereits, dass der lim R t DW R1
t!1
existiert und dass P 1 die Gestalt besitzt P1 D
!
‚
‚
R1
S1
:
Damit folgt aus P 1 D P 1P durch Einsetzen ‚
‚
R1
S1
! D
‚
‚
R1
S1
!
Q
‚
R
S
! D
‚
‚
R1 Q C S 1 R
S1
! :
Also ist R1 D S 1 R.IN Q/1 :
(9.7)
Damit ist unsere Analyse der Potenzen der Übergangsmatrix beendet, und wir können die wesenlichen Resultate im folgenden Konvergenzsatz zusammenfassen:
503
Abschnitt 9.2 Konvergenzanalyse evolutionärer Algorithmen
Konvergenzsatz 9.2.1. Ein evolutionärer Algorithmus besitze die Eigenschaften: (i) Sein Selektionsoperator sei elitär. (ii) Von jeder Population aus kann eine optimale mit positiver Wahrscheinlichkeit erreicht werden. Dann gilt für die Wahrscheinlichkeiten der nichtoptimalen Populationen lim .pit /i D1;:::;N D lim Qt .pi0 /i D1;:::;N D 0RN :
t!1
t!1
(9.8)
Für die Konvergenzgeschwindigkeit gilt k.pit /i D1;:::;N k1 ı k k.pi0 /i D1;:::;N k1
(9.9)
für alle t D k0 C , k 2 N, 0 < 0 . Die Matrix S erfülle überdies das starke Wurzelkriterium: (iii) Der Eigenwert 1 sei der einzige Eigenwert vom Betrage 1. Dann existiert der Limes der ganzen Matrizenfolge P 1 D lim P t D t!1
‚
‚
S 1 R.IN Q/1
S1
! :
(9.10)
Die Spalten von S 1 sind Linearkombinationen der Eigenvektoren von S zum Eigenwert 1. Die Koeffizienten dieser Linearkombinationen werden durch die Spaltenvektoren der Matrix TS1 bestimmt. Dabei transformiert TS die Matrix S ähnlich auf Jordan-Form, und zwar synchron zur Transformation T von P auf Jordan-Form. Wir untersuchen noch zwei Spezialfälle näher, in denen sich die Situation stark vereinfacht. Besitzt die Teilmatrix S den einfachen Eigenwert 1 und sind alle anderen Eigenwerte betragsmäßig kleiner als 1, so folgt aus Gleichung (9.6) lim S t DW S 1 D y .1; : : : ; 1/
t!1
mit einem Eigenvektor y von S mit Spaltensumme 1 zum Eigenwert 1. Der Limes ist also eine M M -Matrix vom Rang 1. Damit wird nach Gleichung (9.7) lim R t D R1 D S 1 R.IN Q/1 D y .1; : : : ; 1/ R .IN Q/1 :
t!1
Weil die Spaltensummen von P gleich 1 sind, ist .1; : : : ; 1/ R D .1; : : : ; 1/ .IN Q/:
504
Kapitel 9 Evolutionäre Algorithmen
Also ist lim R t D R1 D y .1; : : : ; 1/:
t!1
Damit erhalten wir P
1
‚
t
D lim P D t!1
‚
.y; : : : ; y/ .y; : : : ; y/
! ;
(9.11)
wobei der Eigenvektor y im linken unteren Block N -fach und im rechten unteren Block M -fach aufgelistet ist. Als Grenzverteilung ergibt sich hieraus t
0
lim P p D
t!1
0RN y
:
(9.12)
Ein weiterer wichtiger Spezialfall liegt vor, wenn optimale Populationen im Verlaufe des evolutionären Algorithmus (mit Wahrscheinlichkeit 1) nicht mehr geändert werden. Dies ist z. B. der Fall, wenn die Populationsgröße m D 1 ist, also bei individuenbasierten evolutionären Algorithmen. Auch wenn ein Optimalitätskriterium zur Verfügung steht und die Rechnung sofort abgebrochen wird, wenn eine optimale Population getroffen wird, könnte man den evolutionären Algorithmus entsprechend modellieren. Dann ist die Matrix S D IM die M -reihige Einheitsmatrix, und wir erhalten die einfachere Darstellung Pt D
Qt
Pt1
D0
RQ
‚ IM
! :
(9.13)
Gemäß III. ist der Spektralradius von Q kleiner als 1. Daher ist die Neumannsche Reihe 1 X
Q
D0
konvergent gegen .IN Q/1 :
505
Abschnitt 9.3 Numerische Simulation evolutionärer Algorithmen
Damit folgt t
lim P D
t!1
‚
‚
R.IN Q/1
IM
! ;
was wir natürlich auch durch Einsetzen von S 1 D IM in die Gleichung (9.10) erhalten würden. Für die Grenzverteilung ergibt sich 0 1 0 : :: B C B C B C 0 B C t 0 B 0 1 0 1C : (9.14) lim P p D B 0 0 t!1 pN C1 C p1 B C B :: B : C B CC @ R.IN Q/1 @ :: A C @ AA : 0 0 pN pN CM Für weitere Informationen ziehe man [84, 151, 69, 155] zu Rate. Die obige Diskussion des Konvergenzverhaltens der Potenzen P t der Übergangsmatrix und die folgenden numerischen Simulationen sollen etwas deutlicher machen, welche Effekte zu erwarten sind bei der konkreten Anwendung evolutionärer Algorithmen. Die Praxis zeigt, dass schnelle Anfangsverbesserungen der aktuellen Population schließlich auf ein „Plateau“ der Fitness-Funktion führen, bei dem nur noch sehr langsam Fortschritte zu erzielen sind. Ob eine optimale Population wirklich erreicht wird, ist schwer festzustellen, insbesondere wenn kein geeignetes hinreichendes Optimalitätskriterium zur Verfügung steht.
9.3
Numerische Simulation evolutionärer Algorithmen
Wir untersuchen an drei Beispielen, wie sich der evolutionäre Prototypalgorithmus numerisch verhält. Die Berechnungen für die ersten beiden Beispiele wurden mit der C++-Bibliothek GAlib in der Version 2.4 (http://lancet.mit.edu/ga) durchgeführt, die von Matthew Wall am Massachusetts Institute of Technology entwickelt wurde. Der ausgewählte Algorithmus ist dabei elitär. Das erste Beispiel ist ein einfaches akademisches Beispiel zur Maximierung einer glatten konkaven Funktion. Beispiel 9.3.1. Wir wenden einen evolutionären Algorithmus an zur Maximierung der Funktion f .x; y/ D x 2 y 2 im Quader 5 x; y 5. Der Optimalwert ist fopt D 0, welcher in .x; y/ D .0; 0/ angenommen wird.
506
Kapitel 9 Evolutionäre Algorithmen
Der genetische Algorithmus liefert die Lösung .x; y/ D .0:00480659; 0:00251774/ mit Funktionswert 2:94423 105 : Generation 0: Δ
5
Generation 1:
Δ
5
Δ
4 3
Δ
2 1
Δ
−1
Δ
Δ
Δ
Δ
−2
Δ Δ
−3
Δ Δ
Δ
Δ
0
Δ
Δ
Δ
4
Δ
Δ
Δ
Δ
Δ
Δ Δ Δ
Δ
2
Δ ΔΔ
ΔΔ Δ Δ
3
1
Δ
Δ
Δ
Δ
Δ
−2
ΔΔ
Δ Δ Δ Δ Δ
Δ
−3
−4
Δ
ΔΔ
0 −1
Δ
Δ
Δ
Δ
Δ
−4
−5
−5 −5
−4
−3
−2
−1
0
1
2
3
4
5
−5
−4
−3
Generation 10: 5
4
4
3
3
Δ ΔΔΔ Δ ΔΔΔΔΔ Δ Δ Δ
0
0
1
2
3
4
5
3
4
5
3
4
5
Δ Δ Δ
2
Δ
Δ
1
−1
Generation 25:
5
2
−2
Δ Δ ΔΔ ΔΔ Δ ΔΔ ΔΔ Δ Δ Δ
1
Δ
0
−1
−1
−2
−2
−3
−3
−4
Δ
−4
−5
Δ
Δ
−5 −5
−4
−3
−2
−1
0
1
2
3
4
5
−5
−4
−3
Generation 50:
−2
−1
0
1
2
Generation 100:
5
5
4
4
3
3
2
2
ΔΔ ΔΔΔ Δ ΔΔΔΔ Δ ΔΔ
1 0
1
Δ Δ
0
−1
−1
−2
−2
−3
−3
−4
−4
−5
Δ
−5 −5
−4
−3
−2
−1
0
1
2
3
4
5
−5
−4
−3
−2
−1
0
1
2
507
Abschnitt 9.3 Numerische Simulation evolutionärer Algorithmen Entwicklung des besten Zielfunktionswerts
Entwicklung des schlechtesten Zielfunktionswerts
0 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1
0 -5 -10 -15 -20 -25 -30 -35 -40 0
20
40 60 Generation
80
100
0
20
40 60 Generation
80
100
Das folgende Beispiel ist ein ebenfalls akademisches Beispiel zur Maximierung einer nichtdifferenzierbaren Funktion. Beispiel 9.3.2. Wir wenden einen evolutionären Algorithmus an zur Maximierung der Funktion x jx round.x/j f .x/ D 2 x C2 im Intervall 10 x 10, wobei round.x/ die Zahl x auf die nächstgelegene ganze Zahl rundet. Der Optimalwert ist fopt D 1=3, welcher an den Punkten x D 1 und x D 2 angenommen wird. Beachte, dass die Funktion f sehr viele lokale Minima und Maxima besitzt und nicht differenzierbar ist, so dass lokale, gradientenbasierte Verfahren nicht anwendbar sind. Der erste Lauf liefert die Lösung x D 1:99939 mit Funktionswert 0:332757: Population der Generation 0
Population der Generation 1
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
Population der Generation 10
Population der Generation 25
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
508
Kapitel 9 Evolutionäre Algorithmen Population der Generation 50
Population der Generation 100
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
Entwicklung des besten Zielfunktionswerts 0.34 0.33 0.32 0.31 0.3 0.29 0.28 0.27 0.26 0.25 0.24
Entwicklung des schlechtesten Zielfunktionswerts 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
10
20
30
40
50
60
70
80
90 100
0
Generation
10
20
30
40
50
60
70
80
90 100
Generation
Ein zweiter Lauf liefert die Lösung x D 0:999924 mit Funktionswert 0:333249: Population der Generation 0
Population der Generation 1
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
Generation
Generation
Population der Generation 10
Population der Generation 25
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 Generation
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 Generation
509
Abschnitt 9.3 Numerische Simulation evolutionärer Algorithmen Population der Generation 50
Population der Generation 100
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 Generation
-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 Generation
Entwicklung des besten Zielfunktionswerts
Entwicklung des schlechtesten Zielfunktionswerts
0.34
0.4
0.32
0.2
0.3
0
0.28 -0.2 0.26 -0.4
0.24
-0.6
0.22 0.2
-0.8 0
10
20
30
40 50 60 Generation
70
80
90 100
0
10
20
30
40 50 60 Generation
70
80
90 100
Weitere Durchläufe liefern mitunter auch nichtoptimale Lösungen! Das folgende Beispiel aus [41] behandelt das Problem, Aufträge in optimaler Reihenfolge auf einer Maschine abzuarbeiten. Beispiel 9.3.3. n Aufträge sollen nacheinander genau einmal durch eine Maschine bearbeitet werden. Gesucht ist eine optimale Reihenfolge der Aufträge, so dass die Abarbeitungszeit aller Aufträge auf der Maschine möglichst gering ausfällt. Hierbei sind Rüstzeiten zu berücksichtigen, die entstehen, wenn Maschinen für die Bearbeitung einer neuen Aufgabe umgerüstet werden müssen. Die Rüstzeiten, die bei einem Wechsel von Auftrag i auf Auftrag j entstehen, werden mit aij bezeichnet und in der Rüstmatrix A 2 R.nC1/n zusammengefasst, welche noch um eine 0-te Zeile für einen künstlichen Auftrag 0 erweitert wurde, um auch die Rüstzeiten für den ersten auszuführenden Auftrag berücksichtigen zu können. Das Problem kann als Travelling Salesman-Problem interpretiert werden, bei dem die Maschine (Handlungsreisender) die n Aufträge (Städte) abarbeitet (besucht), wobei man auf die Forderung verzichtet, dass die zuerst besuchte Stadt gleich der zuletzt besuchten Stadt sein muss. Die Matrix A beschreibt dabei die Entfernungen (Dauer der Rüstzeiten).
510
Kapitel 9 Evolutionäre Algorithmen
Gesucht ist hier also eine Permutation W ¹1; : : : ; nº ! ¹1; : : : ; nº, so dass a0; .1/ C
n1 X
a .i/; .i C1/
i D1
minimal wird. Bei der Lösung dieses Problems mit evolutionären Algorithmen entspricht jedes Individuum einer Permutation der Menge ¹1; : : : ; nº. Details über die Konstruktion von Mutations-, Selektions- und Rekombinationsoperatoren können in [41] nachgelesen werden. Wir zeigen hier nur exemplarisch einen typischen Verlauf des evolutionären Algorithmus für ein Beispiel mit n D 10 Aufträgen und der zufällig erzeugten Rüstzeitmatrix 0
0:000 13:994
B B 1 B B 10:514 B B B 13:153 B B B 9:084 B ADB B 17:959 B B 9:907 B B 3:841 B B B 12:197 B B @ 8:632 3:129
18:933
3:271 14:127 16:684 5:884 18:860
1 16:931 11:925
0:000
4:250
1:268 17:632 13:386 18:992
5:526
1 16:424
6:051 11:406 18:239 16:254 0:000
6:292
4:475
1
1:354
8:079
8:918
0:000 14:890
0:000
6:074 11:324
1 1:007
2:147
0:032 12:008
1:815 10:202 12:352 10:907 12:830
4:630 16:457
1:941 11:921 18:365
8:276
9:178
1 16:036
0:000
1
4:657
2:948
5:382 13:397 15:920
0:273
3:583 17:274
1
2:669
0:000
0:642 18:700
3:335
4:186
19:179 16:411
0:640
0:000 11:099 14:776
8:019 17:174
1
C 1:248 13:484 C C 0:000 0:729 C C C 3:758 0:000 C C C 18:404 7:540 C C 6:880 0:083 C C: C 14:313 19:794 C C 7:423 4:478 C C C 12:762 4:153 C C C 1 13:013 A 19:433 1
Betrachtet man die Rüstzeitmatrix etwas genauer, so erkennt man sofort, dass die minimale Gesamtrüstzeit in diesem Beispiel gerade 0 beträgt. Insofern eignet sich dieses Beispiel sehr gut zur Validierung des evolutionären Algorithmus. Da alle Rüstzeiten nichtnegativ sind, ergibt sich zusätzlich ein Abbruchkriterium, sobald der Wert 0 erreicht wird. In diesem Beispiel benötigte der Algorithmus 1 236 408 Iterationen und 14 Sekunden, um zu einer optimalen Lösung zu gelangen, vgl. Tabelle 9.1. Die errechnete Lösung ist: 1–7–2–9–5–3–10–4–6–8 Natürlich kennt man im Allgemeinen den optimalen Zielfunktionswert nicht, so dass üblicherweise leider auch kein überprüfbares Abbruchkriterium zur Verfügung steht. In diesem Fall lässt man den Algorithmus eine feste Anzahl von Iterationen durchführen, die groß genug gewählt sein sollte, damit sich der Fitnesswert nicht mehr
511
Abschnitt 9.3 Numerische Simulation evolutionärer Algorithmen
Iteration
Zeit
Rüstzeit
0
00:00:00
101.117
1
00:00:00
79.747
2
00:00:00
67.804
6
00:00:00
52.008
40
00:00:00
48.447
88
00:00:00
45.224
101
00:00:00
34.201
356
00:00:00
23.008
3488
00:00:00
17.409
8077
00:00:00
9.684
16 006
00:00:00
5.443
119 858
00:00:01
5.003
238 488
00:00:02
0.913
1 236 408
00:00:14
0.000
Tabelle 9.1. Verlauf des evolutionären Algorithmus für das Maschinenbelegungsproblem mit Rüstzeitmatrix A.
wesentlich ändert. Wir verdeutlichen die Vorgehensweise für ein Beispiel mit n D 10 Aufträgen und der zufällig erzeugten Rüstzeitmatrix 0
2:081 10:209
9:430 17:164
B B 1 8:415 14:034 18:750 B B 12:250 1 9:607 3:152 B B B 12:551 6:895 1 1:981 B B 1 B 3:648 9:821 13:870 B B Q A D B 4:904 0:934 1:182 14:511 B B 11:080 12:648 18:161 5:827 B B 14:049 16:185 2:297 7:919 B B B 16:982 7:690 14:754 18:164 B B @ 19:919 16:461 3:800 18:081 0:518
1:073
9:022
2:815
5:179 11:983
6:259
3:346
3:347 11:468
9:334
11:708 11:942 2:456
6:797 11:491 13:330 7:207
4:059 19:927 13:964 10:318 8:571 17:216
7:016 11:918
1 12:890
6:453
6:541
1
5:753
8:594
13:867 10:868
1
0:883
2:201 18:840 11:054
1
14:630
2:288 18:430 8:991
0:300
8:041
2:889 13:683 14:127
1
C 9:083 12:986 C C 4:814 4:538 C C C 6:723 5:455 C C C 8:684 16:099 C C 0:097 11:266 C C: C 12:537 12:477 C C 2:786 13:820 C C C 5:381 11:152 C C C 1 12:837 A 3:772 1
Der Rüstzeitmatrix AQ kann man eine optimale Lösung nicht direkt ablesen. Der Algorithmus liefert nach 1 000 000 Iterationen das Ergebnis in Tabelle 9.2.
512
Kapitel 9 Evolutionäre Algorithmen
Die Ausführungsdauer betrug 13 Sekunden, und die (nicht gerundete) erreichte Rüstzeit beträgt 31.587881 für die Reihenfolge 1–5–2–10–6–7–8–9–3–4. Ob diese Reihenfolge tatsächlich optimal ist, ist nicht klar. Iteration
Zeit
Rüstzeit
0
00:00:00
68.401
29
00:00:00
59.611
59
00:00:00
55.544
176
00:00:00
55.379
238
00:00:00
54.355
342
00:00:00
54.303
1358
00:00:00
38.506
58 649
00:00:01
36.418
62 077
00:00:01
33.828
141 440
00:00:02
32.231
525 875
00:00:07
31.588
1 000 000
00:00:13
31.588
Tabelle 9.2. Verlauf des evolutionären Algorithmus für das Maschinenbelegungsproblem Q mit Rüstzeitmatrix A.
Literaturverzeichnis
[1] C. S. Adjiman und C. A. Floudas. Rigorous convex underestimators for general twicedifferentiable problems. Journal of Global Optimization, 9(1) (1996), 23–40. [2] C. S. Adjiman und C. A. Floudas. The ˛BB global optimization algorithm for nonconvex problems: An overview. In A. Migdalas et al., editor, From local to global optimization. Papers from the conference dedicated to Professor Hoang Tuy on the occasion of his 70th birthday, Rimforsa, Sweden, August 1997, volume 53 of Nonconvex Optimization and Applications, pages 155–186, Kluwer Academic Publishers, Dordrecht, 2001. [3] W. Alt. Nichtlineare Optimierung. Vieweg Verlag, Braunschweig–Wiesbaden, 2002. [4] W. Alt. Numerische Verfahren der nichtglatten Optimierung. Teubner Verlag, Stuttgart–Leipzig–Wiesbaden, 2004. [5] I. P. Androulakis, C. D. Maranas und C. A. Floudas. ˛bb: A global optimization method for general constrained nonconvex problems. Journal of Global Optimization, 7(4) (1995), 337–363. [6] J.-P. Aubin. Mathematical Methods of Game and Economic Theory, volume 7 of Studies in Mathematics and its Applications. North-Holland, Amsterdam–New York– Oxford, 1979. [7] J.-P. Aubin. Optima and Equilibria, volume 140 of Graduate Texts in Mathematics. Springer Verlag, Berlin, 1993. [8] Th. Bäck. Evolutionary Algorithms in Theory and Practice. Oxford University Press, New York, 1996. [9] Th. Bäck, D. B. Fogel und Z. Michalewicz. Handbook of Evolutionary Computation. Oxford University Press, New York, 1997. [10] R. H. Bartels, J. Stoer und C. Zenger. A realization of the simplex method based on triangular decompositions. In J. H. Wilkinson and C. Reinsch, editors, Handbook for Automatic Computation, Vol. II, Linear Algebra, pages 152–190. Springer-Verlag, Berlin–Heidelberg–New York, 1971. [11] H. Bauer. Wahrscheinlichkeitstheorie und Grundzüge der Maßtheorie. Walter de Gruyter und Co., Berlin, 3. Auflage,1978. [12] M. S. Bazaraa und J. J. Jarvis. Linear Programming and Network Flows. John Wiley & Sons, New York–Chichester–Brisbane–Toronto–Singapore, 1977. [13] M. S. Bazaraa, H. D. Sherali und C. M. Shetty. Nonlinear Programming: Theory and Algorithms. John Wiley & Sons, 2nd edition, 1993. [14] R. E. Bellman. Dynamic Programming. University Press, Princeton, New Jersey, 1957.
514
Literaturverzeichnis
[15] R. E. Bellman und S. E. Dreyfus. Applied Dynamic Programming. University Press, Princeton, New Jersey, 1971. [16] R. G. Bland. New finite pivoting rules for the simplex method. Mathematics of Operations Research, 2 (1977), 103–107. [17] E. Blum und W. Oettli. Mathematische Optimierung. Springer-Verlag, Berlin–Heidelberg–New York, 1975. [18] I. M. Bomze und W. Grossmann. Optimierung – Theorie und Algorithmen. BI-Wissenschaftsverlag, Mannheim, 1993. [19] J. F. Bonnans und A. Shapiro. Perturbation Analysis of Optimization Problems. Springer Series in Operations Research. Springer, New York, 2000. [20] T. Bonnesen und W. Fenchel. Theorie der konvexen Körper, volume 3 of Ergebnisse der Mathematik und ihrer Grenzgebiete. Chelsea Publishing Company, Bronx, New York, 1934. Nachdruck: Chelsea Publishing Company, Bronx-New York, 1971. [21] K. H. Borgwardt. The simplex method – A probabilistic analysis. Springer, Berlin– Heidelberg–New York, 1987. [22] K.-H. Borgwardt. Optimierung, Operations Research, Spieltheorie. Birkhäuser Verlag, Basel, 2001. [23] C. Büskens und M. Gerdts. Real-time Optimization of DAE Systems. In M. Grötschel, S. O. Krumke and J. Rambau, editors, Online Optimization of Large Scale Systems, pages 117–128. Springer, Berlin–Heidelberg–New York, 2001. [24] C. Büskens und H. Maurer. Sensitivity Analysis and Real-Time Optimization of Parametric Nonlinear Programming Problems. In M. Grötschel, S. O. Krumke and J. Rambau, editors, Online Optimization of Large Scale Systems, pages 3–16. Springer, Berlin–Heidelberg–New York, 2001. [25] E. W. Cheney und A. A. Goldstein. Newton’s method for convex programming and Tschebycheff approximation. Numer. Math., 1 (1959), 253–268. [26] Y. S. Chow und H. Teicher. Probability Theory. Springer Verlag, New York, 1978. [27] V. Chvátal. Linear Programming. W. H. Freeman and Company, New York–San Francisco, 2003, 17th Printing. [28] L. Collatz und W. Wetterling. Optimierungsaufgaben, 2. Auflage. Springer-Verlag, Berlin–Heidelberg–New York, 1971. [29] A. R. Conn, N. I. Gould und P. L. Toint. Trust-region methods. Philadelphia, SIAM, Society for Industrial and Applied Mathematics; MPS, Mathematical Programming Society, 2000. [30] R. W. Cottle, J.-S. Pang und R. E. Stone. The Linear Complementarity Problem. Computer Science and Scientific Computing. Academic Press, Boston–San Diego–New York–London, 1992. [31] R. Courant. Variational methods for the solution of problems of equilibrium and vibrations. Bull. Am. Math. Soc., 49 (1943), 1–23.
Literaturverzeichnis
515
[32] G. B. Dantzig. Linear Programming and Extensions. University Press, Princeton, 1963. [33] D. Davies und W. H. Swann. Review of constrained optimization. In R. Fletcher, editor, Optimization, pages 187–202, London, 1969. Academic Press. [34] J. Dieudonné. Grundzüge der modernen Analysis, Bd. 1. Vieweg, Braunschweig, 3. Auflage, 1985. [35] E. A. Dinic. Algorithm for solution of a problem of maximal flow with power estimation. Soviet Math. Dokl., 11 (1970), 1277–1280. [36] D. Dumitrescu, B. Lazzerini, L. C. Jain und A. Dumitrescu. Evolutionary Computation. CRC Press, Boca Raton, 2000. [37] J. R. Edmonds und R. M. Karp. Theoretical improvements in algorithmic efficiency for network flow problems. J. Assoc. of Computing Machinery, 19 (1972), 248–264. [38] P. Elias, A. Feinstein und C. E. Shannon. Note on maximum flow through a network. IRE Transactions on Information Theory, IT-2 (1956), 117–119. [39] W. Fenchel. Convex cones, sets and functions. Princeton University, 1951. [40] A. V. Fiacco und G. P. McCormick. Nonlinear Programming: Sequential unconstrained minimization techniques. John Wiley and Sons, Inc., New York–London–Sydney, 1968. [41] R. Fink. Evolutionäre Algorithmen – Analyse und Anwendung auf das Travelling Salesman Problem. Diplomarbeit, Institut für Mathematik, Universität Bayreuth, Bayreuth, 2004. [42] R. Fletcher. Optimization, Academic Press, London, 1969. [43] R. Fletcher. Practical Methods of Optimization, Volume 1, Unconstrained Optimization. John Wiley & Sons, Chichester–New York–Brisbane–Toronto, 1980. [44] R. Fletcher. Practical Methods of Optimization, Volume 2, Constrained Optimization. John Wiley & Sons, Chichester–New York–Brisbane–Toronto, 1981. [45] R. Fletcher und S. Leyffer. Nonlinear programming without a penalty function. Mathematical Programming, 91A(2) (2002), 239–269. [46] R. Fletcher, S. Leyffer und P. Toint. On the global convergence of a filter-SQP algorithm. SIAM Journal on Optimization, 13(1) (2002), 44–59. [47] R. W. Floyd. Algorithm 97: Shortest path. Communications of the ACM, 5(6):345, 1962. [48] L. R. Ford Jr. und D. R. Fulkerson. Maximal flow through a network. Canadian J. of Math., 8 (1956), 399–404. [49] M. Frank und P. Wolfe. An algorithm for quadratic programming. Naval Res. Logist. Quart., 3 (1956), 95–110. [50] D. Gale, H. W. Kuhn und A. W.Tucker. Linear programming and the theory of games. In T. C. Koopmans, editor, Activity Analysis of Production and Allocation, Wiley, New York, 1951.
516
Literaturverzeichnis
[51] S. J. Gass. Linear Programming: Methods and Applications, 4th edition. McGraw-Hill, New York, 1975. [52] C. Geiger und C. Kanzow. Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Springer-Verlag, Berlin–Heidelberg–New York, 1999. [53] C. Geiger und C. Kanzow. Theorie und Numerik restringierter Optimierungsaufgaben. Springer-Verlag, Berlin–Heidelberg–New York, 2002. [54] V. Ghildyal und N. V. Sahinidis. Solving global optimization problems with baron. In A. Migdalas et al., editor, From local to global optimization. Papers from the conference dedicated to Professor Hoang Tuy on the occasion of his 70th birthday, Rimforsa, Sweden, August 1997, volume 53 of Nonconvex Optimization and Applications, pages 205–230, Kluwer Academic Publishers, Dordrecht, 2001. [55] P. E. Gill und W. Murray. Numerically stable methods for quadratic programming. Mathematical Programming, 14 (1978), 349–372. [56] P. E. Gill, W. Murray, M. A. Saunders und M. H. Wright. Inertia-controlling methods for general quadratic programming. SIAM Review, 33(1) (1991), 1–36. [57] P. E. Gill, W. Murray und M. A. Saunders. Snopt: An SQP algorithm for large-scale constrained optimization. SIAM Journal on Optimization, 12(4) (2002), 979–1006. [58] P. E. Gill, W. Murray, M. A. Saunders und M. H. Wright. User’s guide for NPSOL 5.0: A FORTRAN package for nonlinear programming. Technical Report NA 98–2, Department of Mathematics, University of California, San Diego, California, 1998. [59] P. E. Gill, W. Murray und M. H. Wright. Practical Optimization. Academic Press, London–New York–Toronto–Sydney–San Francisco, 1981. [60] I. V. Girsanov. Lectures on Mathematical Theory of Extremum Problems. SpringerVerlag, Berlin–Heidelberg–New York, 1972. [61] D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 2007. [62] D. Goldfarb. Extension of Davidon’s variable metric method to maximization under linear inequaltiy and equaltiy constraints. SIAM J. Appl. Math., 17 (1969), 739–764. [63] D. Goldfarb. Matrix factorizations in optimization of nonlinear function subject to linear constraints. Mathematical Programming, 10 (1976), 1–31. [64] D. Goldfarb und A. Idnani. A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming, 27 (1983), 1–33. [65] D. Goldfarb und L. Lapidus. Conjugate gradient method for nonlinear programming problems with linear constraints. Indust. Engrg. Chem. Fundamentals, 7 (1968), 142– 151. [66] R. E. Gomory. Outline of an algorithm for integer solutions to linear programs. Bulletin of the American Mathematical Society, 64 (1958), 275–278. [67] R. E. Gomory. Solving linear programming problems in integers. In R. E. Bellman and M. Hall Jr., editors, Combinatorial Analysis, pages 211–215, American Mathematical Society, Providence, Rhode Island, 1960.
Literaturverzeichnis
517
[68] R. E. Gomory. An algorithm for integer solutions to linear programs. In R. Graves and P. Wolfe, editors, Recent Advances in Mathematical Programming, pages 269–302. McGraw-Hill, New York, 1963. [69] R. Goodman. Introduction to Stochastic Models. Benjamin-Cummings Publ. Company, Menlo Park, 1988. [70] C. E. Gounaris und C. A. Floudas. Tight convex underestimators for C 2 -continuous problems. I: Univariate functions. Journal of Global Optimization, 42(1) (2008), 51– 67. [71] C. E. Gounaris und C. A. Floudas. Tight convex underestimators for C 2 -continuous problems. II: Multivariate functions. Journal of Global Optimization, 42(1) (2008), 69–89. [72] M. Großpietsch. Branch and Cut-Methoden für asymmetrische Travelling SalesmanProbleme. Diplomarbeit, Institut für Mathematik, Universität Bayreuth, Bayreuth, 2001. [73] M. Grötschel, L. Lovász und A. Schrijver. Geometric Algorithms and Combinatorial Optimization. Algorithms and Combinatorics, Volume 2. Springer-Verlag, Berlin– Heidelberg–New York, 1988. [74] G. Hadley. Linear Programming, 2nd edition. Addison-Wesley, Publ., Reading– London, 1967. [75] S. P. Han. A Globally Convergent Method for Nonlinear Programming. Journal of Optimization Theory and Applications, 22(3) (1977), 297–309. [76] M. R. Hestenes. Calculus of Variations and Optimal Control Theory. Applied Mathematics Series. John Wiley and Sons, Inc., New York–London–Sydney, 1966. [77] M. R. Hestenes. Multiplier and gradient methods. Journal of Optimization Theory and Applications, 4 (1969), 303–320. [78] M. R. Hestenes. Optimization Theory – The finite dimensional case. John Wiley and Sons, Inc., New York–London–Sydney, 1975. [79] J. B. Hiriart-Urruty und C. Lemaréchal. Convex Analysis and Minimization Algorithms I. Springer-Verlag, Berlin–Heidelberg–New York, 1993. [80] J. B. Hiriart-Urruty und C. Lemaréchal. Convex Analysis and Minimization Algorithms II. Springer-Verlag, Berlin–Heidelberg–New York, 1993. [81] A. J. Hoffman. Cycling in the simplex algorithm. National Bureau of Standards Report, 2974, 1953. [82] R. Horst und H. Tuy. Global optimization. Deterministic approaches. 3rd rev. a. enl. ed. Springer, Berlin, 1996. [83] A. D. Ioffe und V. M. Tihomirov. Theory of Extremal Problems, volume 6 of Studies in Mathematics and Applications. North-Holland Publishing Company, Amsterdam–New York–Oxford, 1979. [84] M. Iosifescu. Finite Markov Processes and their Applications. John Wiley and Sons, Chichester, 1980.
518
Literaturverzeichnis
[85] F. Jarre und J. Stoer. Optimierung. Springer, Berlin–Heidelberg–New York, 2004. [86] F. John. Extremum problems with inequalities as subsidiary conditions. In K. Friedrichs, O. Neugebauer, and J. J. Stoker, editors, Studies and Essays, Courant Anniversary Volume, pages 187–204, John Wiley and Sons, Inc., New York–Chichester–Brisbane– Toronto–Singapore, 1948. [87] D. B. Judin und E. G. Golstein. Lineare Optimierung I. Elektronisches Rechnen und Regeln, Band 6. Akademie-Verlag, Berlin, 1968. [88] D. B. Judin und E. G. Golstein. Lineare Optimierung II. Elektronisches Rechnen und Regeln, Band 13. Akademie-Verlag, Berlin, 1970. [89] P. Kalfon, G. Ribière und J. C. Sogno. A method of feasible directions using projection operators. In Information Processing 68, volume 1, pages 245–248, North-Holland, Amsterdam, 1969. [90] S. Karlin. Mathematical Methods and Theory in Games, Programming and Economics, I, II. Addison-Wesley Publ., Reading–London, 1959. [91] N. Karmarkar. A new polynomial-time algorithm for linear programming. AT&T Bell Laboratories, Murray Hill, New Jersey 07974, 1984. [92] W. E. Karush. Minima of functions of several variables with inequalities as side conditions. PhD thesis, University of Chicago, 1939. [93] J. E. Kelley. The cutting plane method for solving convex programs. SIAM J. Appl. Math., 8 (1960), 703–712. [94] L. G. Khachiyan. A polynomial algorithm in linear programming. Doklady Akademiia Nauk SSSR, 244 (1979), 1093–1096. [95] V. Klee und G. J. Minty. How good is the simplex algorithm? In O. Shisha, editor, Inequalities III, pages 159–175, Academic Press, New York, 1972. [96] B. Korte und J. Vygen. Combinatorial Optimization – Theory and Algorithms, volume 21 of Algorithms and Combinatorics, 4th edition. Springer, Berlin–Heidelberg, 2008. [97] A. Kotzig. Súvislost’ a Pravideliná Súvislost’ Koneˇcných Grafov. Vysoká Škola Ekonomická, Bratislava, 1956. [98] M. Koˇcvara und M. Stingl. Pennon: A code for convex nonlinear and semidefinite programming. Optim. Methods Softw., 18(3) (2003), 317–333. [99] M. Koˇcvara und M. Stingl. PENNON: A generalized augmented Lagrangian method for semidefinite programming. In G. Di Pillo et al. (ed.), High performance algorithms and software for nonlinear optimization. Selected lectures presented at the workshop, Erice, Italy, June 30–July 8, 2001, volume 82 of Appl. Optim., pages 303–321, Kluwer Academic Publishers, Boston, MA, 2003. [100] D. Kraft. A Software Package for Sequential Quadratic Programming. DFVLR-FB88–28, Oberpfaffenhofen, 1988. [101] S. Kufer. Netzwerkflussmaximierung. Diplomarbeit, Institut für Mathematik, Universität Bayreuth, Bayreuth, 2000.
Literaturverzeichnis
519
[102] H. W. Kuhn und A. W. Tucker. Nonlinear programming. In J. Neyman, editor, Proceedings of the Second Berkeley Symposium on Mathematical Statistics and Prohability, pages 481–492, University California Press, Berkeley, California, 1951. [103] C. E. Lemke. The dual method of solving the linear programming problem. Naval Research Logistics Quarterly, 1 (1954), 36–47. [104] F. Lempio. Lineare Optimierung in unendlichdimensionalen Vektorräumen. Computing, 8 (1971), 284–290. [105] F. Lempio. Separation und Optimierung in linearen Räumen. PhD thesis, Universität Hamburg, Hamburg, 1971. [106] F. Lempio. Numerische Mathematik I: Methoden der Linearen Algebra. Bayreuther Mathematische Schriften, Band 51. Universität Bayreuth, 1997. [107] L. A. Ljusternik und W. L. Sobolew. Elemente der Funktionalanalysis. Verlag Harri Deutsch, Zürich–Frankfurt–Thun, 1979. [108] E. Lukacs. Stochastic Convergence. Academic Press, New York, 1975. [109] K. Makowski und L. W. Neustadt. Optimal control problems with mixed control-phase variable equality and inequality constraints. SIAM J. Control, 12 (1974), 184–228. [110] V. M. Malhotra, M. P. Kumar und S. N. Maheshwari. An O.jV j3 / algorithm for finding maximum flows in networks. Information Processing Letters, 7 (1978), 277–278. [111] O. L. Mangasarian. Nonlinear Programming, volume 10 of Classics In Applied Mathematics. SIAM, Philadelphia, 1994. [112] K. Manteuffel und D. Stumpe. Spieltheorie. Teubner, Leipzig, 3. Auflage, 1990. [113] K. T. Marshall und J. W. Suurballe. A note on cycling in the simplex method. Naval Res. Logist. Quart., 16 (1969), 121–137. [114] Meyers großes Universallexikon in 15 Bänden. Bibliographisches Institut-Meyers Lexikonverlag, Mannheim–Wien–Zürich, 1981–1986. [115] Z. Michalewicz. Genetic Algorithm C Data Structures D Evolution Programs. Birkhäuser Verlag, Basel, 2001. [116] J.-J. Moreau. Convexity and duality. In E. R. Caianello, editor, Functional Analysis and Optimization, pages 145–169, Academic Press, New York, 1966. [117] B. A. Murtah und R. W. H. Sargent. A constrained minimization method with quadratic convergence. In R. Fletcher, editor, Optimization, pages 215–246, Academic Press, London, 1969. [118] G. L. Nemhauser und L. A. Wolsey. Integer and Combinatorial Optimization. J. Wiley & Sons, New York–Chichester, 1988. [119] E. D. Nering und A. W. Tucker. Linear Programs and Related Problems. Computer Science and Scientific Computing. Academic Press, San Diego, 1993. [120] K. Neumann. Operations Research Verfahren, Band I. Theorie und Praxis des Operations Research. Carl Hanser Verlag, München–Wien, 1975.
520
Literaturverzeichnis
[121] K. Neumann. Operations Research Verfahren, Band III. Theorie und Praxis des Operations Research. Carl Hanser Verlag, München–Wien, 1975. [122] K. Neumann. Operations Research Verfahren, Band II. Theorie und Praxis des Operations Research. Carl Hanser Verlag, München–Wien, 1977. [123] K. Neumann und M. Morlock. Operations Research. Carl Hanser Verlag, München– Wien, 2002. [124] L. W. Neustadt. Optimization – A Theory of Necessary Conditions. Princeton University Press, Princeton, 1976. [125] V. Nissen. Einführung in evolutionäre Algorithmen. Vieweg Verlag, Braunschweig, 1997. [126] J. Nocedal und S. J. Wright. Numerical optimization. Springer Series in Operations Research, New York, 1999. [127] F. J. Nourie und E. R. Venta. An upper bound on the number of cuts needed in Gomory’s method of integer forms. Operations Research Letters, 1 (1982), 129–133. [128] C. H. Papadimitriou und K. Steiglitz. Combinatorial Optimization – Algorithms and Complexity. Dover Publications, 1998. [129] E. Polak. On the convergence of optimization algorithms. Rev. Française Informat. Recherche Opérationnelle, 3(16) (1969), 17–34. [130] E. Polak. Computational Methods in Optimization. A Unified Approach, volume 77 of Mathematics in Scinece and Engineering. Academic Press, New York–London, 1971. [131] L. S. Pontryagin, V. G. Boltyanskii, R. V. Gamkrelidze, and E. F. Mishchenko. The Mathematical Theory of Optimal Processes. Interscience Publ., New York, 1962. [132] M. J. D. Powell. A method for nonlinear constraints in minimization problems. In R. Fletcher, editor, Optimization, pages 283–298, Academic Press, Berlin–Heidelberg– New York, 1969. [133] M. J. D. Powell. A fast algorithm for nonlinearily constrained optimization calculation. In G. A. Watson, editor, Numerical Analysis, volume 630 of Lecture Notes in Mathematics, pages 144–157, Springer, Berlin–Heidelberg–New York, 1978. [134] R. T. Rockafellar. Convex Analysis, volume 28 of Princeton Math. Series. Princeton Univ. Press, Princeton, 1970. [135] R. T. Rockafellar. The multiplier method of Hestenes and Powell applied to convex programming. JOTA, 12 (1973), 555–568. [136] J. B. Rosen. The gradient projection method for nonlinear programming I. SIAM J. Appl. Math, 8 (1960), 180–217. [137] J. B. Rosen. The gradient projection method for nonlinear programming II. SIAM J. Appl. Math, 9 (1961), 514–532. [138] F. Rothlauf. Towards a theory of representations for genetic and evolutionary algorithms. Dissertation, Universität Bayreuth, Bayreuth, 2001.
Literaturverzeichnis
521
[139] F. Rothlauf. Representations for Genetic and Evolutionary Algorithms. Springer, Heidelberg, 2006. [140] G. Rudolph. Convergence Properties of Evolutionary Algorithms. Kovaˇc, Hamburg, 1997. [141] N. V. Sahinidis. Baron: A general purpose global optimization software package. Journal of Global Optimization, 8(2) (1996), 201–205. [142] K. Schittkowski. The Nonlinear Programming Method of Wilson, Han, and Powell with an Augmented Lagrangean Type Line Search Function. Part 1: Convergence Analysis, Part 2: An Efficient Implementation with Linear Least Squares Subproblems. Numerische Mathematik, 383 (1981), 83–114, 115–127. [143] K. Schittkowski. On the Convergence of a Sequential Quadratic Programming Method with an Augmented Lagrangean Line Search Function. Mathematische Operationsforschung und Statistik, Series Optimization, 14(2) (1983), 197–216. [144] K. Schittkowski. NLPQL: A FORTRAN subroutine solving constrained nonlinear programming problems. Annals of Operations Research, 5 (1985), 485–500. [145] F. Schmitt. Konvergenzverhalten von evolutionären Algorithmen. Diplomarbeit, Institut für Mathematik, Universität Bayreuth, Bayreuth, 2000. [146] H. Schramm und J. Zowe. A version of the bundle idea for minimizing a nonsmooth function: Conceptual idea, convergence analysis, numerical results. SIAM J. Opt., 2 (1992), 121–152. [147] A. Schrijver. Combinatorial Optimization. Polyhedra and Efficiency, Volume A. Algorithms and Combinatorics, 24. Springer, Berlin–Heidelberg–New York, 2003. [148] A. Schrijver. Combinatorial Optimization. Polyhedra and Efficiency, Volume B. Algorithms and Combinatorics, 24. Springer, Berlin–Heidelberg–New York, 2003. [149] A. Schrijver. Combinatorial Optimization. Polyhedra and Efficiency, Volume C. Algorithms and Combinatorics, 24. Springer, Berlin–Heidelberg–New York, 2003. [150] H.-P. Schwefel. Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie. Birkhäuser Verlag, Basel, 1977. [151] E. Seneta. Non-negative Matrices and Markov Chains. 2nd Edition, Springer Verlag, New York, 1981. [152] A. B. Singer und P. I. Barton. Global solution of optimization problems with parameterembedded linear dynamic systems. Journal of Optimization Theory and Applications, 121(3) (2004), 613–646. [153] M. Slater. Lagrange multipliers revisited: a contribution to nonlinear programming. Cowles Commission Discussion Paper, Mathematics 403, November 1950. [154] P. Spellucci. Numerische Verfahren der nichtlinearen Optimierung. Birkhäuser, Basel, 1993. [155] W. J. Stewart. Introduction to the Numerical Solution of Markov Chains. Princeton University Press, Princeton, 1994.
522
Literaturverzeichnis
[156] J. Stoer. Principles of sequential quadratic programming methods for solving nonlinear programs. In K. Schittkowski, editor, Computational Mathematical Programming, volume F15 of NATO ASI Series, pages 165–207, Springer, Berlin–Heidelberg–New York, 1985. [157] J. Stoer. Numerische Mathematik I, 9. korr. Aufl. Springer-Verlag, Berlin–Heidelberg– New York, 2004. [158] J. Stoer und R. Bulirsch. Introduction to Numerical Analysis, 3rd edition. Texts in Applied Mathematics, Volume 12. Springer-Verlag, Berlin–Heidelberg–New York, 2002. [159] J. Stoer und C. Witzgall. Convexity and Optimization in Finite Dimensions I. SpringerVerlag, Berlin–Heidelberg–New York, 1970. [160] H. A. Taha. Operations Research – An Introduction. Prentice Hall, Upper Saddle River, New Jersey, 6th edition, 1997. [161] M. Tawarmalani und N. V. Sahinidis. Convex extensions and envelopes of lower semicontinuous functions. Mathematical Programming (A), 93(2) (2002), 247–263. [162] F. A. Valentine. The problem of Lagrange with differential inequalities as added side conditions. PhD thesis, Contrib. Calculus Variations 1933–1937, pages 403–447, University of Chicago Press, Chicago, 1937. [163] R. J. Vanderbei. Linear programming. Foundations and extensions. volume 37 of International Series in Operations Research & Management Science, Kluwer Academic Publishers, Dordrecht, 2001. [164] A. Wächter. An interior-point algorithm for large-scale nonlinear optimization with applications in process engineering. PhD thesis, Chemical Engineering, Carnegie Mellon University, Pittsburgh, Pennsylvania, 2002. [165] S. Warshall. A theorem on Boolean matrices. Journal of the Association for Computing Machinery, 9 (1962), 11–12. [166] J. Werner. Numerische Mathematik II. vieweg studium, Band 33. Vieweg-Verlag, Braunschweig–Wiesbaden, 1992. [167] D. Williams. Probability with Martingales. Cambridge University Press, Cambridge, 1991. [168] W. L. Winston. Operations Research: Applications and Algorithms. Brooks/Cole– Thomson Learning, Belmont, 4th edition, 2004. [169] S. E. Wright. Primal-Dual Interior-Point Methods. SIAM, Philadelphia, 1997. [170] W. I. Zangwill. Nonlinear programming via penalty functions. Management Sci.-A, 13(5) (1967), 344–358. [171] G. Zoutendijk. Methods of Feasible Directions. Elsevier, Amsterdam, 1960. [172] G. Zoutendijk. Mathematical Programming Methods. North-Holland Publ. Co., Amsterdam, 1976. [173] S. I. Zukhovitskij, R. A. Poljak und M. E. Primak. An algorithm for the solution of the convex programming problem. Dokl. Akad. Nauk SSSR, 153 (1963), 991–994.
Index
1-Punkt-Crossover, 493 2-Personen-Matrixspiele, 112 abgeschwächte Slater-Bedingung, 283, 285 Adjazenzmatrix, 195 affine Funktion, 270 affine Hülle, 33, 274 affine Menge, 274 Algorithmus äußere Penalty-Methode, 419 Barriere-Methode, 424 Dijkstra, 249 duales Simplexverfahren, 108 Floyd-Warshall, 253 Ford und Fulkerson, 233 globales SQP-Verfahren, 406 innere Penalty-Methode, 424 Markierungsalgorithmus von Ford und Fulkerson, 232 Methode der zulässigen Richtungen, 382 Multiplier-Penalty-Methode, 446 Netzwerksimplexalgorithmus, 207 Phase I, 215 Penalty-Methode, 419, 424 primaldualer, 240 primales revidiertes Simplexverfahren, 75 primales Simplexverfahren, 53 Projektionsverfahren, 390 Reduktionsmethode, 380 Schnittebenenverfahren, 311 Strategie der aktiven Menge, 415 allgemeines Dualproblem, 94 allgemeines Optimierungsproblem, 15 antisymmetrischer Graph, 195 äußere Penalty-Funktion, 418 äußere Penalty-Methode, 417, 419
augmented Lagrangean, 443 Ausgangsgrad, 197 Auszahlungsmatrix, 112, 114 Barriere-Funktion, 424 Barriere-Methode, 417, 422, 424 Barriere-Problem, 439 Basisindexmenge, 41 Basislösung Basis, 40 duale, 103 entartete, 52 nichtentartete, 53 primale, 103 zulässige, 40 Basismatrix, 41 Basisvariable Basiskomponenten, 41 Baum, 198 Berechnung eines Eckpunkts, 41 bewerteter Graph, 199 Bewertungsfunktion exakte, 401 Meritfunktion, 400, 401 Penalty-Funktion, 400, 401 Blandsche Regel, 73 Branch and Bound-Verfahren, 168, 177 Branch and Cut-Methode, 169 Branching, 175 Centering-Parameter, 436 Charakterisierungssatz, 291 Complementary Slackness Condition, 91, 95, 278, 297 Constraint Qualification von Abadie, 354 Crossover-Operator, 491 cut, 220
524 Diätproblem, 5 differenzierbare Funktion, 300 Digraph, 195 Dijkstra-Algorithmus, 249 Dimension, 33 diskretes dynamisches Optimierungsproblem, 459 diskretes Hamiltonsches System, 475 diskretes Maximumprinzip, 471 diskretisiertes Optimalsteuerungsproblem, 461 Domäne, 96 duale Normalform, 102, 430 duales Kürzeste-Wege-Problem, 236 Dualitätslücke, 299 duality gap, 175, 299 Dualproblem für konvexe Probleme, 296 dualzulässige Basislösung, 224 Dynamik, 458 dynamische Programmierung, 468 Ecke, 34, 35 effektiver Definitionsbereich, 96, 293 eigentlich konvex, 97 einfacher Graph, 195 Eingangsgrad, 197 Einschliessungssatz, 297 elitäre Selektion, 494 Endlichkeit des Schnittebenenverfahrens, 154 entartete Basislösung, 52 Epigraph, 95, 293 erweiterte Lagrange-Funktion, 443 evolutionärer Algorithmus, 490 exakte Bewertungsfunktion, 401 exakte Multiplier-Penalty-Funktion, 445 exakte Penalty-Funktion, 426, 429 explizite Restriktion, 15 Facette, 34, 35 Farkas-Lemma, 130 Finite Basis Theorem, 44 Fitness, 491 Fitnessfunktion, 491 fitnessproportionale Selektion, 493 Floyd-Warshall-Algorithmus, 253 Flussgröße, 219
Index Flussmaximierungsproblem, 6 Ford und Fulkerson-Algorithmus, 233 Ford und Fulkerson-Markierungsalgorithmus, 232 Fréchet-differenzierbare Funktion, 300 Fréchet-Differenzierbarkeit, 326 Fritz John-Bedingungen, 343, 345, 346 gültige Ungleichungen, 135 ganzzahlige duale Normalform, 144 gemischt-ganzzahliges Optimierungsproblem, 136 gemischte Strategie, 114 genetischer Algorithmus, 490 Gerüst eines Graphen, 198 gerichteter Weg, 197 Gitter, 458 globale Fritz John-Bedingungen, 343 globale Karush-Kuhn-Tucker-Bedingungen, 343 globales SQP-Verfahren, 406 Gradientenbedingung, 352 Graph, 195 Halbräume, 30 Hamilton-Funktion, 475 Handlungsreisendenproblem, 10, 180 Travelling Salesman-Problem, 10, 180 Haupsatz der Matrixspiele, 119 Hauptsatz der linearen Optimierung, 92 hinreichende Bedingung, 278, 291, 297 1. Ordnung, 359, 361 2. Ordnung, 364 Hyperebene, 30, 272 implizite Restriktion, 15 Indikatorfunktion, 98 Individuum, 491 innere Penalty-Funktion, 424 innere Penalty-Methode, 417, 422, 424 Inzidenzmatrix, 196 Kürzeste-Wege-Problem, 235 Kante, 34, 35, 43 Kantengerade, 44 Kantenhalbgerade, 44 Kapazität eines Schnitts, 220
525
Index KKT-Bedingungen, 278, 301 für differenzierbare Probleme, 352 für Probleme mit affinen Restriktionen, 358 für Probleme ohne Gleichungen, 350 für Standardvorzeichenbedingungen, 353 Knoten-Kanten-Inzidenzmatrix, 196 Knotenzahlen, 206 Komplementaritätsproblem, 301 Komplexität exponentielle, 8 polynomiale, 8 konjugiertes konvexes Funktional, 98 konvexe Funktion, 270 konvexe Menge, 270 konvexe polyedrische Menge, 32 konvexer Unterschätzer, 172 konvexes Optimierungsproblem, 269 konvexes Polyeder, 33 Kreis, 197 kritischer Kegel, 362, 364 Lagerhaltungsproblem, 462 Lagrange-Funktion, 291, 442 Lagrange-Newton-Verfahren, 393 Lagrangesche Multiplikatorenregel, 353 für konvexe Optimierungsprobleme, 291 Lagrangesches Prinzip, 442 lexikographisches Minimum, 67 lexikographisches Simplexverfahren, 49 Rekursionsformeln, 55 störungstheoretische Interpretation, 64 Linear Independence Constraint Qualification, 352 linear programming, 24 lineare Optimierung, 24 lineares Optimierungsproblem, 25 primale Normalform, 27, 48, 429 linearisierender Kegel, 332 Liniensuche, 400 lokale Fritz John-Bedingungen, 343 lokale Karush-Kuhn-Tucker-Bedingungen, 343
lokale Slater-Bedingung, 349 LP -Problem, 25 Mangasarian-Fromovitz-Constraint Qualification, 350 Maschinenbelegungspläne, 138 Matrixspiel faires, 114, 115 gemischte Strategie, 114 gerechtes, 114, 115 optimale Strategie, 114, 115 reine Strategie, 114 Spielwert, 114, 115 Max-Flow-Min-Cut-Theorem, 221 Maximalflussproblem, 219 Maximumprinzip, 476 Mengenrestriktion, 15 merit function, 417 Meritfunktion, 400, 401 Methode der zulässigen Richtungen, 382 Minimalwert, 15 Minimalwertfunktion, 89, 95, 293 Minimax-Theorem, 301, 305 Modifikationstechniken, 81 modifizierte BFGS-Update-Formel, 399 modifiziertes Armijo-Verfahren, 387 Multiplier-Penalty-Methode, 442, 446 Mutation, 493 Mutationsoperator, 491 Mutationswahrscheinlichkeit, 493 Nash-Gleichgewicht, 301, 308, 309 Netzwerk, 199 Netzwerkflussproblem, 200 Netzwerkproblem, 6 Netzwerksimplexalgorithmus, 207 Phase I, 215 Nichtbasisindexmenge, 41 Nichtbasismatrix, 41 Nichtbasisvariable Nichtbasiskomponenten, 41 nichtdifferenzierbare Optimierung, 310 nichtentartete Basislösung, 53 nichtkooperative N -Personenspiele, 307 nichtlineares Optimierungsproblem, 337 Niveaumenge, 339
526 Normalenvektor, 30 notwendige Optimalitätsbedingung, 285, 289 1. Ordnung, 359 2. Ordnung, 363 optimal value function, 466 optimale Facette, 46 optimale Strategie, 114, 115 Optimalitätsprinzip von Bellman, 466 Optimallösung, 15 Optimalsteuerungsproblem, 460 Parametrisches Optimierungsproblem, 89, 366 Penalty-Funktion, 400, 401, 417, 418, 424 Penalty-Methode, 417, 419, 424 Pfadverfolgungsmethode, 431 Pivotelement Simplexverfahren, 58 Population, 491 Portfoliooptimierung, 13 primaldualer Algorithmus, 240 primale Normalform, 27, 48, 429 Projektionsverfahren, 390 quadratisches Optimierungsproblem, 412 quadratisches Optimierungsproblem mit Gleichungsrestriktionen, 410 Quelle, 197 Reduktionsmethode, 380 reduzierte Kosten, 74, 146 Regularitätsbedingung von Robinson, 352 reine Strategie, 114 Rekombinationsoperator, 491 relatives Inneres, 274 Relaxation, 171 Restriktionsabbildung, 15 revidiertes Simplexverfahren, 74 primales revidiertes Simplexverfahren Phase II, 75 Rekursionsformeln, 78 Richtungsableitung, 97, 288 Richtungsdifferenzierbarkeit, 326
Index richtungskonvergente Folgen, 328 Rucksackpackproblem, 12, 166, 463 Sattelpunkt Auszahlungsmatrix, 114 Sattelpunktsatz, 301, 303 Sattelpunktsatz für Matrixspiele, 120 Satz von Fritz John, 277 Satz von Karush-Kuhn-Tucker, 279 Satz von Ljusternik, 324, 333 Satz von Weierstraß, 338 Schattenpreise, 83, 99, 301 Schlupfvariablen, 26 Schnitt, 220 Schnittebenenerzeugung nach Gomory, 149 Schnittebenenverfahren, 311 schwacher Dualitätssatz, 91 Selektionsoperator, 491 Senke, 197 Sensitivitätssatz, 368 Simplexalgorithmus Aufwand, 62 dualer, 105, 108 lexikographischer, 49 Phase 0, 48, 83 Phase I, 48, 54, 83 Phase II, 48, 53 primales Simplexverfahren, 53 revidierter, 74 Schleifenbildung, 62 stabilisierter, 81 slack inequalities, 33 Slater-Bedingung, 279 abgeschwächte, 283, 285 lokale, 349 Spaltenspieler, 112 spannender Baum, 199 Spielwert, 115 Stützfunktion, 98 stabilisiertes Simplexverfahren, 81 Standardstörung, 293 Standortplanung, 13 starke gültige Ungleichungen, 135 starke Wurzelbedingung, 498 starker Dualitätssatz, 92, 298
527
Index Steuerbeschränkungen, 458 Steuergitterfunktion, 458 Steuerung, 458 Strategie der aktiven Menge Active Set Strategie, 415 Strategien gemischte, 114 reine, 114 strenge Nebenbedingungen, 33 strikt konvexe Funktion, 270 strikte Komplementaritätsbedingung, 368 strong valid inequalities, 135 Subdifferential, 96 Subgradient, 96 symmetrischer Graph, 195 Tangentialkegel, 328 total differenzierbare Funktion, 300 total unimodulare Matrizen, 141 totale Differenzierbarkeit, 326 Transportproblem, 6 Travelling Salesman-Problem, 10, 180 Trennung von Mengen, 273 Uniform-Crossover, 493 unimodulare Matrizen, 140
valid inequalities, 135 Variationsungleichung, 301 Verzweigung, 175 vollständiger Graph, 195 Wald, 198 Wert, 15 Wertefunktion, 466 wesentliche Nebenbedingungen, 280 Zeilenspieler, 112 zentrale Pfadbedingungen, 432 zentraler Pfad, 432 Zielfunktion, 15 zulässige Abstiegsfolge, 346 zulässige Abstiegskurve, 348 zulässige Abstiegsrichtung, 344 zulässige Basislösung, 40 zulässige Lösung, 15, 48 zulässige Menge, 15, 48 Zuordnungsproblem, 9, 464 zusammenhängender Graph, 198 Zusammenhangskomponente, 198 Zustandsbeschränkungen, 458 Zustandsgitterfunktion, 458 Zustandstrajektorie, 458 zyklenfrei, 197 Zyklus, 197