34,99 €
Die Optimierung ist einer der bedeutendsten Zweige der Mathematik mit weitreichenden Anwendungen in der Statistik, Physik, Meteorologie bis hin zur Wirtschaft und Unternehmensforschung. Ziel der Optimierung ist eine Minimierung oder Maximierung der im jeweiligen System relevanten Parameter unter einschränkenden Nebenbedingungen. Praxisbezogen führt Claus Richter in die Algorithmen der Optimierung ein. Einsteiger und Fortgeschrittene werden gleichermaßen auf den heutigen Stand der Dinge gebracht. In klaren Schritten umreißt der Autor die Grundlagen dieses Gebietes, beginnend mit Definitionen und Optimalitätsbedingungen, um sich dann direkt an den C++-Programmierer zu wenden. Der nötige mathematische Apparat, die verwendete Programmiersprache C++ und ihre Klassen werden vorgestellt. Damit stellt der Autor ein einheitliches Niveau her und wird so einer breiten Leserschaft gerecht. Im Folgenden werden 20 Verfahren der linearen, quadratischen und nichtlinearen Optimierung behandelt und dem Anwender nähergebracht. Jeder Algorithmus wird im Aufbau erläutert und an einem konkreten Beispiel demonstriert. Fünf weitere Kapitel widmen sich anwendungsbezogenen Sachverhalten, u.a. der Parameteridentifikation, optimalen Steuerung und Strukturoptimierung. Durch die Bereitstellung der diskutierten Algorithmen und Beispiele als C++-Klassen gewährleistet das Buch einen optimalen Einstieg in die Optimierung. Mit C++-Programmen zum Download unter www.wiley-vch.de/publish/dt/books/ISBN3-527-34107-2.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 218
Veröffentlichungsjahr: 2016
Cover
Titel
Autor
Impressum
Widmung
Vorwort
1 Einleitung
1.1 Das lineare und das nichtlineare Optimierungsproblem
1.2 Definitionen und Bezeichnungen
1.3 Spezialfälle linearer und nichtlinearer Optimierungsaufgaben
1.4 Anwendungen
2 Grundlagen
2.1 Regularitätsbedingungen
2.2 Optimalitätsbedingungen
2.3 Optimalitätskriterien für spezielle Optimierungsaufgaben
2.4 Wünschenswerte Eigenschaften von Optimierungsverfahren
2.5 Vom C++-Programm zum nutzerfreundlichen Softwaresystem
3 Mathematische Hilfsmittel
3.1 Das Austauschverfahren
3.2 Lösung von Gleichungssystemen mit der
QR
-Zerlegung
3.3 Cholesky-Zerlegung
3.4 Fibonacci-Verfahren
3.5 Das Verfahren des Goldenen Schnitts
3.6 Newton-Verfahren
3.7 Runge-Kutta-Verfahren zur Lösung von Differenzialgleichungen
4 Probleme und Algorithmen als C++-Klassen
4.1 Die Programmiersprache C++
4.2 Der Weg zur objektorientierten Programmierung
4.3 Begriffe der objektorientierten Programmierung
4.4 Lösungsverfahren und Probleme als Klassen
5 Lineare Optimierung
5.1 Das Simplexverfahren
5.2 Das revidierte Simplexverfahren
5.3 Weiterführende Bemerkungen
5.4 Das Ellipsoidverfahren
5.5 Weiterführende Bemerkungen
6 Quadratische Optimierung
6.1 Das Relaxationsverfahren
6.2 Methode der aktiven Restriktionen von Fletcher
7 Unbeschränkte nichtlineare Optimierung
7.1 Das Verfahren der stochastischen Suche
7.2 Das Verfahren der koordinatenweisen Suche
7.3 Das einfache Polytopverfahren
7.4 Das Verfahren des steilsten Abstiegs
7.5 Das Verfahren der konjugierten Gradienten
7.6 Das Newton-Verfahren
7.7 Das Newton-Verfahren mit konsistenter Approximation der Hesse-Matrix
7.8 Das Verfahren der variablen Metrik (Quasi-Newton-Verfahren)
8 Beschränkte nichtlineare Optimierung
8.1 Die adaptive Zufallssuche
8.2 Das erweiterte Polytopverfahren
8.3 Das Schnittebenenverfahren
8.4 Das SQP-Verfahren
8.5 Das erweiterte Newton-Verfahren
8.6 Verfahren mit Straf- und Barrierefunktionen
9 Globalisierung
9.1 Dämpfungs- und Regularisierungsmethoden
9.2 Hybride Methoden
9.3 Einbettungsmethoden
10 Innere-Punkte-Methoden
10.1 Das Projektionsverfahren
10.2 Kurzschrittverfahren
11 Parameteridentifikation
11.1 Parameterschätzung auf der Grundlage linearer Quadratmittelprobleme
11.2 Nichtlineare Parameterschätzung und nichtlineare Optimierungsverfahren
11.3 Das Gauß-Newton-Prinzip und ein darauf beruhendes Verfahren
11.4 Parameterschätzung und SQP-Verfahren
11.5 Parameteridentifikation in Differenzialgleichungen
12 Optimale Steuerung
12.1 Einführung
12.2 Umwandlung in eine nichtlineare Optimierungsaufgabe
12.3 Aufbau des Algorithmus
12.4 Implementierte numerische Methoden
13 Form- und Strukturoptimierung
13.1 Zusammenhang zwischen Bemessungsvariablen und Zustandsvariablen
13.2 Lösung von Strukturoptimierungsproblemen mit SQP-Verfahren
13.3 Ein weiteres Beispiel
14 Optisoft – Ein C++-Softwaresystem zur Optimierung
14.1 Einführung
14.2 Allgemeine Informationen über Optisoft
14.3 Handhabung von Optisoft
14.4 Übersicht über Softwarepakete
Anhang A: Referenzmanual
Anhang B: Liste der Beispiele
Literatur
Stichwortverzeichnis
End User License Agreement
3 Mathematische Hilfsmittel
Tab. 3.1 Numerische Lösung der Lotka-Volterra-Gleichung.
1 Einleitung
Abb. 1.1 Stahlträger.
3 Mathematische Hilfsmittel
Abb. 3.1 Eindimensionale Suche nach dem Verfahren des Goldenen Schnittes. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
5 Lineare Optimierung
Abb. 5.1 Prinzip des Ellipsoid-Algorithmus. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
7 Unbeschränkte nichtlineare Optimierung
Abb. 7.1 Prinzip des Polytopalgorithmus. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
8 Beschränkte nichtlineare Optimierung
Abb. 8.1 Prinzip des Schnittebenenverfahrens. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
Abb. 8.2 Lösung des transformierten Problems. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
Abb. 8.3 Prinzip der Straf-Barriere-Verfahren. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt. B(x) – prinzipielle Gestalt einer Barrierefunktion, S(x) – prinzipielle Gestalt einer Straffunktion.
9 Globalisierung
Abb. 9.1 Prinzip der hybriden Methoden. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
10 Innere-Punkte-Methoden
Abb. 10.1 Zulässiger Bereich, innerer Punkt und Optimalpunkt des Beispiels 10.1. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
11 Parameteridentifikation
Abb. 11.1 p1121-Ausgleichspolynom. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
Abb. 11.2 p1122-Ausgleichsfunktion. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
Abb. 11.3 Beispiel für die Parameteridentifikation. Mit freundlicher Genehmigung des GeoGebra-Instituts Linz unter Verwendung der Software GeoGebra bereitgestellt.
13 Form- und Strukturoptimierung
Abb. 13.1 Spannungsverteilung in einem Schraubenschlüssel.
Abb. 13.2 Lösungsprinzip der Strukturoptimierung.
Abb. 13.3 Ausgangsabmessungen der Brücke.
Abb. 13.4 Querschnittsoptimale Brücke.
Abb. 13.5 Die optimierte Brücke.
Abb. 13.6 Die optimierte Kuppel.
14 Optisoft – Ein C++-Softwaresystem zur Optimierung
Abb. 14.1 Grundprinzip der Arbeit von Optisoft.
Abb. 14.2 Optisoft – Hauptmenü.
Abb. 14.3 Optisoft-Problemformulierung.
Abb. 14.4 Eingabeformular Parameterschätzung.
Abb. 14.5 Erzeugung eines Beispiels.
Abb. 14.6 Gespeicherte Lösung des Rosen-Suzuki-Problems.
Cover
Inhaltsverzeichnis
Begin Reading
C1
III
IV
V
VII
XIII
XIV
1
2
3
4
5
6
7
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
123
124
125
126
127
128
129
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
187
188
189
190
191
192
193
194
195
196
197
199
200
201
202
Claus Richter
Claus Richter
Gerhart-Hauptmann-Str. 1
01219 Dresden
Deutschland
Alle Bücher von Wiley-VCH werden sorgfältig erarbeitet. Dennoch übernehmen Autoren, Herausgeber und Verlag in keinem Fall, einschließlich des vorliegenden Werkes, für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie für eventuelle Druckfehler irgendeine Haftung.
Bibliografische Information derDeutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
© 2017 WILEY-VCH Verlag GmbH & Co. KGaA, Boschstr. 12, 69469 Weinheim, Germany
Alle Rechte, insbesondere die der Übersetzung in andere Sprachen, vorbehalten. Kein Teil dieses Buches darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form – durch Photokopie, Mikroverfilmung oder irgendein anderes Verfahren – reproduziert oder in eine von Maschinen, insbesondere von Datenverarbeitungsmaschinen, verwendbare Sprache übertragen oder übersetzt werden. Die Wiedergabe von Warenbezeichnungen, Handelsnamen oder sonstigen Kennzeichen in diesem Buch berechtigt nicht zu der Annahme, dass diese von jedermann frei benutzt werden dürfen. Vielmehr kann es sich auch dann um eingetragene Warenzeichen oder sonstige gesetzlich geschützte Kennzeichen handeln, wenn sie nicht eigens als solche markiert sind.
Print ISBN 978-3-527-34107-8
ePDF ISBN 978-3-527-80079-7
ePub ISBN 978-3-527-80080-3
Mobi ISBN 978-3-527-80081-0
Für meine liebe Frau Hannelore
Bücher zur Implementierung numerischer Verfahren der Optimierung sind seit vielen Jahren gefragt. Die Behandlung mathematisch-naturwissenschaftlicher, technischer und ökonomischer Fragestellungen erfordert in wachsendem Umfang die Lösung linearer oder nichtlinearer Optimierungsaufgaben. Gegenüber den ersten Bemühungen in den 40er- und 50er-Jahren haben sich hierfür die Voraussetzungen auf dem Gebiet der Informatik wesentlich verbessert. Nicht nur Rechenzeit und Speicherplatz haben eine andere Bewertung erfahren, auch Programmierparadigmen und die Nutzung von Dialogmöglichkeiten haben sich geändert. Dieser Entwicklung folgend, werden im vorliegenden Buch Probleme und Lösungsverfahren als Klassen der objektorientierten Programmierung aufgefasst. Die Formulierung der zu lösenden Optimierungsaufgabe und die Auswahl der Lösungsmethode erfolgt im Dialog, die Ergebnisse der Berechnung werden automatisch gespeichert. Im Unterschied zu komplexen Systemen, wie Matlab sind die einzelnen Routinen modifizierbar und separat nutzbar. Seit den Arbeiten von Kantorovich [1] und Dantzig [2] zum Simplexverfahren hat auch die Entwicklung effektiver numerischer Verfahren der Optimierung eine stürmische Entwicklung genommen. Ihre theoretische Begründung und sachgerechte Implementierung stellt inzwischen einen eigenständigen Problemkreis dar, welcher als Numerik der Optimierung (in englischer Sprache als „Computational Mathematical Programming“, in russischer Sprache als „Vycislitelnye metody programmirovanija“) bezeichnet wird. Die Aneignung der auf diesem Gebiet vorhandenen Erkenntnisse, noch mehr aber das Erleben des Zusammenhangs von beschriebenem Algorithmus, umgesetztem Programm und bereitgestellter Nutzeroberfläche werden zum Bedürfnis des an der Optimierung interessierten Praktikers. Gegenstand des Buches sind deshalb nicht in erster Linie theoretische Grundlagen, sondern Fragen der praktischen Realisierung der Verfahren mit modernen Mitteln der Informatik. Es soll einen Einstieg in die Behandlung von Optimierungsaufgaben auf Computern ermöglichen.
Für praktische Hilfeleistungen beim Zustandekommen des Buches bin ich Klaus Schönefeld zu Dank verpflichtet. In gleicher Weise danke ich Thomas Cassebaum für die Möglichkeit, die von ihm bereitgestellte Entwicklungsumgebung „SmallCpp“ nutzen zu können und in C++-Fragen in ihm jederzeit einen guten Gesprächspartner gefunden zu haben. Ermutigende Worte und gute Ratschläge vieler Kollegen, insbesondere von Diethard Pallaschke, Oleg Burdakov, Manfred Grauer und Gerd Langensiepen, haben den Entstehungsprozess befördert. Dem Wiley-Verlag danke ich für die Möglichkeit, die Ergebnisse meiner Überlegungen zu publizieren. Schließlich möchte ich meiner Frau Hannelore für das Verständnis danken, mit dem sie die Belastung mitgetragen hat, welche dem Autor aus dem Schreiben eines Buches erwächst. Die Publikation von Algorithmen und Programmen schließt zu erwartende Kritiken und Hinweise von vornherein ein. Sie werden von mir sorgfältig berücksichtigt und in die Aufbereitung weiterer Programmversionen eingearbeitet.
Claus Richter
