Optimierungsverfahren und PASCAL-Programme [Reprint 2021 ed.] 9783112581087, 9783112581070


227 27 33MB

German Pages 208 [209] Year 1991

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Optimierungsverfahren und PASCAL-Programme [Reprint 2021 ed.]
 9783112581087, 9783112581070

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

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