226 27 33MB
German Pages 208 [209] Year 1991
Optimierungsverfahren und PASCAL-Programme von Claus Richter unter Mitarbeit von Bernd Renner Mit 8 Abbildungen und 10 Programmen
Akademie-Verlag Berlin
A u t o r : Prof. D r . C l a u s R i c h t e r Ingenieurhochschule K o t h e n Sektion Mathematik/Naturwissenschaften/Informatik
Der Titel wurde vom Originalmanuskript des Autors reproduziert.
I S B N 3-05-500817-0 ISSN 0863-4319 Erschienen im Akademie-Verlag Berlin, Leipziger Straße 3—4, Berlin, 0-1086 © Akademie-Verlag Berlin 1990 Printed in Germany Gesamtherstellung: Druckhaus „Thomas Müntzer" G m b H , Bad Langensalza, 0-5820 LSV 1084 Bestellnummer: 764 123 5 (9299)
VORWORT
Bllcher zur linearen und nichtlinearen
Optimierung,
insbesondere
zur Implementierung numerischer Verfahren auf diesem Gebiet, sind gefragt. Nachdem 1988
"Optimierungsverfahren und BASIC—Programme" und
PASCAL—
Die Behandlung mathematisch — naturwissenschaftlicher,
techni-
erschienen ist,
liegt
nun
"Optimierungsverfahren
Prog ramme" vor. scher und ökonomischer Fragestellungen Umfang
die
aufgaben. computer
Lösung Mit
und
linearer
der
oder
in
nichtlinearer
Bereitstellung
Multiusersysteme
erfordert
wachsendem
Optimierungs-
leistungsfähiger
sind
die
Personal-
technischen
setzungen dafür geschaffen. Seit den Arbeiten
von
Voraus-
KANTOROWXTSCH
und DANTZIa in den 30er und 40er Jahren hat auch die
Entwicklung
effektiver numerischer Verfahren der Optimierung eine
sturmische
Entwicklung genommen.
und
Ihre
theoretische
Begründung
gerechte Implementierung stellt inzwischen Problemkreis
dar,
welcher
als
Numerik
einen der
sach-
eigenständigen
Optimierung
englischer Sprache als "Computational Mathematical
(in
Programming")
bezeichnet wird. Die Aneignung der auf diesem Gebiet Vorhandensein noch mehr aber das Erleben des
Zusammenhangs
Algorithmus, umgesetztem Programm oherfläche
werden
interessierten
zum
und
Bedürfnis
von
Erkenntnisse, beschriebenem
bereitgestellter
des
an
der
Nutzer—
Optimierung
Praktikers.
Gegenstand des
Buches
sind
deshalb
in
theoretische Grundlagen, sondern Fragen sierung der Verfahren
mit
modernen
insbesondere mit Mikrorechnern
erster
der
Linie
praktischen
rechentechnischen
(programmierbare
nicht Reali-
Mitteln,
Taschenrechner,
Heimcomputer, tragbare Computer, Personalcomputer,
Arbeitsplatz-
computer, Bürocomputer usw.). Die Anwendung der
Optimierung
fuhrt
zu
unmittelbar
volkswirtschaftlichen Effekten. Das begann von zentraler Großrechentechnik und hat Mikrorechnersystemen insbesondere für
die
einen
starken
lineare
mit
durch
Schub
Optimierung,
der die
spürbaren Entwitklung
Nutzung
erfahren. wurde
aus
von
Software, solchen
4
Vorwort
Gründen in der letzten Zeit zu einem begehrten Handelsobjekt. In den Rechenzentren sind in der Regel
kommerziell
erwerbbare
Programmpakete vorhanden, die der Anwender nutzen kann, um Probleme zu lösen.
Aber
inzwischen
stehen
rechnersysteme zur Verfügung, die der seiner
Probleme
direkt
oder
im
immer
einzelne
Dialog
Mikro—
die
Lösung
für
mit
seine
mehr
zentralisierter
Rechentechnik nutzen kann. Darum werden in diesem Buch Fragen der numerischen
Umsetzung,
der
Implementierung
sowie der Einbindung
in
Softwaresysteme
•ptimierungsaufgaben
und
Verfahren auf seinem
(Personal-)
deren
auf
zur
Lösung
behandelt.
Computer
beigefugte Nutzeroberfläche erprobt,
Mikrorechnern
Modellierung Wer
realisiert
lernt
von
einige und
gleichzeitig
die
besser
mit kommerzieller Software umzugehen, deren Innenleben er in
der
Regel nicht kennt (Urheberrechte) und nicht kennen muß. In diesem Sinne ist dieses Buch nicht nur ein Lehrbuch
fllr
die
von üptimierungsverfahren auf Mikrorechnern, sondern an die Benutzung kommerzieller Programmpakete,
Umsetzung fuhrt
auch
insbesondere
linearen Optimierung, heran. Neben dem Instrumentarium zur rierung
von
abarbeitungsfähigen
PASCAL—Hauptprogrammen
Nutzung der einzelnen Optimierungsverfahren und
tischen Optimierung seinen Platz.
Vorschriften
Auf
Algorithmen
Gleichungssysteme wurde verzichtet. Beides Kapiteln zur beschränkten
bzw.
Unterprogramm. Das Buch richtet
IDNANI zur
zur
findet
das
quadra-
zur
Lösung
unbeschränkten sich
zur
fand in dem Buch
leistungsfähige Verfahren von GOLDFARB mensionalen Minimierung sowie
der Gene—
eindilinearer in
den
Minimierung
als
vorrangig
sich an
Ingenieure,
Mathematiker, Naturwissenschaftler und Ökonomen, die
es
während
der Ausbildung, zur Weiterbildung und zur effektiveren Arbeit mit informationsverarbeitenden Mitteln der vierten benutzen
Rechnergeneration
können.
Es so11 einen Einstieg aufgaben auf Kleinrechnern
in
die
Behandlung
von
Optimierungs-
ermöglichen.
FUr ermutigende Worte und Ratschläge, die für das
Zustandekom-
men des Buches wesentlich waren, bin ich zahlreichen Kollegen
zu
Dank verpflichtet, insbesondere Herrn Prof. SCHITTKOVSKI . Bei der Implementierung und dem Testen der Programme waren vor allem Herr W. BEI CHE und Herr G. JAKUBEK behilflich-
Ihnen
sei
ebenso
des
Manuskripts. Dem Akademie—Verlag und besonders Herrn
Dr. HÖPPNER
und
Frau
Vorwort Dipl.—Math. G. Reiher danke ich sehr für
die
5
kameradschaftliche
und sachkundige Zusammenarbeit. Schließlich möchte
ich
meiner
Frau
Hannelore
sowie
Kindern Anja und Stefan für das Verständnis danken, mit
meinen
dem
sie
die Belastung mitgetragen haben, welche dem Autor nun einmal
aus
dem Schreiben eines Buches erwächst. Die Publikation von
Algorithmen
und
Programmen
schließt
erwartende Kritiken und Hinweise von vornherein ein. mir Anregung sein, an der Aufbereitung von
Sie
zu
werden
Optimierungsverfahren
ftlr Mikrocomputer weiterzuarbeiten.
tlaxLö
ÄicAiet
Inhaltsverzeichnis 1.
1.1. 1.2.
Optimierung und rechentechnische Realisierung (Implementierung) .
9
1.3. 1.3.1. 1.3.2. 1.3.3. 1.3.4.
Formulierung der Aufgabenstellung Optimierungsaufgaben in technischen und technologischen Fragestellungen Optimierung der Abmessungen eines Stahlträgers . . . Der Williams-Otto-Prozeß Ermittlung der optimalen täglichen Betriebsweise einer Wasserpumpe in einem Verbrauchernetz mit Hochbehälter Optimierung und Programmierung (Softwarebasis) . . . Ubersicht zu Programmiersprachen Die Programmiersprache PASCAL Optimierungsverfahren und numerische Eigenschaften . Vom PASCAL—Programm zum Expertensystem
18 21 22 25 32 36
2.
Lineare Optimierung
40
2.1. 2.2. 2.3. 2.3.1. 2.3.2.
Das Das Die Das Das
41 45 52 53 58
3.
Quadratische Optimierung
63
3.1.
Das Relaxationsverfahren
63
3.2.
Das Verfahren der aktiven Restriktionen
65
4.
Unbeschränkte nichtlineare Optimierung
72
4.1.
Verfahren der direkten Suche
72
4.1.1. 4.1.2. 4.1.3. 4.2. 4.2.1. 4.2.2. 4.2.3. 4.2.4.
73 75 77 B1 81 84 87
4.2.5.
Die stochastische Suche Das Verfahren der koordinatenweisen Suche Das einfache Polytopverfahren Ableitungsbehaftete Verfahren Das Verfahren des steilsten Abstiegs . . . Das Verfahren der konjugierten Gradienten Das Newton-Verfahren Das Newton-Verfahren mit konsistenter Approximation der Hesse-Matrix Das Verfahren der variablen Metrik
5.
Beschränkte nichtlineare Optimierung
96
5.1. 5.1.1. 5.1.2. 5.2. 5.2.1.
Verfahren der direkten Suche Die adaptive Zufallssuche Das erweiterte Polytopverfahren Ableitungsbehaftete Verfahren Verfahren der sequentiellen quadratischen tion
5.2.2. 5.2.3.
Erweitertes Newton—Verfahren Verfahren mit Straffunktionen
1.2.1. 1.2.2. 1.2.3.
Simplexverfahren revidierte Simplexverfahren Klasse der Iterationsverfahren El 1 ipsoidverfahren Projektionsverfahren
9 13 14 16
90 93
96 97 IOC) 105 Approxima105 109 112
Inhalt
7
Literatur
117
Sachwortverzeichnis
203
PASCAL-Programme
121
Übersicht der PASCAL-Programme
1.
Beispiel fUr Eingabedialog und Ergebnisausgabe
2.
Die implementierte Nutzeroberfläche
3.
125
Rahmenprogramm zur NutzerunterstUtzung
. . .
Nutzerunterstuetzung zur 1inearen Optimierung Rahmenprogramm zur Nutzung von Verfahren der 1inearen Optimierung optlibl Solver zur 1inearen Optimierung .......
138 140 145
PASCAL-Programme fur die quadratische Optimierung nuopqo qo optlibq
6.
128
PASCAL—Programme fUr die lineare Optimierung nuoplo lo
5.
121
Allgemeine PASCAL-Programme nuop
4.
. . . .
Nutzerunterstuetzung zur quadratisehen Optimierung Rahmenprogramm zur Nutzung von Verfahren der quadratisehen Optimierung Solver zur quadratisehen Optimierung ....
157 159 161
PASCAL-Programme für die nichtlineare Optimierung nuopnlo
Nutzerunterstuetzung zur n icht1inearen Optimierung nlo Rahmenprogramm zur Nutzung von Verfahren der n icht1inearen Optimierung ......... optlibnl Solver zur restringierten und unrestringier— ten nichtlinearen Opt imierung
177 181 187
SymbolVerzeichnis Menge der reellen Zahlen n-dimensionaler Euklidischer Raum nichtnegativer Orthand des n—dimensionalen Euklidischen Raumes Euklidische Norm : llxll = (asT as ) 1/2 transponierter Vektor Nul1vektor Vektor, dessen Komponenten alle gleich Eins sind i. -ter Einheitsvektor: e = (0,- -.,0,1,...,0) T Gradient der Funktion -f(x)s Vf(x) = (&f/dx ,...,9f/dx )T 1 n Hesse—Matrix der zweiten Ableitungen der Funktion f(x)s
Hesse—Matrix der zweiten Ableitungen der Lagrange—Funktion H , ):
i 1 Oiagonalmatrix, deren i. — tes Diagonalelement gleich der i. — ten Komponente des Vektors ist FUr alle Elemente x gilt: Es existiert ein Element x, fllr das gilt: Vektor, der aus der j—ten Spalte der Matrix besteht j —te Komponente des Vektors (i,j )—tes Element der Matrix
1. Optimierung und rechantechnische Realisierung
Die Optimierung — besonders die
lineare
Optimierung — hat
die Möglichkeiten der Rechentechnik seit den Anwendungen und Weiterentwicklungen
(Implementierung)
50er
erfahren.
Einen
neuen Schritt können Mir jetzt beobachten, da neben dezentral verfugbarer Rechentechnik
durch
Jahren
viele
qualitativ und
zentral
leistungsfähige
Informatik-
Tools treten, die mit Expertensystemen und Supporting Systems die Nutzerfreundlichkeit von
implementierten
Verfahrenerhöhen.
Das
hat natürlich Rückwirkungen auf die Optimierung selbst, besonders auf Verfahren fllr
nichtlineare
Probleme.
Im
ersten
Abschnitt
dieses Kapitels werden die Problemstellungen formuliert, für
die
dann in den Kapiteln 2 bis 5 Lösungsverfahren vorgestellt werden. Weiterhin
werden
einleitende
Bemerkungen
zu
den
PASCAL-
Implementierungen gemacht. u
Im zweiten Abschnitt sollen einige Tendenzen der Anwendung Verfahren der Optimierung im
Uberblick
dann im dritten Abschnitt die
sich
dargestellt
daraus
werden,
ergebenden
keiten der Umsetzung von Optimierungsverfahren auf
on um
Möglich-
Rechnern
mit
Hilfe von Programmiersprachen und die sich ergebenden numerischen Fragen behandeln zu können.
1.1. Formu1ierung der Aufgabenstellung
Mit der vorliegenden Beschreibung von Verfahren
der
Optimierung
und ihrer Implementierung auf einem Mikrorechner soll
dem
ein Hilfsmittel in die Hand gegeben werden, effektive
numerische
Methoden mit geringem Aufwand
in
die
Bibliothek
der
Leser
von
ihm
verwendeten Software aufzunehmen. Damit ergibt sich, insbesondere ftlr den mit
der
CAE-Problematik
beschäftigten
Ingenieur,
Möglichkeit, leistungsfähige Verfahren zur Lösung der
in
die
seinem
Arbeitsbereich auftretenden Optimierungsprobleme einzusetzen. Der Sammlung liegen Verfahren zugrunde, denen genen Jahren in
der
Literatur
große
in
den
Aufmerksamkeit
vergangeschenkt
wurde und die sich auch nach den Erfahrungen der Autoren bei Lösung von technischen und bewährt haben.
technologischen
Problemen
der
besonders
10
1. Optimierung und rechentechnische Realisierung Im
einzelnen
werden folge Problemklassen behandelt.
Lineare Optimierung: Gegeben ist die Aufgabe
bei Ax - b < 0,
x> 0.
Als Lösungsverfahren wsrden bereitgestellt • das Simplexverfahren, • das revidierte Simplexverfahren, • aus der Klasse der Iterationsverfahren: das
El1ipsoidverfahren
und das Projektionsverfahren. Unbeschränkte nichtlineare Optimierungi Gegeben ist tion fix) von n
Veränder1ichen.
Gesucht
ist
das
die
Funk-
Minimum
der
Funktion fix) im IR^ s •f ix) = min !
bei % e IRn.
Fllr die Lösung werden Verfahren der
direkten
Suche
und
ablei—
• das Newton—Verfahren mit konsistenter Approximation der
Hesse-
tungsbehaftete Verfahren bereitgestellt: • die stochastische Suche, • das Verfahren der koordinatenweisen Suche, • das Polytopverfahren, • das Verfahren des steilsten Abstiegs, • das Verfahren der konjugierten Gradienten, • das Newton—Verfahren, Matrix, • das Verfahren der variablen Metrik. Quadratische Optimierung i FUr dieses spezifische nichtlinearer
Problem
mit
(quadratischer) Zielfunktion und linearen Nebenbe-
dingungen z — x Cx + p x = mxn
bei
Ax - b < 0
(C — positiv definite Matrix) werden als Lösungsverfahren bereit— gestel1t: • die Aktive—Restriktionen—Strategie von • das Relaxationsverfahren
G O L D F A H B / I N D I ANI ,
11
1.1.' Formulierung der Augabenstal lung Beschränkt» nichtlinear» Optimierung •f(.x) = min ! ,
i E s wird von der Aufgabe
x e IR" ,
bei g
(x) < 0, l = 1,...,»,
ausgegangen. Als Lüsungsverfahren werden
bereitgestellt:
• das Verfahren der adaptiven
Zufallssuche,
• das erweiterte Polytopverfahren, • das Schnittebenenverfahren, • das Verfahren der sequentiellen quadratischen
Approximation,
• ein erweitertes Newton—Verfahren, • das Verfahren der verallgemeinerten reduzierten
Gradienten,
• ein Verfahren mit Straffunktion. Die Vorstellung der einzelnen Lösungsverfahren erfolgt entsprechend der Gliederung: • Grundlagen des Verfahrens, • Aufbau des Algorithmus, • Programm und
Testbeispiel,
• weiterfUhrende Bemerkungen. Damit werden die Idee des jeweiligen
Verfahrens,
Grundlagen und die prinzipiellen Schritte des geben.
Das
Schritten
PASCAL-Programm strukturiert
und
ist
entsprechend
seine
Benutzung
Testbeispiel aufgezeigt. Die weiterfuhrenden
theoretische
Algorithmus den
ange-
angegebenen an
einem
Bemerkungen
wird
dienen
der Charakterisierung wissenschaftlicher Arbeiten, jeweilige Verfahren von Interesse sind, und der
die
für
das
Heranführung
an
die Nutzung kommerziell verfugbarer Software. Bei den zu lösenden Funktionen auf, die
Aufgaben z.B.
treten
nichtlineare
neben
Datenmengen
Gleichungen
oder Nebenbedingungen ohne Optimierungsaufgaben Diese Funktionen wurden in Unterprogrammen
auch
beschreiben
charakterisieren.
zusammengefaßt.
Durch Kommentare in den einzelnen PASCAL-Programmen sind Stellen besonders hervorgehoben, wobei als Beispiele
fUr
diese imple-
mentierte Anweisungen die Funktionen verwendet wurden, welche den Testbeispielen
auftreten.
in
12
1. Optimierung und rechentechnische Realisierung Die im Aufbau der Algorithmen besonders ausgewiesenen
wurden in den Programmen weitgehend
durch
Schritte
Kommentare
charakte-
risiert . In der Literatur findet sich insbesondere bei
Iterationsverfahren
eine ganze Sammlung von möglichen Kriterien ftlr den
Abbruch
der
Rechnung. Mögliche Abbruchursachen können sein: • Der Abstand zweier aufeinanderfolgender
Iterierter ist
kleiner
als eine vorgegebene Schranke: MXe -
II < e (1 + lla;k II ) .
• Die Differenz der
Funktionswerte
zweier
aufeinanderfolgender
Iterierter ist kleiner als eine vorgegebene Schranke: \f(xc ) - f i x ' 1 ) | < e (1 + II X e II). • Die maximale Anzahl von Iterationsschritten ist erreicht: IT = ITMAX . Der Leser wird feststellen, daß von verschiedenen
dieser
Krite-
rien in den Programmen Gebrauch gemacht worden ist. Dabei
durfte
es nicht schwerfallen, durch geringfügige Abänderung der nen Routinen eine Abbruchursache durch eine andere
zu
einzelersetzen.
Die Ausgabe der Zwischenergebnisse der Rechnung und der Abschluß— ergebnisse geschieht weitgehend
einheitlich.
Neben der Anzahl der durchgefUhrten
Iterationsschritte und
dem
Minimierungsaufgaben
der
Wert der einzelnen Iterierten wird bei Wert der zu minimierenden
Funktion
im
letzten
Iterationspunkt
sowie die Abbruchursache ausgegeben. In den Abschlußinformationen
fur die Lösung eines nichtlinearen letzten
Iterierten
die Werte fur die das Gleichungssystem beschreibenden
Funktionen
Gleichungssystems treten neben dem Wert
der
auf. Bei nichtlinearen Optimierungsaufgaben erhält schluß der Rechnung neben letzter Iterierter
und
man
zum
Ab-
Zielfunktions—
wert auch eine Information Uber den Wert der Nebenbedingungen. In einer Reihe von Programmen zur chungssysteme
und
nichtlinearer
Unterprogramme zur Lösung linearer Hierzu wird ein QR—Modul
genutzt
Lösung
nichtlinearer
Optimierungsaufgaben Gleichungssysteme der
unnötiges
entsprechenden PASCAL—Programme verhindern
half.
Glei— werden
verwendet.
Aufblähen
der
1.2. O p t i m i e r u n g s a u f g a b e n D i e in den Beispielen angegebenen
Resultate
haben
13
weitgehend
d i e A u f g a b e , d a s sachgemäße Funktionieren d e r einzelnen
Routinen
zu demonstrieren. D i e A u f n a h m e aller beim A u s t e s t e n der
Verfahren
erzielten numerischen E r g e b n i s s e
oder
gar
gleich hätten den Umfang d e s Buches w e i t
ein
wertender
Ver-
gesprengt.
u i e angegebenen numerischen E r g e b n i s s e
hängen
naturlich
von der Zahl der im jeweiligen Rechner verwendeten
auch
signifikanten
Ziffern ab. Deshalb sind d i e hier im B u c h a n g e g e b e n e n
numerischen
Lösungen und d i e eigenen Ergebnisse in diesem L i c h t zu w e r t e n . Die Sammlung
von
Programmen
e f f e k t i v e n u m e r i s c h e Methoden D i e vorgestellte
wird
Programmsammlung
Aufgabenstellungen aus. S i e bietet Verwendung der
beigefugten
Sie
verwendet
geht die
Uber
grenzter S p e i c h e r k a p a z i t ä t d i e
standardisierten im
die
Dialog
Aufgaben
gleichartige
Lösungsvorschriften• D a m i t werden unter,
stutzten A r b e i t s p l a t z
von
Möglichkeit,
generierten
für
aufeinander abgestimmter
Betrachtungen
Nutzeroberfläche
lierten a l s PASCAL—Programme lösen.
durch
ergänzt.
effektiv
Teilprobleme der
an
für
eine
einen
zu
gleiche
Nebenbedingung
Anforderungen
Einzel Programme
unter formu-
be-
Sammlung rechnerge-
erfüllt.
1.2. Optimierungsaufgaben
in
technischen
und
technologischem
Frageste1lungen Anhand von Beispielen
aus
verschiedenen
praktischen
soll verdeutlicht w e r d e n , w i e d i e Formulierung von aufgaben a u s zugrunde liegenden technischen Fragestellungen abgeleitet werden
Von einem sachkundigen Vorgehen in d i e s e r
Verfahrens
die
darauffolgende
befriedigende
technologischen
kann.
bearbeitung - der Modellierung - hängt e s M a ß e ab, o b
und
Anwendung
Ergebnisse
Phase
oft
in
der
eines
liefert.
von
Ingenieuren
Aufmerksamkeit gewidmet werden.
und
Problem—
entscheidendem Optimierungs—
Den
Zusammenhang auftretenden Fragen sollte d e s h a l b , u . U . Zusammenarbeit
Bereichen
Optimierungs—
Mathematikern,
in
diesem
durch
die
besondere
14
1. Optimierung und rechentechnische Realisierung
1.2.1. Optimierung der Abmessungen eines Stahlträgers Eine große Rolle in der Technik spielt die Abmessungen
von
Konstruktionen
bei
Ermittlung
Einhaltung
technischer Parameter. Als Beispiel wird
der
minimaler
vorgegebener
Querschnitt
eines
Stahlträgers betrachtet (Abb. 1).
A=
+ 2.x x4 3
Abb. 1. Querschnitt eines Stahlträgers Gegeben sind das
maximale
Biegemonent
p^
und
die
maximale
Querkraft p^, welche eine konkrete Belastungssituation
charakte-
risieren.
zulässige
FUr
eine
bestimmte
Stahlsorte
ist
die
Biegespannung p b e k a n n t . Diese hängt mit der Schubspannung
Uber
die Beziehung r
, < 0.6p zul 3
zusammen. Folgende Forderungen werden außerdem noch gestellt: 1. Die Stegdicke x 2. Die Steghöhe x
soll nicht kleiner als 8 mm sein. darf 850 mm nicht Uberschreiten.
3. Das Verhältnis ßurtbreite %
3
zu Gurtdicke x
4
soll den Wert 20
nicht Überschreiten. Hieraus ergibt sich durch
folgende
Überlegungen
eine
nicht-
lineare Optimierungsaufgabe: Die Biegespannung