Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem...

112
Mathematische Optimierung Volker John Sommersemester 2007

Transcript of Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem...

Page 1: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Mathematische Optimierung

Volker John

Sommersemester 2007

Page 2: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Inhaltsverzeichnis

1 Einfuhrung 3

I Lineare Optimierung 6

1 Grundlagen 7

2 Geometrische Deutung des Linearen Programms 10

3 Basislosungen eines linearen Programms in Normalform 15

4 Hauptsatz und Optimalitatskriterium der Simplexmethode 19

5 Die Simplexmethode 23

6 Bestimmung einer ersten zulassigen Basislosung 28

7 Zur Ausartung 327.1 Die Methode der ε–Storung . . . . . . . . . . . . . . . . . . . . . . . 327.2 Die lexikographische Simplexmethode . . . . . . . . . . . . . . . . . 35

8 Zur Effizienz der Simplexmethode 378.1 Maße fur die Effizienz . . . . . . . . . . . . . . . . . . . . . . . . . . 378.2 Zur worst case Komplexitat der Simplexmethode . . . . . . . . . . . 38

9 Dualitatssatze der linearen Optimierung 44

10 Die duale Simplexmethode 49

11 Die duale Simplexmethode zur Losung rein ganzzahliger linearerProgramme 56

12 Innere–Punkt–Verfahren 6112.1 Das Newton–Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 6212.2 Ein Kurz–Schritt–Algorithmus . . . . . . . . . . . . . . . . . . . . . 62

II Nichtlineare Optimierung 70

1 Einleitung 71

2 Nichtlineare Optimierung ohne Nebenbedingungen 742.1 Minimierung nichtglatter Funktionen in einer Variablen . . . . . . . 742.2 Differenzierbare Funktionen . . . . . . . . . . . . . . . . . . . . . . . 79

1

Page 3: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

3 Konvexitat 803.1 Konvexe Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.2 Konvexe und konkave Funktionen . . . . . . . . . . . . . . . . . . . . 823.3 Ungleichungen und konvexe Mengen . . . . . . . . . . . . . . . . . . 853.4 Extrema von konvexen Funktionen . . . . . . . . . . . . . . . . . . . 86

4 Optimalitatskriterien 874.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.2 Lokale Minima fur Optimierungsprobleme ohne Einschrankungen an

das zulassige Gebiet . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.3 Lokale Minima fur Optimierungsprobleme, bei denen das zulassige

Gebiet durch Ungleichungen gegeben ist . . . . . . . . . . . . . . . . 914.4 Globale Theorie der Lagrange–Multiplikatoren . . . . . . . . . . . . 95

5 Losungsverfahren 995.1 Projektionsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.2 Penalty–Verfahren (Strafverfahren) . . . . . . . . . . . . . . . . . . . 1025.3 Barrieremethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.4 SQP–Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

2

Page 4: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 1

Einfuhrung

Die Optimierung oder Programmierung untersucht die Fragestellung: Gesucht istdie optimale Losung eines Problems unter irgendwelchen Bedingungen. Die mathe-matische Formulierung ist: Gegeben seien Funktionen f : Rn → R, gi : S → R,i = 1, . . . , m, S ⊂ Rn, suche

f(x) → Extremum unter den Bedingungen gi(x) ≥ 0, i = 1, . . . , m.

Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oderlinearen Programmierung, siehe Teil I.

Bei Optimierungsproblemen mussen folgende Fragestellungen untersucht wer-den:

- Wie lauten notwendige und hinreichende Bedingungen fur die Existenz vonLosungen?

- Wie kann man Losungen mit moglichst geringem Aufwand berechnen? Wassind die effizientesten Algorithmen?

In der Einfuhrung werden einige typische Beispiele von Optimierungsproblemenangegeben.

Beispiel 1.1 Rundreiseproblem. Gegeben sind n verschiedene Orte Oi, i =1, . . . , n. Die Entfernung zwischen den Orten Oi und Oj sei aij . Anstelle der Ent-fernung konnen auch andere Parameter wie Kosten oder Zeit genommen werden.Man nimmt im allgemeinen auch aij 6= aji an. Das Rundreiseproblem oder auchTraveling–Salesman–Problem kann nun wie folgt formuliert werden:Ein Reisender, der in einem Ort startet, mochte alle restlichen Orte genau einmalbesuchen und zum Ausgangsort zuruckkehren. In welcher Reihenfolge hat er dieOrte zu besuchen, damit die Gesamtlange des Reiseweges minimal wird? 2

Beispiel 1.2 Landwirtschaft, Anbauoptimierung. Es stehen 100 ha Ackerlandzur Verfugung, die mit Kartoffeln x1 ha und Getreide x2 ha bestellt werden sollen.Ein Teil der Anbauflache kann auch brach bleiben. Die Betriebskosten sind wie folgt(GE = Geldeinheit):

Kartoffeln Getreide insgesamt verfugbarAnbaukosten GE/ha 10 20 1100 GEArbeitstage/ha 1 4 160 TageReingewinn GE/ha 40 120

Bei welcher Bewirtschaftung erzielt man den großten Gewinn?

3

Page 5: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die mathematische Formulierung des Problems ist wie folgt:

z = 40x1 + 120x2 → max (1.1)

10x1 + 20x2 ≤ 1100 (1.2)

x1 + 4x2 ≤ 160 (1.3)

x1 + x2 ≤ 100 (1.4)

x1, x2 ≥ 0 (1.5)

Diese Aufgabe kann man graphisch losen.

(2)

(4)

(3)

(5)

(5)

100 160110

40

55

max

(1)

100

x1

x2

Abbildung 1.1: Darstellung der Nebenbedingungen und der Zielfunktion zum Bei-spiel 1.2.

Die Nebenbedingungen beschreiben Halbebenen und der Durchschnitt der Halb-ebenen ist gerade die Menge der Paare (x1, x2), in denen man das Maximum sucht.Zur graphischen Darstellung der Zielfunktion z wahle man sich einen beliebigenPunkt (x1, x2) und berechne die Gerade z durch diesen Punkt. In diesem Bei-spiel soll die Zielfunktion maximiert werden, das heißt, der Zielfunktionswert steigt,wenn man die Gerade orthogonal zu ihrem Anstieg nach oben verschiebt. Der letz-te Punkt, der alle Nebenbedingungen erfullt und der auf einer parallelen Geradenzur dargestellten Geraden liegt, ist der mit einem Kreis gekennzeichnete Punkt(x1, x2) = (60, 25). Die Losung dieses linearen Optimierungsproblems ist demzufol-ge x1 = 60 ha, x2 = 25 ha und der Gewinn ist 5400 GE. 2

Beispiel 1.3 Ernahrungsprogramm. Es stehen die folgenden drei Nahrungsmit-tel zur Verfugung (alle Angaben jeweils fur 100 Gramm):

Eiweiß Fett Kohlenhyd. Wasser Preis1. Weißbrot 8 1 49 42 102. Wurst 12 20 0 68 803. Milch 3 3 5 89 7

Ein Ernahrungsprogramm wird nur zugelassen, wenn es folgende Mindestanfor-derungen erfullt: Eiweiß: 90 g, Fett: 80 g, Kohlenhydrate: 500 g, Wasser 2500 g. Zielist es, das kostengunstigste Ernahrungsprogramm zu finden, welches diese Anforde-

4

Page 6: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

rungen erfullt. Das zugehorige Optimierungsproblem lautet:

z = 10x1 + 80x2 + 7x3 → min

8x1 + 12x2 + 3x3 ≥ 90

x1 + 20x2 + 3x3 ≥ 80

49x1 + 5x3 ≥ 500

42x1 + 68x2 + 89x3 ≥ 2500

x1, x2, x3 ≥ 0,

wobei die Maßeinheit fur x1, x2, x3 hier 100 g ist.Die (gerundete) Losung lautet: x1 = 7.71, x2 = 0, x3 = 24.45, also 771 g

Weißbrot und 2445 g Milch, das heißt vegetarisch. Die Kosten sind rund 248 GE. 2

Beispiel 1.4 Rucksackproblem. Ein Wanderer kann in seinem Rucksack ein Ge-samtgewicht von N tragen. Er hat n Gegenstande, die er mitnehmen mochte undjeder Gegenstand hat einen gewissen Nutzen ni, i = 1, . . . , n. Das Gesamtgewichtaller Gegenstande ubersteigt das zulassige Maximalgewicht. Das Optimierungspro-blem des Wanderers besteht nun darin, eine Teilmenge von Gegenstanden mit ma-ximalem Nutzen zu finden, so dass das Gesamtgewicht dieser Teilmenge hochstensN ist. Dabei kann als zusatzliche Nebenbedingung auftreten, dass gewisse Losungs-komponenten ganzzahlig sein mussen, zum Beispiel die Anzahl der Paar Schuhe, dieer mitnehmen soll. 2

Beispiel 1.5 Zuordnungsproblem. In einer Firma stehen zur Fertigung von nProdukten n Maschinen zur Verfugung. Jede Maschine eignet sich zur Herstellungjedes Produktes unterschiedlich gut. Es ergeben sich je nach Zuordnung verschiede-ne Arbeitszeiten. Jeder Maschine soll genau ein Produkt zugeordnet werden. DasOptimierungsproblem besteht darin, die Gesamtfertigungszeit der Produkte zu mi-nimieren. 2

Bemerkung 1.6 Operations Research. In der Fachliteratur werden Optimierungs-aufgaben oft unter dem Begriff Operations Research (Optimalplanung) gefuhrt. 2

Literaturempfehlungen sind:

• Jarre und Stoer [JS04],• Borgwardt [Bor01],• Elster, Reinhardt, Schauble, Donath [ERSD77],• vor allem uber das Gebiet der linearen Optimierung gibt es auch eine Reihe

alterer Lehrbucher, die man verwenden kann.

5

Page 7: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Teil I

Lineare Optimierung

6

Page 8: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 1

Grundlagen

Definition 1.1 Lineares Optimierungsproblem, lineares Programm. EineAufgabenstellung wird lineares Optimierungsproblem oder lineares Programm ge-nannt, wenn das Extremum einer linearen Funktion

z =n∑

i=1

cixi = cT x (1.1)

zu bestimmen ist, uber der durch das lineare Ungleichungssystem

n∑

j=1

aijxj ≤ (>) bi, i = 1, . . . , m (1.2)

xj ≥ 0, j = 1, . . . , n, (1.3)

definierten Punktmenge. 2

Seien x,y ∈ Rn. Dann wird die Bezeichnung

x ≥ (>)y ⇐⇒ xi ≥ (>)yi, ∀ i = 1, . . . , n,

verwendet.

Definition 1.2 Zulassiger Bereich. Die Menge M aller Punkte, die das Unglei-chungssystem (1.2) – (1.3) erfullen, heißt zulassiger Bereich. 2

Beispiel 1.3 Der zulassige Bereich, der durch lineare Nebenbedingungen beschrie-ben ist, ist der Durchschnitt von Halbraumen. Fur n = 2 sind das Halbebenen undein Beispiel ist in Abbildung 1.1 zu sehen. 2

Der zulassige Bereich ist nicht notwendig beschrankt. Er kann auch leer sein.

Definition 1.4 Konvexitat. Eine Punktmenge M heißt konvex, wenn mit belie-bigem x1, x2 ∈ M auch alle Punkte der Gestalt

λx1 + (1 − λ)x2, 0 ≤ λ ≤ 1,

zu M gehoren. 2

Fur den Rn bedeutet Konvexitat, dass mit zwei Punkten x1,x2 aus M auchihre Verbindungsstrecke in M liegt.

Satz 1.5 Die durch das lineare Ungleichungssystem (1.2) – (1.3) definierte Punkt-menge ist konvex.

7

Page 9: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Seien x1,x2 ∈ M gegeben. Dann gelten

Ax1 ≤ b, x1 ≥ 0, Ax2 ≤ b, x2 ≥ 0.

Mit λ ∈ [0, 1] gelten

λAx1 ≤ λb, (1 − λ)Ax2 ≤ (1 − λ)b.

Addition und Linearitat der Matrizenmultiplikation ergibt

A (λx1 + (1 − λ)x2) ≤ b.

Analog folgtλx1 + (1 − λ)x2 ≥ 0.

Der Durchschnitt beliebig vieler konvexer Mengen ist wieder konvex. Ubungs-aufgabe

Definition 1.6 Konvexe Hulle. Die kleinstmogliche konvexe Menge M, die einevorgegebene Punktmenge P enthalt, heißt deren konvexe Hulle. 2

Beispiel 1.7 Die dick umrandete Menge ist die konvexe Hulle der gestrichelt um-randeten Menge.

2

Beispiel 1.8 Die Menge

M =

1

n: n ∈ N

ist nicht konvex, da sie aus diskreten Punkten besteht. Ihre konvexe Hulle ist (0, 1].2

Definition 1.9 Konvexe Linearkombination. Gegeben seien q Punkte x1, . . . ,xq .Betrachtet werden alle Punkte der Gestalt

x =

q∑

i=1

λixi, 0 ≤ λi ≤ 1,

q∑

i=1

λi = 1. (1.4)

Dann heißt die mit (1.4) erklarte Menge konvexe Linearkombination der Punktex1, . . . ,xq . 2

Welche Punkte einer konvexen Menge sollen ausgezeichnet werden?

Definition 1.10 Eckpunkt oder Extrempunkt einer konvexen Menge. Ge-geben sei eine konvexe Menge M. Der Punkt x ∈ M heißt Eckpunkt oder Extrem-punkt von M, wenn aus x = λx1 + (1 − λ)x2, x1,x2 ∈ M, 0 < λ < 1, folgtx = x1 = x2. 2

Man sagt, x lasst sich nicht als echte konvexe Linearkombination von Punktenx1,x2 ∈ M darstellen.

8

Page 10: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beispiel 1.11 Bei einem Viereck im R2 sind die Eckpunkte gerade die vier Ecken.Bei einer Kugel im Rn, n ≥ 1, sind alle Randpunkte Eckpunkte. 2

Definition 1.12 Konvexes Polyeder. Eine beschrankte konvexe Menge M 6= ∅mit endlich vielen Eckpunkten heißt konvexes Polyeder. 2

Beispiel 1.13 Konvexe Polyeder in Rn, n = 1, 2, 3. Ein konvexes Polyeder inR1 ist ein abgeschlossenes Intervall. In R2 und R3 kann man sich konvexe Polyedernoch gut vorstellen. Ein Beispiel in R2 findet man in Abbildung 1.1. 2

Satz 1.14 Sei M eine konvexe, abgeschlossene und beschrankte Menge, P sei dieMenge der Eckpunkte von M. Dann ist M die konvexe Hulle von P.

Beweis: Literatur. Beweisidee mit trennenden Hyperebenen siehe [ERSD77,Satz 2.48].

Satz 1.15 Ist der Losungsbereich

M = x : Ax ≤ b,x ≥ 0

beschrankt, so ist er ein konvexes Polyeder.

Beweis: Siehe spater, Folgerung 3.7.

9

Page 11: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 2

Geometrische Deutung desLinearen Programms

In diesem Abschnitt wird gezeigt, dass sich das anschauliche Merkmal des zweidi-mensionalen linearen Programms aus Beispiel 1.2, namlich dass das Optimum aufdem Rand angenommen wird, verallgemeinern lasst.

Historie zur Untersuchung linearer Optimierungsprobleme:

- 1939 Leonid V. Kantorovitch (1912 – 1986); Methode der Auflosungskoeffi-zienten

- 1941 Frank L. Hitchcock, Transportproblem- 1949 George Dantzig (1914 – 2005), Simplexmethode

- 1984 Narendra Karmarkar (geb. 1957), Innere–Punkt–Methoden fur lineareProgramme

Definition 2.1 Lineares Optimierungsproblem in 1. Normalform, linearesProgramm in Normalform. Gesucht werden die Werte der n Variablen x1, . . . , xn

so, dass die lineare Funktion

z =n∑

j=1

cjxj = cT x (2.1)

die sogenannte Zielfunktion, unter den Nebenbedingungen

n∑

j=1

aijxj ≥ bi, i = 1, . . . , m, (Ax ≥ b) , (2.2)

xj ≥ 0, j = 1, . . . , n, (x ≥ 0), (2.3)

ein Minimum annimmt. Alle Koeffizienten sind reell. Das System (2.1) – (2.3) heißtlineares Optimierungsproblem oder lineares Programm in 1. Normalform. 2

Bemerkung 2.2

1. Ob (2.1) in min– oder max–Form benutzt wird, ist im allgemeinen ohneBelang, in [JS04] wird beispielsweise die max–Form verwendet.

2. Die Relationen ≥, =, ≤ im System der Nebenbedingungen sind im wesentli-chen aquivalent.

3. Fehlt zum Beispiel fur einen Index k die Bedingung xk ≥ 0, so setzt manxk := xk − xk mit xk, xk ≥ 0. Man erhoht damit die Anzahl der Variablenum Eins.

2

10

Page 12: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Definition 2.3 Zulassiger Punkt, zulassiger Bereich. Ein Punkt x = (x1, . . . , xn)T

heißt zulassig, wenn er die Nebenbedingungen (2.2), (2.3) erfullt. Die Gesamtheitaller zulassigen Punkte heißt zulassiger Bereich. 2

Fur die Losung von (2.1) – (2.3) kommen nur zulassige Punkte in Betracht. Derzulassige Bereich ist konvex. Ist er beschrankt, so ist er ein konvexes Polyeder. Istder zulassige Bereich nicht beschrankt ist, dann gilt:

- entweder ist (2.1) uber diesen Bereich selbst nicht beschrankt,Beispiel: Minimiere −2x1 − x2 im Bereich (x1, x2) : x1 ≥ 0, x2 ≥ 0,

- oder (2.1) ist uber dem unbeschrankten Bereich beschrankt. Dann kann manZusatzbedingungen an den zulassigen Bereich stellen, die das Optimum nichtandern, so dass der neue zulassige Bereich beschrankt ist.Beispiel: Minimiere 2x1 + x2 im Bereich (x1, x2) : x1 ≥ 0, x2 ≥ 0.

Weitere Beispiele findet man in Beispiel 2.6.Wenn von einem konvexen Polyeder gesprochen wird, ist ab sofort immer ein

abgeschlossenes konvexes Polyeder gemeint.

Satz 2.4 Extremwertannahme. Eine auf einem konvexen Polyeder definierte li-neare Funktion z = f(x) nimmt ihren kleinsten Wert in (mindestens) einem Eck-punkt an.

Beweis: Seien x1, . . .xp die Eckpunkte des konvexen Polyeders M. Die Funk-tion f(x) nehme ihr Minimum in x0 ∈ M an, das heißt

f(x0) ≤ f(x) (2.4)

fur alle Punkte x des konvexen Polyeders. Dass das Minimum angenommen wird,folgt nach dem Satz von Bolzano–Weierstraß (stetige Funktion in einem kompak-ten Gebiet nimmt ihre Extremwerte an). Ist x0 kein Eckpunkt, so existiert eineDarstellung (Satz 1.14)

x0 =

p∑

j=1

λjxj , 0 ≤ λj ≤ 1,

p∑

j=1

λj = 1.

Aus der Linearitat von f folgt

f (x0) = f

p∑

j=1

λjxj

=

p∑

j=1

λjf (xj) .

Sei ein Index l definiert durch

f(xl) = minj=1,...,p

f(xj).

Dann folgt

f (x0) ≥ f(xl)

p∑

j=1

λj = f(xl). (2.5)

Wegen (2.4) und (2.5) wird das Minimum fur xl angenommen.

Folgerung 2.5 Wird das Minimum in mehr als einem Eckpunkt des konvexen Po-lyeders angenommen, so wird es auf der konvexen Hulle dieser Eckpunkte angenom-men.

11

Page 13: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Ohne Beschrankung der Allgemeinheit seien die Eckpunkte so nu-meriert, dass die Zielfunktion f(x) ihr Minimum in den Eckpunkten x1, . . . ,xq

annehme. Die konvexe Hulle dieser Eckpunkte ist

x : x =

q∑

i=1

λixi, 0 ≤ λi ≤ 1,

q∑

i=1

λi = 1

.

Aus der Linearitat von f folgt

f(x) = f

(q∑

i=1

λixi

)

=

q∑

i=1

λif(xi) = f(x1)

q∑

i=1

λi = f(x1),

womit die Folgerung bewiesen ist.

Geometrische Interpretation

Die Gleichung z = cT x− d mit einer vorgegebenen Konstanten d ist die Gleichungeiner Hyperebene in Rn. Fur n = 3, hat man beispielsweise die Normalform einerEbenengleichung, wobei c ein Normalenvektor der Ebene ist.

Sei z = cT x die Zielfunktion. Es ist gerade

c = ∇z =

(∂z

∂x1, . . . ,

∂z

∂xn

)T

.

Außerdem ist c orthogonal zu den Hyperebenen cT x = const. Sei namlich einbeliebiger Vektor einer Hyperebene gegeben, etwa zwischen den Punkten x und x,dann gilt

cT x = const, cT x = const =⇒ cT (x − x) = 0.

Aus der Menge cT x = const wahlen wir diejenige Hyperebene, die einenvorgegebenen zulassigen Punkt x0 ∈ M, nicht notwendig einen Eckpunkt, enthalt:cT x = cT x0. Wir definieren

g := x : x = x0 + tc, t ∈ R .

Diese Gerade enthalt x0 und sie ist orthogonal zu cT x = const. Fur alle x ∈ g giltbezuglich der Zielfunktion

z = cT x = cT (x0 + tc) = cT x0 + t ‖c‖22 =: z0 + t ‖c‖2

2 ,

wobei z0 der Startwert der Zielfunktion ist. Sei t > 0. Dann folgt z > z0, das heißt,der Wert der Zielfunktion wachst streng monoton in Richtung von c. Wenn man zzu maximieren hat, so verschiebe man die Hyperebene in Richtung ihres Gradien-ten. Also, ausgehend von cT (x − x0) = 0 konstruiere man in Richtung von c eineSchar zu cT (x− x0) = 0 paralleler Hyperebenen mit dem Ziel, diejenige Hyperebe-ne aus der Schar zu finden, die x : Ax ≤ b, x ≥ 0 beruhrt mit der Eigenschaft,dass x : Ax ≤ b, x ≥ 0 ganz im negativen Halbraum der beruhrenden Hyper-ebene liegt. Beruhrung bedeutet, dass x : Ax ≤ b, x ≥ 0∩

cT x = const

eine

Teilmenge des Randes des Polyeders ist, zum Beispiel ein Eckpunkt.

Beispiel 2.6 Beispiele fur Situationen die in linearen Programmen auf-treten konnen.

a) Es gibt unendlich viele Losungen (eine gesamte Kante).

12

Page 14: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

x2

x1

z

b) Es gibt uberflussig Nebenbedingungen. Die Zielfunktion nimmt ihren Extrem-wert in (0, 0) an und die drei oberen Nebenbedingungen sind uberflussig.

x2

x1

z

c) Der zulassige Bereich ist leer.

x2

x1

d) Der Optimalwert ist nicht beschrankt.

13

Page 15: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

zx1

x2

14

Page 16: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 3

Basislosungen eines linearenProgramms in Normalform

Definition 3.1 Lineares Programm in 2. Normalform, einfache Normal-form. Gegeben sei das lineare Programm

z = cT x → min ! (3.1)

unter den folgenden Bedingungen

Ax = b (3.2)

x ≥ 0 (3.3)

mit x ∈ Rn, b ∈ Rm und A ∈ Rm×n. Dieses Problem wird lineares Programm in(2.) Normalform genannt. 2

Bemerkung 3.2 Wenn man die lineare Ungleichung

n′

j=1

ai∗jxj ≤ bi∗

gegeben hat, so kann man eine sogenannte Schlupfvariable einfuhren

n′

j=1

ai∗jxj + xn′+1 = bi∗ , xn′+1 ≥ 0.

Mit Hilfe der Schlupfvariablen gelingt es aus dem linearen Programm in 1. Normal-form ein lineares Programm in 2. Normalform zu machen. Diese sind aquivalent.Die Kosten der Einfuhrung von Schlupfvariablen bestehen darin, dass man die Di-mension des Losungsvektors erhoht. 2

Wir machen jetzt die folgenden Voraussetzungen:

1. m < n, das heißt weniger Nebenbedingungen als Unbekannte.2. rg(A) = m, das heißt, A hat vollen Zeilenrang.3. Ax = b, x ≥ 0 sei widerspruchsfrei, das heißt, der zulassige Bereich ist nicht

leer.

Definition 3.3 Basislosung. Basislosungen des linearen Programms (3.1) – (3.3)sollen die Losungsvektoren x = (xi1, . . . , xim, 0, . . . , 0)T heißen, fur die die m Va-riablen xi1, . . . , xim eine nicht singulare Koeffizientenmatrix

Am,m = (ai1, . . . , aim)

besitzen, wobei (aj) , j = 1, . . . , n, die Spaltenvektoren von A bezeichne. 2

15

Page 17: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die ersten m Variablen einer Basislosung konnen beliebige reelle Zahlen sein.

Definition 3.4 zulassige Basislosung, ausgeartete (entartete) Basislosung.Gilt fur eine Basislosung x = (xi1, . . . , xim, 0, . . . , 0)T , dass xij ≥ 0 fur alle j =1, . . . , m, dann heißt sie zulassig. Verschwindet sie in mindestens einer der Varia-blen xi1, . . . , xim, so heißt sie ausgeartet oder entartet. 2

Die Komponenten einer Basislosung werden Basisvariable genannt, die zugehori-gen Spaltenvektoren heißen Basisvektoren. Entsprechend spricht man von Nichtba-sisvariablen und Nichtbasisvektoren.

Beispiel 3.5

z = −x1 − x2 → min !

x1 + 3x2 + x3 = 3

3x1 + x2 + x4 = 3

x ≥ 0.

Zulassige, nicht ausgeartete Basislosungen sind (i1 = 3, i2 = 4)

x = (0, 0, 3, 3)T , A2,2 =

(1 00 1

)

, z = 0.

oder (i1 = 1, i2 = 2)

x = (3/4, 3/4, 0, 0)T , A2,2

(1 33 1

)

, z = −3

2.

z

x1

x2

31

(3

4,

3

4)1

3

Wir fuhren jetzt die weitere Nebenbedingung

x1 + x2 ≤ 3

2

ein. Die Nebenbedingungen des erweiterten linearen Programms haben die Gestalt

1 3 1 0 03 1 0 1 01 1 0 0 1

x1

x2

x3

x4

x5

=

33

1.5

.

Dann ist eine ausgeartete zulassige Basislosung des erweiterten linearen Programms(i1 = 1, i2 = 2, i3 = 5)

(3/4, 3/4, 0, 0, 0)T , A3,3 =

1 3 03 1 01 1 1

, z = −3

2.

16

Page 18: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Im Bild erkennt man, was Ausartung bedeutet. Die Ecke (3/4, 3/4) des zulassigenBereichs ist bereits durch die ersten beiden Nebenbedingungen bestimmt. Durch dieneue Nebenbedingung ist diese Ecke nun wahlweise durch die ersten beiden, durchdie erste und die dritte oder die zweite und die dritte Nebenbedingung bestimmt.Die Nebenbedingungen, die diese Ecke des zulassigen Bereichs bestimmen, sind nichtmehr eindeutig. 2

Satz 3.6 Ein Eckpunkt eines zulassigen Bereichs M = x : Ax = b, x ≥ 0 liegtgenau dann vor, wenn seine Koordinaten eine zulassige Basislosung bilden.

Beweis: a) Aus Basislosung folgt Eckpunkt. Sei x = (x1, x2, . . . , xm, 0, . . . , 0)T

eine zulassige Basislosung, das heißt

a1x1 + a2x2 + . . . + amxm = b,

die Vektoren a1, . . . , am sind linear unabhangig und die Nichtbasisvariablen xm+1,. . . , xn sind gleich Null.

Der Beweis wird indirekt gefuhrt, indem angenommen wird, dass

x = (x1, . . . , xm, 0, . . . , 0)

kein Eckpunkt ist. Dann gibt es Punkte x1,x2 ∈ M mit λx1 + (1 − λ)x2 = x,x1 6= x2, 0 < λ < 1. Da die letzten n − m Komponenten von x verschwinden,muss das auch fur entsprechenden Komponenten von x1 und x2 gelten, da alleKomponenten dieser Vektoren nichtnegativ sind. Seien nun

x1 =(

x(1)1 , x

(1)2 , . . . , x(1)

m , 0, . . . , 0)T

, x2 =(

x(2)1 , x

(2)2 , . . . , x(2)

m , 0, . . . , 0)T

.

Da diese Punkte zulassig sind, folgt

a1x(1)1 + a2x

(1)2 + . . . + amx(1)

m = b,

a1x(2)1 + a2x

(2)2 + . . . + amx(2)

m = b.

Wegen der linearen Unabhangigkeit der Vektoren a1, . . . , am folgt daraus x1 = x2,was im Widerspruch zur Annahme steht. Also ist x ein Eckpunkt.

b) Aus Eckpunkt folgt Basislosung. Sei x ein Eckpunkt des zulassigen Bereichsmit den positiven Koordinaten x1, . . . , xk, das heißt, es gilt

a1x1 + a2x2 + . . . + akxk = b mit xj > 0, j = 1, . . . , k ≤ n.

Ohne Beschrankung der Allgemeinheit seien die verschwindenden Komponenten diehinteren. Es ist zu zeigen, dass a1, . . . , ak linear unabhangig sind.

Der Beweis ist wieder indirekt. Wir nehmen also an, dass es ein y ∈ Rk gibt mit

a1y1 + a2y2 + . . . + akyk = 0

und mindestens einem yi 6= 0. Fur jede reelle Zahl µ gilt damit

k∑

j=1

aj (xj + µyj) = b und

k∑

j=1

aj (xj − µyj) = b.

Das bedeutet, die Punkte

x1 = (x1 + µy1, . . . , xk + µyk, 0, . . . , 0) ,

x2 = (x1 − µy1, . . . , xk − µyk, 0, . . . , 0)

17

Page 19: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

erfullen die Nebenbedinungen (3.2). Falls man µ > 0 hinreichend klein wahlt, sindalle Komponenten dieser Punkte nichtnegativ und x1,x2 sind zulassig. Aus derKonstruktion von x1,x2 folgt, dass x = 0.5x1 + 0.5x2 gilt. Das ist im Widerspruchzur Eckpunktannahme von x. Diese Darstellung fur den Eckpunkt x kann nur exi-stieren, wenn x1 = x2. Da µ positiv ist, muss also y1 = . . . = yk = 0 gelten. Alsosind a1, . . . , ak linear unabhangig.

Die Basislosung verlangt jedoch m linear unabhangige Vektoren:

- Fall k > m. m + 1 Vektoren des Rm sind stets linear abhanging. Dieser Fallkann also nicht eintreten.

- Fall k = m. In diesem Fall besitzt die zulassige Basislosung m positivenKomponenten, sie ist also nicht ausgeartet.

- Fall k < m. In diesem Fall hat man eine zulassige Basislosung mit weniger alsm positiven Komponenten, also eine ausgeartete Basislosung. Aus den rest-lichen Spalten von A konstruiert man eine Menge von linear unabhangigenVektoren a1, . . . , am, fur welche offensichtlich

a1x1 + . . . + akxk + ak+10 + . . .am0 = b

gilt. Diese Konstruktion ist moglich, da rg(A) = m ist.

Folgerung 3.7 Satz 1.15. Ist der Losungsbereich

M = x : Ax = b,x ≥ 0

beschrankt, so ist er ein konvexes Polyeder.

Beweis: Man kann nur endlich viele Mengen von m linear unabhangigen Spal-tenvektoren der Matrix A bilden. (Maximalanzahl ist Ubungsaufgabe) Mit dem ebenbewiesenen Satz hat damit M nur endlich viele Ecken.

Eine weitere Folgerung des eben bewiesenen Satzes, zusammen mit Satz 2.4 istwie folgt.

Folgerung 3.8 Eine uber einem konvexen Polyeder M = x : Ax = b,x ≥0 definierte lineare Funktion z = cT x nimmt ihr Minimum fur wenigstens einezulassige Basislosung an.

Mit Hilfe der bisherigen Resultate konnen wir versuchen, ein Verfahren zurLosung von

minx∈Rn

z = cT x : Ax = b,x ≥ 0

zu konstruieren:

1. Aufstellung der

(nm

)

linearen Gleichungssysteme der Dimension m aus

Ax = b.2. Ist die so generierte Matrix Am,m regular?

3. Angabe der Losung fur regulare Am,m.4. Auswahl der zulassigen Losungen5. Bestimmung der Losung(en), die das Minimum liefern.

Diese Herangehensweise ist jedoch schon bei relativ kleiner Anzahl von Unbe-kannten und Nebenbedingungen viel zu aufwendig. Zum Beispiel hatte man bein = 20, m = 10 schon 184 756 Gleichungssysteme aufzustellen und diese zu unter-suchen.

Das Ziel wird nun sein, ein Verfahren zu finden, welches einen cleveren Weg zumOptimum findet, unter Nutzung von zulassigen Basislosungen.

18

Page 20: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 4

Hauptsatz undOptimalitatskriterium derSimplexmethode

In diesem Abschnitt wird das wichtigste Verfahren zur Losung linearer Optimie-rungsprobleme eingefuhrt – die Simplexmethode. Es existiere fur

minx∈Rn

z = cT x : Ax = b,x ≥ 0

eine zulassige Basislosung mit x > 0.

Definition 4.1 Simplex. Ein Simplex ist die Menge aller Punkte x = (x1, . . . , xn)T

mitn∑

i=1

xi ≤ 1, xi ≥ 0, i = 1, . . . , n.

2

Simplizes sind spezielle konvexe Polyeder. Fur n = 2 ist das Dreieck mit denEckpunkten (0, 0), (1, 0), (0, 1) ein Simplex.

Das geometrische Prinzip der Simplexmethode ist wie folgt:

1. Man beginnt an einer Ecke des zulassigen Bereichs mit einer Startlosung x1

und dem Zielfunktionswert z(x1).2. Dann geht man entlang einer absteigenden Kante, dass heisst, bei welcher

der Zielfunktionswert kleiner wird, z(x1) > z(x2) zu einer sogenannten be-nachbarten Ecke x2.

3. Wiederhole Schritt 2 so lange, bis es keine absteigende Kante mehr gibt.

Dieses geometrische Prinzip muss in die algebraische Terminologie mit Basislosun-gen usw. transformiert werden. Wir werden spater auch diskutieren, dass man Sim-plexschritte ausfuhren kann, bei denen der Zielfunktionswert gleich bleibt. In diesemFall ist die Beschreibung des zweiten Schritts auch abzuandern, da man nicht zueiner benachbarten Ecke geht, sondern auf der gegebenen Ecke die Basis andert.Diese Situation kann im Falle der Ausartung eintreten. Man nennt zwei Basislosun-gen benachbart, wenn sie sich nur in einem Basisvektor unterscheiden.

Sei x = (x1, . . . , xm, 0, . . . , 0)T eine erste zulassige Basislosung. Es gilt

a1x1 + a2x2 + . . . + amxm = b. (4.1)

Dabei sind a1, . . . , am linear unabhangige Vektoren. Der Zielfunktionswert istdemzufolge

z0 = c1x1 + . . . + cmxm. (4.2)

19

Page 21: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Alle Nichtbasisvektoren am+1, . . . , an werden durch die Basis dargestellt

aj = x1ja1 + . . . + xmjam, j = m + 1, . . . , n. (4.3)

Mit diesen Darstellungskoeffizienten xij , die nichts mit den Werten x1, . . . , xm derBasislosung zu tun haben, werden die Hilfsgroßen

zj = c1x1j + c2x2j + . . . + cmxmj , j = m + 1, . . . , n, (4.4)

eingefuhrt.

Satz 4.2 Hauptsatz der Simplexmethode. Sei z0 der Wert der Zielfunktion furdie zulassige Basislosung x = (x1, . . . , xm, 0, . . . , 0)T , xi > 0, i = 1, . . . , m. Gilt furein k mit m + 1 ≤ k ≤ n, dass zk − ck > 0, so existiert wenigstens eine zulassigeBasislosung mit einem Zielfunktionswert kleiner als z0.

Beweis: Sei θ > 0 vorerst beliebig gewahlt. Man multipliziere (4.3) und (4.4)fur j = k mit θ und bilde (4.1) - θ (4.3) und (4.2) - θ (4.4):

a1 (x1 − θx1k) + a2 (x2 − θx2k) + . . . + am (xm − θxmk) + θak = b, (4.5)

c1 (x1 − θx1k) + c2 (x2 − θx2k) + . . . + cm (xm − θxmk) + θck

= z0 − θzk + θck = z0 + θ (ck − zk) . (4.6)

In der Gleichung (4.5) steht ein Vektor, der Ax = b erfullt:

(x1 − θx1k, . . . , xm − θxmk, 0, . . . , θ, . . . , 0)T

. (4.7)

Es wird in den Lemmata 4.3 und 4.6 gezeigt, dass man mit diesem Vektor eine Ba-sislosung konstruieren kann. Man hatte eine zulassige Basislosung, wenn xi−θxik ≥0, i = 1, . . . , m. Der zugehorige Zielfunktionswert ist durch die Gleichung (4.6) ge-geben. Er ist kleiner als z0 falls θ > 0 und zk − ck > 0.

Unter der Annahme, dass der Hauptsatz bereits vollstandig bewiesen ist, habenwir ein hinreichendes Kriterium um zu entscheiden, ob es eine zulassige Basislosungmit einem kleineren Zielfunktionswert gibt. Man benotigt jetzt noch eine Methodezur Konstruktion dieser zulassigen Basislosung. Diese erfolgt mit Hilfe von θ.

Lemma 4.3 Seiθ = min

i=1,...,m,xik>0

xi

xik

=:xl

xlk

. (4.8)

Dann ist die Losung (4.7) zulassig.

Beweis: Man hat

a1

(

x1 −xl

xlk

x1k

)

+ . . . + al−1

(

xl−1 −xl

xlk

xl−1,k

)

+ al

(

xl −xl

xlk

xl,k

)

︸ ︷︷ ︸

=0

+al+1

(

xl+1 −xl

xlk

xl+1,k

)

+ . . . + am

(

xm − xl

xlk

xmk

)

+xl

xlk

ak = b,

und die neue Losung

xi = xi −xl

xlk

xik , i = 1, . . . , m, i 6= l, xk =xl

xlk

. (4.9)

Alle Komponenten sind auf Grund der Konstruktion nichtnegativ und bei Aus-schluss der Entartung sogar positiv. Damit hat man eine zulassige Losung erhalten.Man hat also die Komponente xl aus der Basisliste gestrichen und durch die Kom-ponente xk ersetzt.

20

Page 22: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Bemerkung 4.4 Damit die Wahl (4.8) von θ uberhaupt funktioniert, brauchenwir ein xik > 0. Falls es kein solches xik gibt, dann folgt, dass die Zielfunktion nachunten unbeschrankt ist. Man kann namlich in diesem Fall θ beliebig groß wahlen,da stets xi − θxik ≥ 0. Aus (4.6) folgt dann, dass unter der Bedingung ck − zk < 0die Zielfunktion unbeschrankt nach unten ist. Fazit: Falls fur ein zk − ck > 0 allexik ≤ 0, dann ist die Zielfunktion nicht von unten beschrankt und man breche dieSimplexmethode ab. 2

Bemerkung 4.5 Wenn man Entartung ausschließt, dann ist θ eindeutig bestimmt,das heißt, das Minimum in (4.8) wird fur genau einen Index l angenommen. Esgilt auch die Umkehrung, dass falls der Index l in (4.8) nicht eindeutig bestimmtist, dann hat man Ausartung. Ausartung kann zur Folge haben, dass gilt z(xi) =z(xi+1) = . . .. Das nennt man einen Basiszyklus. 2

Es gilt also, (4.9) ist eine zulassige Losung mit einem kleineren Zielfunktions-wert als die ursprungliche Losung. Damit bleibt nur noch die Basiseigenschaft vona1, . . . , al−1, ak, al+1, . . . , am zu prufen.

Lemma 4.6 Sei w1, . . . ,wm ein System linear unabhangiger Vektoren und sei

w =

m∑

i=1

µiwi, µl 6= 0. (4.10)

Dann ist auch w1, . . . ,wl−1,w,wl+1, . . .wm ein System linear unabhangiger Vek-toren.

Beweis: Indirekter Beweis. Sei w1, . . . ,wl−1,w,wl+1, . . .wm kein Systemlinear unabhangiger Vektoren. Dann gibt es Zahlen α1, . . . , αl−1, αl+1, . . . , αm, α,von denen wenigstens eine ungleich Null ist, so dass

m∑

i=1,i6=l

αiwi + αw = 0.

In diese Gleichung wird (4.10) eingesetzt. Es folgt

m∑

i=1,i6=l

(αi + αµi)wi + αµlwl = 0.

Die Vektoren w1, . . . ,wm sind linear unabhangig, das heißt, alle Koeffizientenin dieser Gleichung mussen Null sein. Wegen µl 6= 0 folgt dann α = 0 und darausαi = 0 fur alle i. Damit ist gezeigt, dass w1, . . . ,wl−1,w,wl+1, . . .wm ein Systemlinear unabhangiger Vektoren ist.

Da in der Linearkombination (4.3) der Faktor vor al gleich xlk(= µl) ist und wirxlk > 0 bei der Definition von l vorausgesetzt haben, lasst sich dieses Lemma an-wenden und die Basiseigenschaft von a1, . . . , al−1, ak, al+1, . . . , am gewahrleistet.

Im allgemeinen ist der Hauptsatz der Simplexmethode solange anzuwenden, wienoch wenigstens ein zk−ck > 0 ist. Dabei kann man im allgemeinen nicht erwarten,falls noch q Großen zj − cj > 0 existieren, dass man noch q Schritte auszufuhrenhat. Gilt fur alle zj − cj ≤ 0, j – Index von Nichtbasisvariablen, so ist man in demSinne fertig, dass der Hauptsatz nicht mehr anwendbar ist. Der Hauptsatz gibt aberbisher nur ein hinreichendes und kein notwendiges Kriterium fur die Existenz einerBasislosung mit einem kleineren Zielfunktionswert. Im folgenden Satz wird gezeigt,dass das Kriterium auch notwendig ist.

Satz 4.7 Optimalitatskriterium. Eine zulassige Basislosung x ∈ Rn mit z0 =∑m

i=1 cixi ist optimale Basislosung, wenn fur alle j = m + 1, . . . , n gilt zj − cj ≤ 0.

21

Page 23: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Sei x = (x1, . . . , xm, 0, . . . , 0)T . Des weiteren sei y = (y1, . . . , yn)T

eine beliebige zulassige Losung

a1y1 + a2y2 + . . . + anyn = b, y ≥ 0, (4.11)

mit z∗ =

n∑

i=1

ciyi. (4.12)

Zu zeigen ist, dass z0 ≤ z∗ fur alle y.Durch (4.3) ist jeder Nichtbasisvektor mit Hilfe der Basis dargestellt. Jetzt wird

diese Darstellung auf die Basisvektoren ausgedehnt

aj = x1ja1 + . . . + xmjam, j = 1, . . . , n,

wobei

xij =

1 fur i = j0 fur i 6= j

, i = 1, . . . , m. (4.13)

Weiter gilt die Darstellung (4.4) fur zj , j = m + 1, . . . , n. Mit (4.13) hat maneine analoge Darstellung fur j = 1, . . . , m, die sich letztlich auf zj = cj reduziert.Zusammen mit der Voraussetzung gilt jetzt zj ≤ cj , j = 1, . . . , n. Mit (4.12) folgtnun

n∑

i=1

ziyi ≤ z∗. (4.14)

Nun wird in (4.11) die Darstellung aller Spaltenvektoren durch die ersten m Spal-tenvektoren eingesetzt

y1

m∑

i=1

xi1ai + y2

m∑

i=1

xi2ai + . . . + yn

m∑

i=1

xinai = b.

Durch Umordnung nach den Basisvektoren folgt

a1

n∑

j=1

yjx1j + a2

n∑

j=1

yjx2j + . . . + am

n∑

j=1

yjxmj = b. (4.15)

Analog schreibt man (4.14) mit Hilfe von (4.4) und der entsprechenden Darstellungfur j = 1, . . . , m, mit (4.13) (zj = cj , j = 1, . . . , m)

c1

n∑

j=1

yjx1j + c2

n∑

j=1

yjx2j + . . . + cm

n∑

j=1

yjxmj ≤ z∗ (4.16)

Der Vektor x ist eine zulassige Basislosung, das heißt, es gilt

a1x1 + a2x2 + . . . + amxm = b. (4.17)

Da a1, . . . , am eine Basis ist, ist die Darstellung von b mit Hilfe dieser Vektoreneindeutig. Damit folgt aus (4.15) und (4.17)

xi =

n∑

j=1

yjxij , i = 1, . . . , m.

Setzt man dies in (4.16), so erhalt man

z0 =

m∑

i=1

cixi ≤ z∗.

22

Page 24: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 5

Die Simplexmethode

Es werden folgende Bezeichnungen verwendet:

- das untersuchte Problem ist minx∈Rn

z = cT x : Ax = b,x ≥ 0

,

- die erste zulassige Basislosung sei x = (x1, x2, . . . , xm, 0, . . . , 0)T, x ≥ 0, mit

z0 = cT x,

- die Basisvektoren sind AB = (a1, . . . , am),- die Nichtbasisvektoren sind AN = (am+1, . . . , an),- die Darstellung der Nichtbasisvektoren durch die Basis ist

aj = x1ja1 + . . . + xmjam, j = m + 1, . . . , n,

- die Hilfsgroßen zj sind

zj = c1x1j + c2x2j + . . . + cmxmj , j = m + 1, . . . , n.

Diese Großen werden in der sogenannten Simplextabelle eingetragen:

m + 1 m + 2 . . . k . . . ni ci xi cm+1 cm+2 . . . ck . . . cn

1 c1 x1 x1,m+1 x1,m+2 . . . x1,k . . . x1,n

2 c2 x2 x2,m+1 x2,m+2 . . . x2,k . . . x2,n

......

......

......

......

...l cl xl xl,m+1 xl,m+2 . . . xl,k . . . xl,n

......

......

......

......

...m cm xm xm,m+1 xm,m+2 . . . xm,k . . . xm,n

z0 zm+1 − cm+1 zm+2 − cm+2 . . . zk − ck . . . zn − cn

Basisteil Nichtbasisteil

Bei der Simplexmethode folgt man jetzt im wesentlichen dem Beweis des Haupt-satzes. Sei zk −ck > 0. Gilt fur mehrere Indizes j ∈ m+1, . . . , n, dass zj −cj > 0,so nehme man zum Beispiel einen Index, bei dem die Differenz maximal ist

zk − ck := maxj=m+1,...,n,

zj − cj .

Dann liegt xk als Nichtbasisvariable vor, die in die Basis soll. Nun bestimmt man

θ = mini=1,...,m,xik>0

xi

xik

=:xl

xlk

,

das heißt, xl soll aus der Basis raus.

23

Page 25: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Definition 5.1 Hauptspalte, Hauptzeile, Hauptelement, Pivotelement. DieSpalte k nennt man Hauptspalte, die Zeile l heißt Hauptzeile und das Element xlk

heißt Hauptelement oder Pivotelement.

Die neue Basislosung sei

(x1, . . . , xl−1, xk, xl+1, . . . , xm, 0, . . . , 0)T

. (5.1)

Nun mussen die Elemente der neuen Simplextabelle bestimmt werden:

1. Man benotigt insbesondere eine Darstellung von (5.1). Aus (4.9) erhalt man

xi = xi −xl

xlk

xik, i = 1, . . . , m; i 6= l; xk =xl

xlk

. (5.2)

2. Aus (4.3) folgt fur j = k

al =1

xlk

(ak − x1ka1 − . . . − xl−1,kal−1 − xl+1,kal+1 − . . . − xmkam)

= −x1k

xlk

a1 − . . . − xl−1,k

xlk

al−1 +ak

xlk

− xl+1,k

xlk

al+1 − . . . − xmk

xlk

am. (5.3)

Damit haben wir eine Darstellung des neuen Nichtbasisvektors al durch dieneue Basis und die neuen Elemente der alten Hauptspalte sind

xkl =1

xlk

, xil = −xik

xlk

, i = 1, . . . , m, i 6= k. (5.4)

3. Fur den Rest erhalt man, beispielhaft an an gezeigt, die folgende Darstellung,wobei man in der ersten Gleichung die alte Basisdarstellung (4.3) nutzt:

an = x1na1 + . . . + xl−1,nal−1 + xl+1,nal+1 + . . . + xmnan + xln al︸︷︷︸

(5.3)

=

(

x1n − x1kxln

xlk

)

a1 + . . . +

(

xl−1,n − xl−1,kxln

xlk

)

al−1 +xln

xlk

ak

+ . . . +

(

xmn − xmkxln

xlk

)

am.

Man erhalt also die folgenden Koeffizienten fur die neue Basisdarstellung

xkj =xlj

xlk

, j = m + 1, . . . , n, j 6= k, (5.5)

xij = xij −xlj

xlk︸︷︷︸

xkj

xik , i = 1, . . . , m, i 6= k, j = m + 1, . . . , n, j 6= l.(5.6)

4. Die Elemente z0, zm+1−cm+1, . . . , zn−cn transformieren sich ebenfalls nachden obigen Regeln. Ubungsaufgabe

Damit sind alle Elemente der neuen Simplextabelle berechnet. Zur Berechnungvon xij benotigt man die im Rechteck angeordneten Elemente xij , xlj , xlk und xik

der alten Simplextabelle. Deshalb spricht man auch von der Rechteckregel.Die Basisform der Simplexmethode ist wie folgt:

24

Page 26: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

1. Normalform des linearen Programms herstellen.2. Erste zulassige Basislosung angeben.3. Simplextabelle zu dieser Basislosung erstellen.4. Existieren Bewertungen zj − cj > 0? Wenn ja, gehe zu 6.

5. Sind alle Bewertungen zj − cj < 0?

- Wenn ja, einzige Optimallosung gefunden, Simplexmethode beendet.- Wenn nicht, dann gibt es außer negativen Bewertungen zj − cj nur

noch verschwindende. Das Optimum nicht eindeutig. Man hat einOptimum gefunden, beende Simplexmethode.

6. Wahle die Hauptspalte, also die Spalte, zu der das großte zj − cj > 0,j = k gehort.

7. Falls xik ≤ 0 fur alle i = 1, . . . , m, so ist die Zielfunktion nach unten nichtbeschrankt, beende Simplexmethode.

8. Bestimme θ zur Festlegung der Hauptzeile und des Pivotelements.

9. Basistransformation:

9.1 Ersetze das Pivotelement durch seinen Kehrwert, siehe (5.4).9.2 Multipliziere die ubrigen Elemente der Hauptzeile mit diesem Kehr-

wert, einschließlich xl, siehe (5.2) und (5.5).9.3 Multipliziere die ubrigen Elemente der Hauptspalte mit dem nega-

tiven Kehrwert, siehe (5.4).9.4 Vermindere die nicht in einer Hauptreihe stehenden Elemente, ein-

schließlich der ubrigen Werte von xi und der letzten Zeile, umdas Produkt der zugehorigen Hauptreihenelemente (Rechteckregel).Dabei nimmt man fur das Pivotelement schon den neuen Wert undfur die ubrigen Elemente die alten Werte, siehe (5.2) und (5.6).

10. Gehe zu 4.

Beispiel 5.2 Wir betrachten das lineare Programm

z = −3x1 − 2x2 − 4x3 − x4 → min !

2 2 3 0 1 0 01 3 0 2 0 1 01 1 5 2 0 0 1

x1

x2

x3

x4

x5

x6

x7

=

700400500

x ≥ 0.

Bekannt sei eine erste zulassige Basislosung x1 = 350, x4 = 25, x7 = 100, die denZielfunktionswert z = −1075 besitzt. Die Basisvektoren sind demzufolge

a1 =

211

, a4 =

022

, a7 =

001

.

Gesucht ist nun die Darstellung der Nichtbasisvektoren durch die Basisvektoren.Setze AB = (a1, a4, a7) und AN = (a2, a3, a5, a6). Dann ist die Matrix X derSimplexkoeffizienten gesucht, fur die gilt

AN = ABX =⇒ X = A−1B AN .

Man erhalt hier

X =

1 3/2 1/2 01 −3/4 −1/4 1/2−2 5 0 −1

.

25

Page 27: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Daraus ergibt sich

z2 = c1x12 + c4x42 + c7x72 = (−3)1 + (−1)1 + 0(−2) = −4,

z3 = −9/2 + 3/4 + 0 = −15/4,

z5 = −3/2 + 1/4 + 0 = −5/4,

z6 = 0 − 1/2 + 0 = −1/2

und somit

z2 − c2 = −2, z3 − c3 = 1/4, z5 − c5 = −5/4, z6 − c6 = −1/2.

Damit erhalt man folgende Simplextabelle:

2 3 5 6i ci xi -2 -4 0 01 -3 350 1 3/2 1/2 04 -1 25 1 -3/4 -1/4 1/2

7 0 100 -2 5 0 -1

-1075 -2 1/4 -5/4 -1/2

Es gibt nur einen Index k mit zk−ck > 0, namlich k = 3. Damit ist die Hauptspaltebestimmt (Schritt 6). Zur Bestimmung der Hauptzeile (Schritt 8) berechnet man θ:

θ = minxi3>0,i∈1,4,7

(xi

xi3

)

= min

350

3/2,100

5

= 20

fur i = 7. Damit ist der Hauptzeilenindex l = 7 und das Pivotelement x73 = 5. Nunfuhrt man die Basistransformation aus (Schritt 9):

2 7 5 6i ci xi -2 0 0 01 -3 320 8/5 -3/10 1/2 3/104 -1 40 7/10 3/20 -1/4 7/203 -4 20 -2/5 1/5 0 -1/5

-1080 -19/10 -1/20 -5/4 -9/20

Den neuen Wert fur x1 erhalt man beispielsweise aus

x1 = 350− 3

2100

1

5= 350− 30 = 320.

Da in der neuen Simplextabelle alle Werte zj − cj < 0, j ∈ 2, 5, 6, 7, hat man die

einzige Optimallosung bestimme: x = (320, 0, 20, 40, 0, 0, 0)T. 2

Bemerkung 5.3 Angenommen, man hat in einer Simplextabelle mehrere zj−cj >0. Zu einer dieser Spalten mogen nur Koeffizienten xij ≤ 0 gehoren. Dann ist dieZielfunktion unbeschrankt. 2

Beispiel 5.4 Zur Ausartung. Wir betrachten das lineare Programm

z = −x1 → min !

(1 1 1 04 1 0 1

)

x1

x2

x3

x4

=

(14

)

x ≥ 0.

26

Page 28: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Eine zulassige Basislosung, die gleichzeitig ein Optimum ist, ist x = (1, 0, 0, 0)T .Wir nehmen als Basisvariablen x1 und x2. Da x2 verschwindet, ist die Basislosungausgeartet. Man hat

AB =

(1 14 1

)

, AN =

(1 00 1

)

und erhalt die Simplextabelle

3 4i ci xi 0 01 -1 1 -1/3 1/32 0 0 4/3 -1/3

-1 1/3 -1/3

Die Simplexmethode sagt uns an dieser Stelle nicht, dass das Optimum bereitserreicht ist! Gemaß Simplexmethode muss x3 in die Basis anstelle von x2 eingefuhrtwerden. Man erhalt die Simplextabelle

2 4i ci xi 0 01 -1 1 1/4 1/43 0 0 3/4 -1/4

-1 -1/4 -1/4

Damit ist das Optimalitatskriterium der Simplexmethode erfullt und diese wirdbeendet. Man hat fur das Optimum x = (1, 0, 0, 0)T mit diesen beiden Simplexta-bellen zwei unterschiedliche Basisdarstellungen. Der Zielfunktionswert hat sich imSimplexschritt nicht verandert, es wurde lediglich die Basis gewechselt. 2

27

Page 29: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 6

Bestimmung einer erstenzulassigen Basislosung

Ein Problem, was man fur die Durchfuhrung der Simplexmethode losen muss, istdie Bestimmung einer ersten zulassigen Basislosung. Wie gut das geht, hangt auchvom konkreten Problem ab.

1. Fall. Liegtminx∈Rn

z = cT x : Ax ≤ b,x ≥ 0

vor und gilt b ≥ 0. Dann fuhrt man Schlupfvariablen ein und setzt x = (0, . . . , 0,bT )T .

2. Fall. Liegt das lineare Programm in der Gestalt

minx∈Rn

z = cT x : Ax = b,x ≥ 0

vor mit A = (aij) , i = 1, . . . , m; j = 1, . . . , n, b = (b1, . . . , bm)T, aij ≥ 0, bi ≥ 0

fur alle i, j. Dann kann man mit einer sogenannten Engpassmethode zur erstenzulassigen Basislosung gelangen:

1. Ordne die Variablen nach wachsenden Zielfunktionskoeffizienten ci, Beispiel

z = −10x1 − 6x2 − 4x3 − 3x4 − 5x5 → min !

2 0 4 0 2 1 0 0 02 3 1 0 0 0 1 0 05 0 0 2 1 0 0 1 00 0 0 3 0 0 0 0 1

x1

x2

...x9

=

86208

x ≥ 0.

Dann ist die Ordnung x1, x2, x5, x3, x4.2. In der festgelegten Reihenfolge werden die Variablen mit dem großtmoglichen

Wert genommen, so dass die Nebenbedingungen erfullt sind. Im Beispielbeginnt man mit x1 = 3

3. Man setzt diesen Wert ein und entfernt die Variable damit aus den Neben-bedingungen. Im Beispiel ergibt sich

0 4 0 2 1 0 0 03 1 0 0 0 1 0 00 0 2 1 0 0 1 00 0 3 0 0 0 0 1

x2

x3

...x9

=

2058

.

28

Page 30: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Aus der zweiten Gleichung folgt x2 = x3 = x7 = 0, welche Werte man auchgleich einsetzen kann. Damit vereinfacht sich das System der Nebenbedin-gungen zu

0 2 1 0 00 0 0 0 02 1 0 1 03 0 0 0 1

x4

x5

x6

x8

x9

=

2058

. (6.1)

4. Gehe zu 2.

Im Beispiel betrachtet man als nachstes x5, da ja bereits x2 = 0 gilt. Der maxi-male Wert von x5, so dass (6.1) erfullt ist, betragt x5 = 1. Einsetzen ergibt

0 1 0 02 0 1 03 0 0 1

x4

x6

x8

x9

=

048

. (6.2)

Damit folgt x6 = 0. Da ja auch schon x3 = 0 gilt, wird nun x4 betrachtet. Dermaximale Wert von x4, so dass (6.2) erfullt ist, ist x4 = 2. Man erhalt

(1 00 1

)(x8

x9

)

=

(02

)

.

Nun bestimmt man die letzten beiden Werte und erhalt als erste zulassige Ba-sislosung x = (3, 0, 0, 2, 1, 0, 0, 0, 2)T .

Bemerkung 6.1 Hat man bei der Engpassmethode nicht genugend Variablen,dann fuhrt man kunstliche Variablen ein. 2

Bemerkung 6.2 Anderes Ordnungsprinzip der Variablen im Fall, dass die Ko-effizienten von unterschiedlicher Großenordnung sind. Wir betrachten das lineareProgramm

z = 10x1 + 20x2 + 30x3 + 40x4 + 50x5 → min !

(1 10 50 1 02 20 50 0 1

)

x1

x2

...x5

=

(100101

)

x ≥ 0.

Nach dem obigen Ordnungsprinzip hat man die Reihenfolge x1, x2, x3, x4, x5 underhalt mit der Engpassmethode die erste zulassige Basislosung Ubungsaufgabe

x1 =101

2, x4 =

99

2=⇒ z = 2485.

Man erhalt jedoch mit einer anderen Basislosung einen schon viel kleineren Ziel-funktionswert

x3 = 2, x5 = 1 =⇒ z = 110.

In diesem Fall ist das Ordnungsprinzip

minj,cj 6=0

cj mini,aij 6=0

bi

aij

gunstiger. Bei diesem Ordnungsprinzip wird auch die Große der Matrixeintragebeachtet. Im Beispiel kann man x3 wegen der großen Matrixeintrage nur relativ

29

Page 31: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

klein wahlen, wenn man die Nebenbedingungen nicht verletzen will. Im Gegensatzdazu kann man x1 sehr groß wahlen ohne die Nebenbedingungen zu verletzen. Deretwas hohere Koeffizient vor x3 in der Zielfunktion fuhrt wegen des viel kleinerenmoglichen Wertes dieser Variablen letztlich auf einen kleineren Beitrag als 10x1 mitgroßem x1. 2

3. Fall. Die erste zulassige Basislosung soll jetzt

- ohne spezielle Voraussetzungen und

- mit Hilfe der Simplexmethode

bestimmt werden. Dazu betrachten wir

n∑

j=1

cjxj = cT x → min ! (6.3)

Ax = b, (6.4)

x ≥ 0. (6.5)

und nehmen b ≥ 0 an. Das kann immer durch Multiplikation der entsprechendenGleichungen mit einer negativen Zahl erreicht werden. Dem Problem (6.3) – (6.5)wird die Hilfsaufgabe

m∑

i=1

xn+i → min ! (6.6)

n∑

j=1

aijxj + xn+i = bi, i = 1, . . . , m, (6.7)

xj ≥ 0, j = 1, . . . , m + n (6.8)

zugeordnet. Die Variablen xn+1, . . . , xn+m heißen kunstliche Variablen. Zur Bestim-mung der ersten zulassigen Basislosung von (6.3) – (6.5) wird eine Zweiphasenme-thode verwendet:

• 1. Phase. Wahle als erste zulassige Basislosung fur (6.6) – (6.8)

xi = 0, i = 1, . . . , n, xn+i = bi, i = 1, . . . , m.

• 2. Phase. Lose (6.6) – (6.8) mit der Simplexmethode.

Es stellt sich nun die Frage, ob man auf diesem Wege schließlich eine erste zulassigeBasislosung fur (6.3) – (6.5) erhalt.

Im nachsten Satz wird gezeigt, dass eine Losung von (6.6) – (6.8) existiert, fallsman Ausartung ausschließt.

Lemma 6.3 Unter der Annahme, dass (6.6) – (6.8) keine ausgearteten Basislosun-gen besitzt, liefert die Simplexmethode nach endlich vielen Schritten eine optimaleLosung des linearen Programms (6.6) – (6.8).

Beweis: Da Ausartung per Annahme ausgeschlossen ist, kann kein Basiszyklusauftreten. Somit verringert die Simplexmethode in jedem Schritt den Zielfunkti-onswert. Es ist dann nur noch die Beschranktheit von unten der Zielfunktion (6.6)uber (6.7) bis (6.8) zu zeigen. Das ist offensichtlich, da (6.6) eine Summe nichtne-gativer reeller Zahlen ist, die durch Null nach unten beschrankt ist.

Nun wird eine Bedingung angegeben, mit welcher man aus dem Optimum desHilfsproblems (6.6) – (6.8) eine erste zulassige Basislosung von (6.3) – (6.5) erhalt.

Satz 6.4 Sei x0 eine Optimallosung der kunstlichen Aufgabe (6.6) – (6.8) mit demzugehorigen Zielfunktionswert z0. Gilt z0 = 0, so sind die ersten n Komponentenvon x0 eine zulassige Basislosung der Aufgabe (6.3) – (6.5). Gilt jedoch z0 > 0, sobesitzt (6.3) – (6.5) keine zulassige Basislosung.

30

Page 32: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Aus z0 = 0 folgt xn+i = 0, i = 1, . . . , m, das heißt im Optimumverschwinden alle kunstlichen Variablen. Also hat x0 die Gestalt

x0 = (x1, . . . , xn, 0, . . . , 0︸ ︷︷ ︸

m

)T .

Da x0 mit der Simplexmethode konstruiert wurde, folgt dass x0 eine zulassige Ba-sislosung von (6.3) – (6.5) ist.

Sei nun z0 > 0. Der Beweis wird indirekt gefuhrt, das heißt, wir nehmen an,dass (6.3) – (6.5) die zulassige Basislosung x = (x1, . . . , xn)T besitzt. Dann besitztjedoch (6.6) – (6.8) die zulassige Basislosung (x1, . . . , xn, 0, . . . , 0)T mit dem zu-gehorigen Zielfunktionswert (6.6) z = 0. Das ist im Widerspruch zur Annahme dassz0 der minimale Wert ist.

4. Fall. Die M–Methode. Es wird das lineare Programm (6.3) – (6.5) betrachtetund diesem die folgende Hilfsaufgabe zugeordnet

n∑

j=1

cjxj + M

m∑

i=1

xn+i → min ! (6.9)

n∑

j=1

aijxj + xn+i = bi i = 1, . . . , m , (6.10)

x ≥ 0. (6.11)

Bei dieser Aufgabe muss der Straffaktor M > 0 hinreichend groß gewahlt wer-den, damit im Optimum die Variablen xn+1, . . . , xn+m verschwinden. Das Problembesteht darin, dass man im allgemeinen nicht von vornherein festlegen kann, wiegroß M zu wahlen ist. Moglich sind Aussagen folgender Gestalt:

Satz 6.5 Es existiert ein M0 > 0, so dass fur alle M > M0 aus der Losbarkeitvon (6.3) – (6.5) die Losbarkeit von (6.9) – (6.11) mit xn+1 = . . . = xn+m = 0folgt.

Beweis: Siehe Literatur.Der Vorteil der M–Methode im Vergleich zur Herangehensweise von Fall 3 wird

mit folgendem Satz beschrieben.

Satz 6.6 Falls (6.9) – (6.11) eine Losung

x = (x1, . . . , xn, 0, . . . , 0︸ ︷︷ ︸

m

)T

besitzt, so ist x = (x1, . . . , xn)T bereits eine Optimallosung von (6.3) – (6.5).

Beweis: Siehe Literatur.

31

Page 33: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 7

Zur Ausartung

Nach Definition 3.4 liegt Ausartung dann vor, wenn mindestens eine der Variablenxi, i = 1 . . . , m, einer zulassigen Basislosung verschwindet. Das dahinterliegendeProblem ist, dass die Zuordnung Ecke – zulassige Basislosung nicht eindeutig ist.Eine Ecke des Polyeders kann Basislosung zu verschiedenen Basen sein. Das kannaber nur bei ausgearteten Basislosungen auftreten.

Beispiel 7.1 Betrachte das lineare Programm mit

z = x1 + x2 − x3 → min !, A =

(1 −1 00 0 1

)

, b =

(01

)

.

Der einzige Extremalpunkt ist x = (0, 0, 1)T . Zulassige Basen sind

(10

)

,

(01

)

und

(−10

)

,

(01

)

.

Der Grund fur die Nichteindeutigkeit der Basis besteht darin, dass es zu viele Ne-benbedingungen gibt, die den Extremalpunkt bestimmen. In diesem Beispiel ist erdurch die beiden Gleichungen

(1 00 1

)(x1

x3

)

=

(01

)

und

(−1 00 1

)(x2

x3

)

=

(01

)

gleichermaßen gegeben. Das haben wir bereits in den Beispielen 3.5 (2. Teil) und 5.4gesehen. 2

In der Praxis stellt sich heraus, dass die meisten zu losenden linearen Programmeausgeartet sind.

In der Simplexmethode ist es moglich, dass im Falle der Ausartung der zulassi-gen Basislosung nur ein Basiswechsel stattfindet, siehe Beispiel 5.4. Das kann zueinem unendlichen Zyklus werden, einem sogenannten Basiszyklus. Es ist jedochmoglich, Ausartung prinzipiell auszuschließen, beispielsweise mit der Methode derε–Storung, beziehungsweise einen Basiszyklus zu umgehen, mit der lexikographi-schen Simplexmethode.

7.1 Die Methode der ε–Storung

Wir betrachten das lineare Programm

minx∈Rn

cT x : Ax = b, x ≥ 0

. (7.1)

32

Page 34: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Sei x = (x1, . . . , xm, 0, . . . , 0)T eine zulassige Basislosung mit den Basisvektorena1, . . . , am:

a1x1 + . . . + amxm = b,

a1x1j + . . . + amxmj = aj , j = 1, . . . , n. (7.2)

Sei ε > 0 vorgegeben und sei AB = (a1, . . . , am) die Matrix der Basisvektoren.Dann betrachtet man anstelle (7.1) ein lineares Programm mit gestorten Nebenbe-dingungen

cT x → min !

ABx +

n∑

j=1

εj(7.2) = b =⇒ (7.3)

ABx +

n∑

j=1

εjaj = a1

x1 +

n∑

j=1

x1jεj

+ . . . + am

xm +

n∑

j=1

xmjεj

= b.

Mit den Nebenbedingungen (7.3) hat man fur hinreichend kleines ε die zulassigeBasislosung

x(ε)i := xi +

n∑

j=1

xijεj = xi + εi +

n∑

j=m+1

xijεj ,

da fur i = 1, . . . , m, gilt xij = δij . Die Eigenschaft der Basislosung folgt daraus,dass die Basis nicht geandert wurde und die Nebenbedingung in (7.3) erfullt ist.Die Zulassigkeit folgt fur hinreichend kleines ε aus εi > 0 und εi εj fur i < j.Wegen xi > 0 und

εi >

∣∣∣∣∣∣

n∑

j=m+1

xijεj

∣∣∣∣∣∣

=⇒ x(ε)i ≥ 0.

Der zugehorige Zielfunktionswert ist

z(ε)0 =

m∑

i=1

cixi +

m∑

i=1

ci

n∑

j=1

xijεj

=

m∑

i=1

cixi +

n∑

j=1

(m∑

i=1

cixij

)

εj

=

m∑

i=1

cixi +

n∑

j=1

zjεj .

Im Bild 7.1 wird die Storung der Nebenbedingungen graphisch veranschaulicht.Im dicken Punkt schneiden sich drei Geraden. Das fuhrt dazu, dass die ZuordnungEcke – Basislosung nicht eindeutig ist. Man hat Ausartung. Durch die Storungder Nebenbedingungen (durchgezogene Geraden) erreicht man, dass es nur nochSchnittpunkte mit genau zwei Geraden gibt.

Bemerkung 7.2 Berechnung von θ. In der Simplexmethode benotigt man dieGroße θ, siehe (4.8). Sei zk − ck > 0. Dann berechnet sich θ in der Methode derε–Storung durch

θ = mini=1,...,m;xik>0

x(ε)i

xik

= mini=1,...,m;xik>0

xi + εi +∑n

j=m+1 xijεj

xik

. (7.4)

2

33

Page 35: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Abbildung 7.1: Veranschaulichung der Storung der Nebenbedingungen.

Satz 7.3 Sei x = (x1, . . . , xm, 0, . . . , 0)T eine zulassige Basislosung der Original-aufgabe (7.1). Falls

θ = mini=1,...,m;xik>0

xi

xik

= 0

gilt (Ausartung), dann gibt es ein ε > 0 dergestalt, dass

θ = mini=1,...,m;xik>0

x(ε)i

xik

=x

(ε)l

xlk

> 0 ∀ ε ∈ (0, ε) (7.5)

und der Index l ist im gestorten Problem (7.3) eindeutig bestimmt.

Beweis: Aus den Vorbetrachtungen folgt x(ε)i > 0 und damit θ > 0 in (7.5) fur

ε ∈ (0, ε).Die Eindeutigkeit von l wird indirekt bewiesen. Sei l also nicht eindeutig be-

stimmt, das heißt es gibt zwei Indizes l1 6= l2 mit

xl1 + εl1 +∑n

j=m+1 xl1jεj

xl1k

=xl2 + εl2 +

∑nj=m+1 xl2jε

j

xl2k

fur alle ε ∈ (0, ε). Die beiden Terme sind Polynome in ε. Diese sind genau dann gleichfur alle ε ∈ (0, ε), wenn sie in allen Koeffizienten ubereinstimmen. Insbesonderemussen die Koeffizienten vor den Termen mit Potenz l1 und l2 gleich sein. Ist l1 6=l2, so ist fur den linken Term der Koeffizient vor εl1 ungleich Null und fur denrechten Term gleich Null. Fur den Koeffizienten vor εl2 gilt sinngemaß das gleiche.Diese Koeffizienten konnen nur dann gleich sein, wenn l1 = l2, im Widerspruch zurAnnahme.

Prinzipiell kann diese Manipulation in jedem Simplexschritt durchgefuhrt wer-den und man kann damit sichern, dass l stets eindeutig bestimmt ist. Diese Vorge-hensweise ist fur jeden Eckpunkt des zulassigen Bereichs ausgefuhrt zu denken. Dadie Anzahl der Eckpunkte endlich ist, erhalt man folgenden Satz.

Satz 7.4 Zu jedem linearen Optimierungsproblem existiert bei geeigneter Wahl vonε ∈ (0, ε∗) ein gestortes lineares Optimierungsproblem, so dass dieses keine ausgear-tete zulassige Basislosung besitzt. Fur ε → 0 konvergiert das Optimum des gestortenProblems (7.3) zum Optimum des Originalproblems (7.1).

Bemerkung 7.5 Praktische Umsetzung der Methode der ε–Storung. Trotz dieserschonen Theorie macht man das alles bei praktischen Problemen nicht. Fur diese

34

Page 36: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

wird vorgeschlagen: Falls in einer zulassigen Basislosung wenigstens ein Wert xi = 0bestimmt wurde, so kann θ = 0 sein. Wahle dann

l = minxik>0

i : xi = 0,

wobei i uber alle Basisvariablen lauft und k der Index der festgelegten Hauptspalteist, und transformiere mit diesem Index l. Theoretisch besteht die Gefahr einesZyklus, in der Praxis ist das aber eher unwahrscheinlich. 2

7.2 Die lexikographische Simplexmethode

Bei der lexikographischen Simplexmethode erfolgt die Auswahl der zu tauschendenBasisvektoren so, dass keine Wiederholungen auftreten konnen. Mit dieser Vor-gehensweise wird nicht die Ausartung behoben, sondern es wird verhindert, dassBasiszyklen auftreten.

Definition 7.6 Lexikopositiver Vektor. Ein Vektor x ∈ Rn heißt lexikopositiv,falls x = (0, . . . , 0, xi, xi+1, . . . , xm)T mit i ≥ 1 und xi > 0. Das heißt, die erste vonNull verschwindende Komponente ist positiv. Die Schreibweise ist

x >l 0.

Sei y ∈ Rn. Dann ist y >l x genau dann, wenn y − x >l 0.

Wir betrachten das lineare Programm (7.1) mit rg(A) = m. Sei

xB = (x1, . . . , xm, 0, . . . , 0)T

eine zulassige Basislosung. Die zugehorige Matrix der Basisvektoren sei AB ∈ Rm×m

und die der Nichtbasisvektoren AN . Dann sind die Zeilen der Matrix

(b, A) := A−1B (b, A) = A−1

B (b, AB , AN ) ∈ Rm×(n+1)

lexikopositiv, daA−1

B (b, A) = (xB , Im, am+1, . . . , an) ,

xB ≥ 0 und Im die Einheitsmatrix des Rm×m ist. Falls die Basisvariablen nicht dieersten m Variablen sind, dann ordnet man sie nach vorn.

Anstelle von (4.8) wird bei der lexikographischen Simplexmethode der Index ldurch

θ = min>l;i=1,...,m,xik>0

eTi (b, A)

xik

=:eT

l (b, A)

xlk

bestimmt, wobei ei ∈ Rm der Einheitsvektor ist, der in der i–ten Komponente eineEins hat. Das heißt, das Minimum wird bezuglich der lexikographischen Ordnunggenommen. Das obige Symbol bedeutet, dass man sich wie ublich alle Eintragemit xik > 0 ansieht, die zugehorigen Vektoren eT

i (b, A) bildet, durch xik dividiertund von den so erhaltenen Vektoren den lexikographisch kleinsten nimmt, um l zubestimmen. Es gilt, siehe beispielsweise [JS04]:

- Falls l in der allgemeinen Simplexmethode (4.8) eindeutig bestimmt ist,erhalt man bei der lexikographischen Simplexmethode den gleichen Index.

- Die lexikographische Simplexmethode definiert einen eindeutigen Index l.Man kann zeigen, dass eine Nichteindeutigkeit im Widerspruch zu rg(A) = msteht.

- Das Ergebnis eines lexikographischen Simplexschrittes ist wiederum eine le-xikopositive Basis.

35

Page 37: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

- Bei der neuen Basislosung ist entweder der Zielfunktionswert kleiner oder dieDifferenz der Koeffizienten der Zielfunktion der neuen und der alten Basis istlexikopositiv. Im ersten Fall hat man die Ecke verlassen. Im zweiten Fall kannes bei weiteren lexikographischen Simplexschritten nicht passieren, dass diealte Basis noch einmal verwendet wird. Ein Basiszyklus ist ausgeschlossen.

Bei der lexikographischen Simplexmethode werden also ausgehend von einer le-xikopositiven Startlosung weitere lexikopositive Losungen erzeugt. Dieses Verfahrenist endlich. Es bricht entweder mit einer Losung des Optimierungsproblems ab, oderes wird gefunden, dass die Zielfunktion nicht nach unten beschrankt ist. Die Anzahlder Schritte kann n! nicht ubersteigen. Diese Schranke ist allerdings fur großereWerte von n fur die Praxis bedeutungslos.

36

Page 38: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 8

Zur Effizienz derSimplexmethode

Die Simplexmethode ist ein Verfahren zur Bestimmung der Losung des linearenProgramms

minx∈Rn

cT x : Ax = b, x ≥ 0

.

Fur ihre praktische Anwendung muss untersucht werden, wie teuer die Berechnungdes Optimums ist. Dazu unterscheidet man zwei Situationen:

- Analyse des schlimmsten Falls, der bei der Losung eines linearen Programmsmit der Simplexmethode auftreten kann, worst case Modell,

- Analyse des in der Praxis zu erwartenden normalen Falls, der bei der Losungeines linearen Programms mit der Simplexmethode auftreten kann, real worldModell.

Die zweite Situation ist an sich interessanter. Das Problem besteht darin, ein realworld model aufzustellen. Diese Frage ist bis heute teilweise ungeklart. In der prak-tischen Anwendung der Simplexmethode hat man jedoch die Erfahrung gewonnen,dass sie im Normalfall hervorragend funktioniert. Wir werden hier nur das worstcase Modell untersuchen.

8.1 Maße fur die Effizienz

Das Grundanliegen besteht darin, den Aufwand zur Abarbeitung eines numerischenVerfahrens in Abhangigkeit vom Umfang der Eingangsdaten abzuschatzen.

Definition 8.1 compl(A,B). Die Komplexitat compl(A,B) eines Algorithmus Azur Losung von Aufgaben B (eines Problemkreises P) ist die Anzahl der elementarenOperationen auf einem Computer oder die benotigte Rechenzeit in Abhangigkeitvom Umfang der Eingangsdaten. 2

Der Wunsch ist naturlich, einen effizienten Algorithmus fur jedes praxisrelevan-te Optimierungsproblem zu konstruieren. Das geht aber im allgemeinen nicht, daschwierige und auch unlosbare Probleme existieren.

Definition 8.2 P(d). Bezeichne P ein Problem und d den Umfang seiner Ein-gangsdaten. Dann beschreibt P(d) die Menge aller Aufgaben P mit gleichem Um-fang d der Eingangsdaten. 2

37

Page 39: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Definition 8.3 Worst case Komplexitat eines Algorithmus. Die worst caseKomplexitat eines Algorithmus A zur Losung eines Problems P ist gegeben durch

w–compl(A, P ) = maxB∈P (d)

compl(A, B).

2

Man kann entsprechend eine average case Komplexitat von A bezuglich P er-klaren

a–compl(A, P ) = ErwartungswertB∈P (d)compl(A, B).

Definition 8.4 Worst case Komplexitat eines Problems. Sei AP die Mengealler Algorithmen zur Losung eines Problems P. Die worst case Komplexitat von Pist erklart durch

w–compl(P ) = minA∈AP

w–compl(A, P ).

2

Die Komplexitat wird im allgemeinen als Funktion der Menge der Eingangsdatenin der Form O(f(d)) angegeben.

Beispiel 8.5 Matrizenmultiplikation. Gegeben seien zwei Matrizen A, B ∈ Rn×n

und gesucht ist das Produkt C = AB. Ein Eintrag von C berechnet sich wie folgt

cij =

n∑

k=1

aikbkj ,

benotigt also n Multiplikationen und (n − 1) Additionen, dass heißt O(n) Opera-tionen. Die Anzahl der zu berechnenden Eintrage von C ist n2. Somit hat maninsgesamt O(n3) Operationen durchzufuhren.

Die Frage ist, ob der Aufwand von O(n3) optimal ist. Da man insgesamt n2

Großen zu berechnen hat, kann der minimale Aufwand der Matrizenmultiplikationnicht kleiner als O(n2) sein. Man kennt heute Verfahren, deren Aufwand fur große nwie O(n2.38) ist. (SIAM News 38, Vol. 9, 2005) 2

Definition 8.6 Gutartiges Problem. Probleme mit polynomialer KomplexitatO(dz), z ∈ R, heißen gutartig, Probleme mit exponentieller Komplexitat O(zd),z ∈ R, z > 1, bosartig. 2

8.2 Zur worst case Komplexitat der Simplexme-thode

In diesem Abschnitt wird ein Beispiel konstruiert, bei welchem der Aufwand derSimplexmethode exponentiell wachst. Das bedeutet, dass die Simplexmethode theo-retisch ein sehr ineffizientes Verfahren sein kann. Dieser Fall ist in der Praxis gluck-licherweise faktisch nicht zu beobachten.

Bei der worst case Komplexitat wird der schlechteste Fall betrachtet. Fur dieSimplexmethode bedeutet das, dass die schlechteste Wahl der Hauptspalte bezuglichder Anzahl der zulassigen Basislosungen betrachtet wird, die man beim Transfor-mationsprozess erzeugt.

Wie betrachten den n–dimensionalen Einheitswurfel [0, 1]n. Dieser hat 2n Ecken.Die Koordinaten des Einheitswurfels werden nun gestort

ε ≤ x1 ≤ 1 mit 0 < ε < 1/2,

εxj−1 ≤ xj ≤ 1− εxj−1 ≤ 1 j = 2, . . . , n.

38

Page 40: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Uber diesem gestorten Wurfel wird folgendes lineares Programm definiert:

−xn → min !

x1 − r1 = ε

x1 + s1 = 1

xj − εxj−1 − rj = 0 j = 2, . . . , n, (8.1)

xj + εxj−1 + sj = 1 j = 2, . . . , n,

xj , rj , sj ≥ 0 j = 1, . . . , n.

Die Matrix der Nebenbedingungen hat die Gestalt

A =

1 0 0 . . . 0 −1 0 . . . 0 0 0 . . . 0−ε 1 0 . . . 0 0 −1 . . . 0 0 0 . . . 0...

......

......

......

......

......

......

0 0 0 . . . 1 0 0 . . . −1 0 0 . . . 01 0 0 . . . 0 0 0 . . . 0 1 0 . . . 0ε 1 0 . . . 0 0 0 . . . 0 0 1 . . . 0...

......

......

......

......

......

......

0 0 0 . . . 1 0 0 . . . 0 0 0 . . . 1

∈ R2n×3n.

Lemma 8.7 Die Menge der zulassigen Basislosungen von (8.1) ist die Klasse derUntermengen von

(x1, . . . , xn, r1, . . . , rn, s1, . . . , sn) ,

bei denen alle xj > 0, j = 1, . . . , n, und entweder rj > 0 oder sj > 0 fur jedesj = 1, . . . , n. Alle Basislosungen sind nicht ausgeartet.

Beweis: Es wird erst die Zulassigkeit untersucht, dann die Basislosungseigen-schaft.

Zuerst wird gezeigt, dass fur zulassige Losungen alle xj , j = 1, . . . , n positivsein mussen. Ist x1 = 0, dann folgt aus der ersten Nebenbedingung r1 = −ε < 0.Ein Vektor mit x1 = 0 kann also nicht zulassig sein. Der Beweis erfolgt nun durchInduktion. Seien xj > 0 fur j = 1, . . . , k − 1 und xk = 0. Dann folgt aus denNebenbedingungen

0 = xk = rk + εxk−1︸ ︷︷ ︸

>0

=⇒ rk < 0,

im Widerspruch zur letzten Nebenbedingung. Also sind alle xj positiv, sie konnendamit keine Nichtbasisvariablen sein.

Nun werden die rj , sj betrachtet. Gelte fur ein j, dass rj = sj = 0. Fur j = 1folgt dann aus den ersten beiden Nebenbedingungen von (8.1) x1 = ε = 1. Dassteht im Widerspruch zur Wahl von ε. Sei j > 1. Dann gelten

xj − εxj−1 = 0,

xj + εxj−1 = 1.

Subtraktion dieser Gleichungen ergibt

2εxj−1 = 1.

Da jedoch ε < 1/2 und xj−1 ≤ 1 ist die linke Seite echt kleiner als 1. Damit sindrj oder sj fur jedes j = 1, . . . , n, positiv. Da man genau 2n Basisvariablen hat

39

Page 41: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

und bereits n davon durch die xj gegeben sind, ist entweder rj oder sj fur jedesj = 1, . . . , n, positiv.

Die Basiseigenschaft der soeben konstruierten Menge sieht man durch Umord-nung der Zeilen der Matrix A2n,2n. Fur jeden Index j vertauscht man die Zeilen jund j + n falls rj > 0, sj = 0. Damit wird die Matrix auf Dreiecksform gebracht,wobei in der Diagonalen ±1 stehen. Ihre Determinante ist somit ebenfalls ±1.

Die Menge der Indizes j fur die die Basislosungen rj > 0 erfullen wird mit Sbezeichnet. Sind dies beispielsweise die Indizes 1, 3, 7, so ist S = 1, 3, 7. Die zu-gehorigen Basislosungen werden als x(S) geschrieben, im Beispiel x(1,3,7). Der

Wert xj in x(S) wird mit x(S)j bezeichnet. Wegen der Zielfunktion betrachten wir

jetzt insbesondere den letzten Index n.

Lemma 8.8 Seien n ∈ S und n 6∈ S′. Dann ist x(S)n > x

(S′)n . Falls außerdem

S′ = S \ n gilt, folgt x(S′)n = 1 − x

(S)n .

Beweis: Sei n ∈ S, das heißt rn > 0, sn = 0. Dann folgt aus

x(S)n + εx

(S)n−1 + sn = 1 =⇒ x(S)

n = 1 − εx(S)n−1 > 1/2

wegen x(S)n−1 ≤ 1, ε < 1/2.

Andererseits gilt fur n 6∈ S′, dass rn = 0. Mit denselben Argumenten folgt

x(S′)n − εx

(S′)n−1 + rn = 0 =⇒ x(S′)

n = εx(S′)n−1 < 1/2.

Die Mengen in der zweiten Aussage des Lemmas unterscheiden sich nur dadurch,dass in S gilt rn > 0, sn = 0 und in S′ gilt rn = 0, sn > 0. Da alle anderen Indizesin S und S′ gleich sind und die Nebenbedingungen fur die Indizes kleiner n nichtvon xn, rn, sn abhangen, gilt insbesondere

x(S)n−1 = x

(S′)n−1.

Da rn = 0 fur S′ und sn = 0 fur S ist, folgt

x(S′)n = εx

(S′)n−1 = 1 −

(

1 − εx(S′)n−1

)

= 1 −(

1 − εx(S)n−1

)

= 1 − x(S)n .

Lemma 8.9 Die Untermengen von 1, 2, . . . , n seien so geordnet, dass

x(S1)n ≤ x(S2)

n ≤ . . . ≤ x(S2n )n

gilt. Diese Ungleichungen sind scharf, dass heißt es gilt <, und die zulassigen Ba-sislosungen x(Sj) und x(Sj+1) sind benachbart fur j = 1, . . . , 2n − 1, das heißt, sieunterscheiden sich nur in einem Basisvektor.

Beweis: Der Beweis erfolgt durch Induktion uber die Dimension n.Induktionsanfang. n = 1. Man hat zwei Eckpunkte. Aus

x1 − r1 = ε, x1 + s1 = 1

folgt(x1, r1, s1) = (ε, 0, 1− ε) ∨ (1, 1− ε, 0).

Diese Punkte sind naturlich benachbart und die Scharfe der Ungleichung wurde

bereits im letzten Lemma bewiesen (x(S)n > x

(S′)n ).

40

Page 42: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Induktionsannahme. Fur einen n–Wurfel sei alles korrekt. Die entsprechendeNumerierung sei S1, . . . , S2n .

Induktionsschritt. Man betrachtet jetzt 1, 2, . . . , n + 1. Offensichtlich gelten

Sj ⊂ 1, 2, . . . , n + 1 und n + 1 6∈ Sj , j = 1, . . . , 2n. Damit ist r(Sj )n+1 = 0. Aus der

entsprechenden Nebenbedingung folgt

x(Sj)n+1 = εx(Sj)

n .

Nach Induktionsannahme ist

x(S1)n < x(S2)

n < . . . < x(S2n )n ,

woraus nun folgt (Durchmultiplizieren mit ε)

x(S1)n+1 < x

(S2)n+1 < . . . < x

(S2n )n+1 . (8.2)

Die Reihenfolge dieser Untermengen bleibt also erhalten.

Nun betrachten wir die Losungen mit r(Sj )n+1 > 0. Sei S′

j = Sj ∪ n + 1. NachLemma 8.8 ist

x(Sj)n+1 = 1 − x

(S′

j)

n+1 =⇒ x(S′

j)

n+1 = 1 − x(Sj)n+1 j = 1, . . . , 2n, (8.3)

und speziell

x(S′

2n )n+1 > x

(S2n )n+1 . (8.4)

Aus (8.2), (8.3) und (8.4) resultiert

x(S1)n+1 < . . . < x

(S2n )n+1 < x

(S′

2n )n+1 < . . . < x

(S′

1)n+1.

Nun muss noch die Nachbarschaft der Basislosungen bewiesen werden. NachInduktionsannahme, sind x(S1), . . . ,x(S2n ) in n Dimensionen benachbart. In der(n + 1)–sten Dimension, erhalten diese Basislosungen alle noch den Spaltenvek-tor von sn+1. Sie bleiben damit benachbart. Die Basislosungen x(S2n ) und x(S′

2n )

unterscheiden sich nur im Basisvektor von sn+1 beziehungsweise rn+1. Sie sindalso auch benachbart. Die Basislosungen x(S′

2n ), . . . ,x(S′

1) sind benachbart, weilx(S1), . . . ,x(S2n ) benachbart sind.

Satz 8.10 Fur jedes n ≥ 1 existiert ein lineares Programm, bestehend aus 2n Glei-chungen und 3n Variablen, so dass die Simplexmethode 2n − 1 Iterationsschrittebraucht, um das Optimum zu bestimmen.

Die Struktur dieses linearen Programms kann so eingerichtet werden, dass alleKoeffizienten (zum Beispiel) ≤ 4 sind.

Beweis: Der erste Teil des Satzes wird durch das angegebene Beispiel (8.1)bewiesen. In Lemma 8.9 sind die 2n verschiedenen zulassigen Basislosungen strenggeordnet. Die Simplexmethode wird so angewendet, dass mit jeder Transformationnur die jeweils geringste Verbesserung des Zielfunktionswertes erreicht wird. Bei

x(1)n beginnend, sind somit 2n − 1 Transformationen notig.

Fur den zweiten Teil des Satzes wahle man ε = 1/4.

Beispiel 8.11 Wir betrachten das in diesem Abschnitt studierte Problem (8.1) fur

41

Page 43: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

n = 3.

−x3 → min !

1 0 0 −1 0 0 0 0 0−ε 1 0 0 −1 0 0 0 00 −ε 1 0 0 −1 0 0 01 0 0 0 0 0 1 0 0ε 1 0 0 0 0 0 1 00 ε 1 0 0 0 0 0 1

x1

x2

x3

r1

r2

r3

s1

s2

s3

=

ε00111

,

x, r, s ≥ 0.

Die Ecken des Wurfels, des gestorten Wurfels und die Zielfunktionswerte sind wiefolgt

Nr. Wurfel gest. Wurfel z z fur ε = 1/4 Reihenfolge1 (0, 0, 0) (ε, ε2, ε3) −ε3 −0.015625 82 (0, 0, 1)

(ε, ε2, 1 − ε3

)−1 + ε3 −0.984375 1

3 (0, 1, 0)(ε, 1 − ε2, ε − ε3

)−ε + ε3 −0.234375 5

4 (0, 1, 1)(ε, 1− ε3, 1 − ε + ε3

)−1 + ε − ε3 −0.765625 4

5 (1, 0, 0)(1, ε, ε2

)−ε2 −0.0625 7

6 (1, 0, 1)(1, ε, 1− ε2

)−1 + ε2 −0.9375 2

7 (1, 1, 0)(1, 1 − ε, ε − ε2

)−ε + ε2 −0.1875 6

8 (1, 1, 1)(1, 1− ε, 1 − ε + ε2

)−1 + ε − ε2 −0.8125 3

Man beginnt mit der Startlosung

x =

εε2

ε3

=⇒ r =

000

, s =

1 − ε1 − ε2

1 − ε3

.

Das Transformationsprinzip der Simplexmethode wahlt jeweils die kleinste Verbes-serung der Zielfunktion. Die Eckpunkte des gestorten Wurfels werden in folgenderReihenfolge durchgegangen:

1 ⇒ 5 ⇒ 7 ⇒ 3 ⇒ 4 ⇒ 8 ⇒ 6 ⇒ 2.

3

1 5

2

4

6

8

7

2

42

Page 44: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die Zusammenfassung dieses Kapitels ist wie folgt.

Satz 8.12 Die Simplexmethode besitzt als worst case Komplexitat mindestens O =(2n).

Diese tritt aber praktisch nicht auf. In der Praxis hat die Simplexmethode einepolynomiale Komplexitat. Erfahrungsgemaß liegt die Anzahl der Iterationen etwabei 3n. Im Kapitel 12 werden wir noch Verfahren kennenlernen, bei denen manbeweisen kann, dass sie von polynomialer Komplexitat sind, die sogenannten Innere–Punkt–Methoden.

43

Page 45: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 9

Dualitatssatze der linearenOptimierung

Sei

z = cT x → min !

Ax = b (9.1)

x ≥ 0

mit c,x ∈ Rn, b ∈ Rm, A ∈ Rm×n ein lineares Programm.

Definition 9.1 Duales lineares Programm. Das lineare Programm

z = bT y → max ! (9.2)

AT y ≤ c

mit y ∈ Rm wird das zu (9.1) duale lineare Programm genannt. Man nennt (9.1)primal. 2

Die Ziele dieses Abschnitts bestehen darin, die Existenz zulassiger Losungen desdualen linearen Programms, die Relationen der zulassigen Losungen des primalenund dualen linearen Programms, die Relationen zwischen den Optimallosungen unddie Verbesserung der numerischen Verfahren zu untersuchen. Ein duales Analogonzur Simplexmethode soll entwickelt werden.

Satz 9.2 Ist x eine zulassige Losung von (9.1) und ist y eine zulassige Losungvon (9.2), dann gilt z(x) ≥ z(y).

Beweis: Es gelten x ≥ 0 und cT ≥ yT A. Damit folgt

z(x) = cT x ≥ yT Ax = yT b = z(y).

Man nennt diesen Satz auch schwachen Dualitatssatz.

Folgerung 9.3 Sind x0 eine zulassige Losung von (9.1) und y0 eine zulassigeLosung von (9.2) und gilt z(x0) = z(y0), dann ist x0 eine Optimallosung von (9.1)und y0 ist eine Optimallosung von (9.2).

Satz 9.4 Starker Dualitatssatz. Das primale Problem (9.1) besitzt genau danneine endliche Optimallosung, wenn das duale Problem (9.2) eine endliche Opti-mallosung besitzt. In diesem Fall gilt zmin = zmax.

44

Page 46: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: 1.) Es existiere ein endliches Minimum des primalen Problems (9.1)

und dieses Minimum werde von x0 =(

x(0)1 , . . . , x

(0)m , 0, . . . , 0

)T

angenommen. Dann

sind erklart:

- Die zugehorigen Basisvektoren seien a1, . . . , am.- Mit X = (xij)i=1,...,m,j=1,...,n werden die Darstellungskoeffizienten fur alle

Spalten von A bezuglich dieser Basisvektoren bezeichnet.

- z = (z1, . . . , zn)T sei der Vektor, der durch zj =∑m

i=1 cixij , j = 1, . . . , n,erzeugt wird.

- A0 = (a1, . . . , am),

- c0 = (c1, . . . , cm)T .

Wegen des Optimalitatskriteriums der Simplexmethode gilt fur x0

z ≤ c (zk − ck ≤ 0, k = 1, . . . , n). (9.3)

Aus der Nebenbedingung und der Definition der Darstellungskoeffizienten folgt

A0x0 = b, A0X = A.

Daraus ergibt sichx0 = A−1

0 b, X = A−10 A. (9.4)

Weiter erhalten wir aus der Definition von z

cT0 X = zT ≤ cT . (9.5)

Jetzt setzen wir y0 = A−T0 c0 und zeigen, dass y0 eine Optimallosung des dualen

Problems (9.2) ist. Die Zulassigkeit von y0 folgt aus (9.4) und (9.5)

yT0 A = cT

0 A−10 A = cT

0 X ≤ cT .

Die Losung y0 ist optimal wegen

z(y0) = bT y0 = yT0 b = cT

0 A−10 b = cT

0 x0 = z(x0),

wobei (9.4) verwendet wurde. Damit liefert y0 einen Zielfunktionswert, der mit demvon x0 ubereinstimmt. Da x0 Optimum des primalen Problems ist, ist y0 wegenFolgerung 9.3 Optimum des dualen Problems. Insbesondere gilt zmin = zmax.

2) Das Ziel besteht darin, diesen Teil des Beweises auf den ersten Teil zuruck-zufuhren, indem gezeigt wird, dass das duale Problem des dualen Problems (9.2)gerade das primale Problem (9.1) ist. Dazu wird das duale Problem so umgeformt,dass es die Gestalt eines primalen Problems annimmt. Bildet man dann aus dieserForm das duale Problem, erhalt man die Behauptung.

Es existiere ein endliches Maximum zmax des dualen Problems (9.2). Wir setzenfur einen beliebigen Vektor y ∈ Rm, der die Nebenbedingungen von (9.2) erfullt,y = y1 − y2, y1,y2 ∈ Rm, y1,y2 ≥ 0. Aus den Nebenbedingungen von (9.2) erhaltman

AT (y1 − y2) + y3 = c ∈ Rn,

mit den Schlupfvariablenvektor y3 ∈ Rn, y3 ≥ 0. Daraus bilden wir folgendeszu (9.2) aquivalentes Problem, wobei das Vorzeichen der Zielfunktion geandert wird

bT (y2 − y1) → min !

−AT y1 + AT y2 − y3 = −c

y1,y2,y3 ≥ 0.

45

Page 47: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Setzt man

w =

y1

y2

y3

∈ R2m+n, d =

−bb0n

∈ R2m+n,

A =(−AT , AT ,−In

)∈ Rn×(2m+n),

so kann man dieses System in der Form

dT w → min !

Aw = −c (9.6)

w ≥ 0

schreiben.Einerseits ist dieses Problem zum dualen Problem (9.2) aquivalent. Damit besitzt

die Zielfunktion von (9.6) nach Voraussetzung ein endliches Optimum z(w)min, fur

welches gilt z(w)min = zmax.

Andererseits besitzt das Problem (9.6) die gleiche Gestalt wie das primale Pro-blem (9.1). Die duale Aufgabe zu (9.6) hat nun folgende Gestalt: Gesucht ist x ∈ Rn

mit−cT x → max !, AT x ≤ d,

das heißt

cT x → min !

−Ax ≤ −b

Ax ≤ b

−x ≤ 0.

Aus den ersten beiden Nebenbedingungen folgt Ax = b. Damit ist gezeigt, dass (9.1)das duale Problem zu (9.2) ist. Aus dem ersten Teil des Beweises wissen wir, dassdie duale Aufgabe zu (9.6) ein endliches Maximum besitzt und das dieses Maximum

mit z(w)min = zmax ubereinstimmt.

Jetzt wird der Fall betrachtet, dass die Zielfunktion der primalen Aufgabe nachunten nicht beschrankt ist.

Satz 9.5 Ist die Zielfunktion z = cT x der primalen Aufgabe (9.1) auf der Mengeder zulassigen Losungen nach unten unbeschrankt, dann besitzt die zugehorige dualeAufgabe (9.2) keine zulassige Losung. Analog gilt, dass im Falle dass die Zielfunk-tion der dualen Aufgabe auf der Menge der zulassigen Losungen nicht nach obenbeschrankt ist, die primale Aufgabe keine zulassige Losung besitzt.

Beweis: Indirekter Beweis. Sei die Zielfunktion des primalen Problems nichtnach unten beschrankt und sei y eine zulassige Losung des dualen Problems, dasheißt es gilt AT y ≤ cT . Aus Satz 9.2 folgt dann aber z(x) ≥ z(y) fur alle zulassi-gen Losungen x des primalen Problems und die Zielfunktion ware nach unten be-schrankt.

Die zweite Aussage folgt aus der ersten Aussage und daraus, dass das primaleProblem (9.1) das duale Problem des dualen Problems (9.2) ist.

Folgerung 9.6 Eine zulassige Losung x0 des primalen Problems (9.1) ist genaudann optimal, wenn eine zulassige Losung y0 des dualen Problems (9.2) existiert,mit cT x0 = bT y0. Eine analoge Aussage gilt, wenn man vom dualen Problem aus-geht.

46

Page 48: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Satz 9.7 Komplementaritatssatz. Es sei x0 = (x(0)1 , . . . , x

(0)m , 0, . . . , 0)T eine

zulassige Basislosung des primalen Problems (9.1). Dann ist x0 genau dann op-timal, wenn es eine zulassige Losung y des dualen Problems (9.2) mit folgendenEigenschaften gibt:

1) fur alle Indizes i ∈ 1, . . . , m mit x(0)i > 0 gilt aT

i y = ci,

2) fur alle Indizes j ∈ 1, . . . , n mit aTj y < cj gilt x

(0)j = 0.

Beweis: i) Sei x0 optimal. Nach Folgerung 9.6 gibt es dann ein y0 mit cT x0 =bT y0. Einsetzen von Ax0 = b ergibt

cT x0 = xT0 AT y0︸ ︷︷ ︸

∈R

= yT0 Ax0 ⇐⇒

(cT − yT

0 A)x0 = 0.

Komponentenweise lautet diese Gleichung

n∑

j=1

(cj − yT

0 aj

)x

(0)j = 0.

Da y0 eine zulassige Losung des dualen Problems ist und x(0) eine zulassige Losungdes primalen Problems, sind alle Faktoren nichtnegativ. Damit die Summe Nullwird, mussen alle Summanden verschwinden und wenigstens jeweils einer der Fak-

toren Null sein. Ist x(0)j > 0, muss aT

j y0 = cj sein. Ist aTj y < cj , so muss x

(0)j = 0

sein. Die Optimallosung y0 des dualen Problems erfullt also die Bedingungen 1)und 2).

ii) Es gibt einen Vektor y der die Bedingungen 1) und 2) erfullt. Wir nehmenan, x0 sei nicht optimal. Dann gilt cT x0 > bT y. Analog zum ersten Teil erhalt man

n∑

j=1

(cj − yT aj

)x

(0)j > 0.

Aus den Bedinungen 1), 2) folgt jedoch, dass die Summe verschwindet. Damit istdie Annahme falsch und x0 ist optimal.

Bemerkung 9.8 Mit Hilfe der Dualitat ist die Moglichkeit der Bestimmung vonSchranken fur eine zulassige (optimale) Losung gegeben. Es gilt

z(x) ≥ z(x0) = z(y0) ≥ z(y),

wobei x eine zulassige Losung des primalen Problems (9.1), x0 eine Optimallosungvon (9.1), y eine zulassige Losung des dualen Problems (9.2) und y0 eine Opti-mallosung des dualen Problems ist. 2

Ein Spezialfall des dualen linearen Programms ist das symmetrische duale lineareProgramm. Gegeben sei das lineare Programm

z = cT x → min !

Ax ≥ b (9.7)

x ≥ 0.

Aus (9.7) wird ein lineares Programm

z = bT y → max !

AT y ≤ c (9.8)

y ≥ 0.

konstruiert.

47

Page 49: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Satz 9.9 Die linearen Programm (9.7) und (9.8) sind duale lineare Programme imSinne von Definition 9.1.

Beweis: Aus (9.7) konstruieren wir das lineare Programm in Normalform

z = cT x → min !, Ax − v = b, x,v ≥ 0.

Aus Definition 9.1 ergibt sich das folgende duale lineare Programm

z = bT y → max !, AT y ≤ c, −Imy ≤ 0.

Die letzte Bedingung ist aquivalent zu y ≥ 0.Man hat nun eine Nichtnegativitatsbedingung an die zulassigen Losungen des

dualen Programms (9.8).

Satz 9.10 Komplementaritatssatz. Sind x0 eine zulassige Losung von (9.7) undy0 eine zulassige Losung von (9.8), so sind sie genau dann optimal, wenn die fol-genden Relationen erfullt sind:

yT0 (Ax0 − b) = 0, (9.9)

(yT

0 A − cT)x0 = 0. (9.10)

Beweis: 1) Seien x0 und y0 optimal. Dann folgt aus der Nebenbedingungvon (9.8), aus der Nichtnegativitat von x0 und aus Folgerung 9.6

yT0 (Ax0 − b) = yT

0 Ax0 − yT0 b ≤ cT x0 − yT

0 b = 0.

Andererseits gilt mit y0 ≥ 0 und der Nebenbedingung von (9.7)

yT0 (Ax0 − b) ≥ 0.

Aus beiden Ungleichungen zusammen folgt (9.9). Die Beziehung (9.10) beweist mananalog.

2) Gelten jetzt (9.9) und (9.10). Daraus folgt

cT x0 = yT0 Ax0 = yT

0 b.

Nach Folgerung 9.6 sind x0 und y0 optimal.Beispiel fur Anwendungen des Dualitatsprinzips werden in den Ubungsaufgaben

behandelt.

48

Page 50: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 10

Die duale Simplexmethode

Bei der dualen Simplexmethode ist eine Startlosung oftmals leichter angebbar als beider Simplexmethode fur das ursprungliche lineare Programm, da man keine Nichtne-gativitatsanforderungen zu erfullen hat. Des weiteren ist die duale Simplexmethodeein wichtiges Verfahren zur Losung von ganzzahligen linearen Programmen, d.h.,von linearen Programmen, bei denen die Losung ganzzahlig sein soll.

Seien

z = cT x → min !

Ax = b (10.1)

x ≥ 0

das primale Programm und

z = bT y → max ! (10.2)

AT y ≤ c

das zugehorige duale Programm. Wir setzen voraus, dass z endlich ist.

Definition 10.1 Ecklosung. Ohne Beschrankung der Allgemeinheit sei AB =(a1, . . . , am) eine Basis. Ein Punkt y = (y1, . . . , ym)T heißt Ecklosung von (10.2),wenn

aTi y = ci fur i = 1, . . . , m, (10.3)

aTi y < ci fur i = m + 1, . . . , n

gelten. 2

Das heißt, die Nebenbedingungen, die durch die Basisvektoren von AB gegeben sind,sind mit Gleichheit erfullt und die Nebenbedingungen mit den Nichtbasisvektorenals echte Ungleichung.

Seien A−1B die Inverse von AB mit der Darstellung

A−1B =

b1

...bm

, dass heißt biaj = δij , i, j = 1, . . . , m,

und y = y1a1 + . . . + ymam ∈ Rm ein beliebiger Vektor. Dann folgt (man beachte,die bi sind Zeilenvektoren)

biy = y1bia1 + . . . + ymbiam = yi, i = 1, . . . , m.

49

Page 51: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Daraus erhalt man insbesondere die Darstellung

y = (b1y) a1 + . . . + (bmy) am. (10.4)

Die Ausartung in der dualen Simplexmethode, die im folgenden Satz ausge-schlossen ist, wird in seinem Beweis definiert, siehe auch Bemerkung 10.3.

Satz 10.2 Hauptsatz der dualen Simplexmethode. Sei z nach oben beschranktund sei Ausartung ausgeschlossen. Ist y ∈ Rm eine Ecklosung und gilt bib < 0 furwenigstens ein i = 1, . . . , m, so existiert eine Ecklosung y mit großerem Wert derZielfunktion z.

Beweis: Seien y eine Ecklosung, blb < 0 und θ > 0 beliebig. Es wird ein ykonstruiert, welches die Bedingungen des Satzes erfullt.

Man bildety = y − θbT

l .

Aus der Eckpunkteigenschaft (10.3) folgt

aTi y = aT

i y − θ aTi bT

l︸ ︷︷ ︸

=0

= aTi y = ci, i = 1, . . . , m, i 6= l, (10.5)

aTl y = aT

l y − θ aTl bT

l︸ ︷︷ ︸

=1

= aTl y − θ < cl. (10.6)

Damit man eine zulassige Losung hat, muss auch

aTi y = aT

i y − θaTi bT

l ≤ ci, i = m + 1, . . . , n,

gelten. Fur wenigstens einen Index i gilt aTi bT

l < 0. Anderenfalls, falls also aTi bT

l > 0fur i = m+1, . . . , n, sind die Nebenbedingungen fur beliebig großes θ erfullt. Damitware

z = bT y = bT y − θ bT bl︸ ︷︷ ︸

<0 n.V.

unbeschrankt im Widerspruch zur Voraussetzung.Wir wahlen

θ = mini=m+1,...,n;blai<0

(aT

i y − ci

blai

)

. (10.7)

Wir nehmen an, dass θ von genau einem Index i = k bestimmt wird. Sonst hat manAusartung. Es gelten:

1.) y erfullt (10.5) und (10.6), das heißt, die Basisvektoren die in der Basisverbleiben erfullen die Nebenbedingung mit Gleichheit und die neue Nicht-basisvariable mit Index l als echte Ungleichung.

2.) Fur den Index k, der in die Basis aufgenommen werden soll, gilt

aTk y = aT

k y − aTk y − ck

blak

blak = ck,

3.) Aus der Wahl von θ folgt

aTi y = aT

i y − θaTi bT

l < ci, i = m + 1, . . . , n, i 6= k.

Falls aTi bT

l nichtnegativ ist, ist das Erfulltsein dieser Bedingung klar. An-sonsten wurde bei der Wahl von θ gerade der Index k ausgewahlt, der diek–te Nebenbedingung aT

k bTl < 0 fur y zu einer Gleichung werden lasst, ohne

dass die anderen Nebenbedingungen mit aTi bT

l < 0 verletzt werden.

50

Page 52: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Aus 1) – 3) folgt, dass y eine Ecklosung ist. Ferner gilt

z = bT y = bT y − θbT bTl > bT y.

Bemerkung 10.3 Ausartung im dualen Programm. Ist der Index k bei der Wahlvon θ in (10.7) nicht eindeutig, so liegt Ausartung vor. 2

Bemerkung 10.4 Unbeschranktheit der Zielfunktion. Die Unbeschranktheit derZielfunktion z ist an aT

j bTl ≥ 0 fur j = m + 1, . . . , n, zu erkennen. 2

Satz 10.5 Optimalitatskriterium. Sei y eine Ecklosung von (10.2) und gel-te bib ≥ 0 fur alle i = 1, . . . , m. Dann ist y die Optimallosung von (10.2) unddie Großen xi = bib stellen die Basisvariablen der Optimallosung des primalenProblems (10.1) dar.

Beweis: Es gilt mit (10.3)

z =

m∑

i=1

cixi =

m∑

i=1

cibib =

m∑

i=1

yT aibib = yT

(m∑

i=1

aibi

)

︸ ︷︷ ︸

=Im

b = bT y = z.

Nach dem starken Dualitatssatz, Satz 9.4, folgt die Aussage des Satzes.Bemerkung zur Summe: Sei

∑mi=1 aibi = C mit einer unbekannten Matrix C.

Multiplikation diese Gleichung von rechts mit aj , j = 1, . . . , m, ergibt

Caj =

m∑

i=1

ai biaj︸︷︷︸

=δij

= aj

fur alle aj . Da die aj eine Basis des Rm bilden, gilt C = Im.Die duale Simplextabelle hat die Gestalt

m + 1 . . . k . . . ni ci Losung cm+1 . . . ck . . . cn

1 c1 b1b b1am+1 . . . b1ak . . . b1an

......

......

......

......

l cl blb blam+1 . . . blak . . . blan

......

......

......

......

m cm bmb bmam+1 . . . bmak . . . bman

z aTm+1y − cm+1 . . . aT

k y − ck . . . aTny − cn

Wie bei der Simplexmethode, wird die Zeile l Hauptzeile und die Spalte k Haupt-spalte genannt. Das Pivotelement ist blak . Aus den Nebenbedingungen des dualenlinearen Programms (10.2) folgt, dass die Eintrage in der letzten Zeile im Nichtba-sisteil nichtpositiv sind.

Bemerkung 10.6

- In der Schlusszeile stehen die Großen, die man zur Berechnung von θ in (10.7)benotigt.

51

Page 53: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

- Die Spalte Losung enthalt eine Basislosung des primalen Problems. Sei x ∈Rm der Vektor mit den Basisvariablen des primalen Problems. Aus den Ne-benbedingungen des primalen Problems folgt

ABx = b =⇒ x = A−1B b =

b1b...

bmb

.

Diese Basislosung ist im allgemeinen nicht zulassig, da sie negative Kompo-nenten besitzt. Gilt jedoch bib ≥ 0 fur alle i = 1, . . . , m, dann ist sie primaleOptimallosung, siehe Satz 10.5.

- Die Nichtbasisvektoren lassen sich als Linearkombination der Basisvektorendarstellen aj = ABa mit einem unbekannten Koeffizientenvektor a. Dieserlasst sich durch a = A−1

B aj berechnen, was in Komponentenschreibweise zu

aj =

m∑

i=1

(biaj) ai, j = m + 1, . . . , n

fuhrt, siehe (10.4).

- Falls man das Optimum des dualen Problems mit der dualen Simplexmetho-de gefunden hat, ist die Tabelle der dualen Simplexmethode eine Optimal-tabelle fur die primale Aufgabe.

2

Bemerkung 10.7 Herleitung der Transformationsregeln: Sei AB = (a1, . . . , am)und sei AB = (a1, . . . , al−1, ak, al+1, . . . , am). Dann ist

A−1B AB =

b1

...bm

(a1, . . . , al−1, ak, al+1, . . . , am)

=

b1a1 b1a2 · · · b1ak · · · b1am

......

......

......

bla1 bla2 · · · blak · · · blam

......

......

......

bma1 bma2 · · · bmak · · · bmam

=

1 0 · · · 0 b1ak 0 · · · 00 1 · · · 0 b2ak 0 · · · 0...

......

......

......

...0 0 · · · 0 blak 0 · · · 0...

......

......

......

...0 0 · · · 0 bmak 0 · · · 1

=: I(k)m .

Mit

(

AB

)−1

=

b1

...

bm

=⇒ A−1

B = I(k)m

(

AB

)−1

,

52

Page 54: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

oder

b1

...bl

...bm

=

b1 + (b1ak)bk

...

(blak)bk

...

bm + (bmak)bk

.

Damit stehen die Transformationsregeln da. Fur das Pivotelement gilt

bk =bl

blak

=⇒ bkal =blal

blak

=1

blak

.

Fur die Hauptspalte erhalt man daraus

bi = bi − (biak) bk =⇒ bial = bial − (biak)(

bkal

)

= 0 − biak

blak

i 6= l.

Fur die Hauptzeile ergibt sich umittelbar

bkaj =blaj

blak

, j = 0, m + 1, . . . , n, j 6= k.

Damit ergibt sich auch die Rechteckregel

biaj = biaj − biakbkaj = biaj −blaj

blak

biak.

2

Zusammenfassung: Falls in der Spalte Losung wenigstens ein bib < 0 steht, zumBeispiel fur i = l, so transformiert man wie folgt:

- setze a0 = b,

- vertausche die Indizes l und k,- Pivotelement: bkal = 1/(blak),- Hauptspalte:

bial = −biak

blak

, i = 1, . . . , m, i 6= l,

- Hauptzeile:

bkaj =blaj

blak

, j = 0, m + 1, . . . , n, j 6= k,

- Rechteckregel:

biaj = biaj −blaj

blak

biak, i = 1, . . . , m, i 6= l, j = 0, m + 1, . . . , n, j 6= k.

Die Rechteckregel wird auch auf die letzte Zeile angewandt Ubungsaufgabe.

Das sind dieselben Regeln wie im primalen Fall !

Beispiel 10.8 Wir betrachten noch einmal das Problem aus Beispiel 5.2:

z = −3x1 − 2x2 − 4x3 − x4 → min !

2 2 3 0 1 0 01 3 0 2 0 1 01 1 5 2 0 0 1

x1

...x7

=

700400500

x ≥ 0.

53

Page 55: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

In Beispiel 5.2 hatten wir die Optimallosung x = (320, 0, 20, 40, 0, 0, 0)T

mit z =−1080 erhalten. Das duale Problem zum obigen linearen Programm lautet

z = 700y1 + 400y2 + 500y3 → max !

2 1 12 3 13 0 50 2 21 0 00 1 00 0 1

y1

y2

y3

−3−2−4−1000

.

Wir nehmen uns die erste, dritte und funfte Nebenbedingung des dualen Pro-blems her und betrachte diese Bedingungen als Gleichungen:

2 1 13 0 51 0 0

y1

y2

y3

=

−3−40

=⇒ y =

0−11/5−4/5

.

Durch Einsetzen in die anderen Nebenbedingungen verifiziert man, dass man damiteine Ecklosung des dualen Problems gefunden hat. Es ist

AB = (a1, a3, a5) =

2 3 11 0 01 5 0

,

A−1B =

0 1 00 −1/5 1/51 −7/5 −3/5

=

b1

b3

b5

, b =

700400500

.

Damit kann man alle Großen fur die duale Simplextabelle bestimmen:

2 4 6 7i ci Losung -2 -1 0 01 -3 400 3 2 1 03 -4 20 -2/5 0 -1/5 1/55 0 -160 -14/5 -4 -7/5 -3/5

-1280 -27/5 -5 -11/5 -4/5

Die Losung ist nicht optimal, da −160 < 0. Damit ist l = 5 die Hauptzeile. ZurBestimmung der Hauptspalte berechnet man

θ = minj∈2,4,6,7, blaj<0

(

aTj y − cj

blaj

)

= min

27

14,5

4,11

7,4

3

=5

4.

Damit ist die Hauptspalte k = 4. Mit den Transformationsregeln der Simplexme-thode erhalt man die neue duale Simplextabelle

2 5 6 7i ci Losung -2 0 0 01 -3 320 8/5 1/2 3/10 -3/103 -4 20 -2/5 0 -1/5 1/54 -1 40 7/10 -1/4 7/20 3/20

-1080 -19/10 -5/4 -9/20 -1/20

Damit ist das Optimum bestimmt. Die Optimallosung des primalen Problems findetman in der Spalte Losung ebenso den zugehorigen Zielfunktionswert.

54

Page 56: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die Losung des dualen Problems y kann man im allgemeinen nicht direkt ausder dualen Simplextabelle ablesen. In der letzten Zeile steht namlich aT

j y− cj . Dasdirekte Ablesen geht nur, wenn cj = 0 und die aj Einheitsvektoren sind. Das ist indiesem Beispiel gegeben, namlich fur die Indizes 5, 6, 7. Die Losung des dualen Pro-blems ist also y = (−5/4,−9/20,−1/20)T , mit dem Zielfunktionswert z = −1080.Im allgemeinen muss man noch ein lineares Gleichungssystem losen, um die Losungdes dualen Problems zu berechnen. 2

55

Page 57: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 11

Die duale Simplexmethodezur Losung rein ganzzahligerlinearer Programme

Wir betrachten folgendes Optimierungsproblem

z = cT x → min !

Ax = b (11.1)

x ≥ 0 (11.2)

xj ganz fur j = 1, . . . , n1 ≤ n, (11.3)

aij , bi ganz fur i = 1, . . . , m, j = 1, . . . , n. (11.4)

Definition 11.1 Ganzzahliges lineares Programm. Das lineare Programm(11.1) – (11.4) heißt rein ganzzahliges lineares Programm falls n1 = n. Ansonstenheißt es fur n1 > 0 gemischt ganzzahliges lineares Programm. 2

Wir werden nur rein ganzzahlige lineare Programme betrachten.

Bemerkung 11.2 Haufig enthalten ganzzahlige lineare Programme Bedingungender folgenden Art

0 ≤ xj ≤ 1, xj ganz,

fur gewisse Indizes j. 2

Beispiel 11.3 Wir betrachten

z = −8x1 − 4x2 → min !

−2x1 + 3x2 ≤ 6

8x1 + 3x2 ≤ 20

x ≥ 0

x1, x2 ganz.

Das Problem ohne die Ganzheitsforderung kann man graphisch losen, siehe Abbil-dung 11.1.

Das stetige Optimum ist

x =

(7

5,44

15

)

, z = −344

15.

56

Page 58: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

z

2

20

3

5

2

Abbildung 11.1: Illustration zu Beispiel 11.3.

Eine einfache Idee zur Bestimmung des ganzzahligen Optimums ist Runden. Manerhalt damit x = (1, 3)T . Dieser Punkt ist jedoch nicht zulassig. Durch Abrundenfolgt x = (1, 2)T . Man erhalt mit diesem Punkt den Zielfunktionswert z = −16.Dieser ist jedoch nicht optimal, da man mit x = (2, 1)T den Wert z = −20 erhalt.

Runden ist also keine geeignete Losungstechnik. 2

Mit dem normalen Simplexverfahren kann man nicht arbeiten, da das Optimumein innerer Punkt des zulassigen Bereiches ist. Das konnte man durch die Bestim-mung der konvexen Hulle aller zulassigen Punkte andern. Dieses Vorgehen ist aberim allgemeinen viel zu aufwendig. Stattdessen versucht man in der Nahe des ste-tigen Optimums durch Abschneiden den gesuchten ganzzahligen optimalen Punktzu einem Eckpunkt zu machen. Dieses Schnittprinzip soll jetzt auf eine Art (nachGomory (1957)) realisiert werden.

Definition 11.4 Schnittbedingung. Die Nebenbedingung

n∑

j=1

βjxj ≤ β (11.5)

heißt Schnittbedingung, wenn folgendes erfullt ist:

i) Es sei x(0) ein Optimum mit den Nebenbedingungen (11.1) – (11.2), abernicht (11.3). Dann erfullt x(0) die Bedingung (11.5) nicht, das heißt

n∑

j=1

βjx(0)j > β.

ii) Jede Losung, welchedie Nebenbedingungen (11.1) – (11.3) erfullt, erfullt auch(11.5), das heißt

x : x erfullt (11.1) − (11.3) ⊂ x : x erfullt (11.5).

2

Mit Hilfe der Schnittbedingung soll der zulassige Bereich verkleinert werden(eine Ecke wird abgeschnitten) ohne dass damit ganzzahlige Losungen abgeschnittenwerden.

57

Page 59: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Jetzt soll (11.1) – (11.4) durch die Einfuhrung von Schnittbedingungen gelostwerden. Es sei dazu zuerst (11.1) – (11.2) mit Hilfe der Simplexmethode gelost.

Das Optimum sei x(0) = (x(0)1 , . . . , x

(0)m , 0, . . . , 0)T . Dabei sei wenigstens ein x

(0)i ,

i ∈ 1, . . . , m, nicht ganz.Sei AB = (a1, . . . , am) die Matrix der Basisvektoren. Die Auflosung von (11.1)

nach den Basisvariablen liefert fur jedes zulassige x die Darstellung

xi = αi + αi,m+1(−xm+1) + . . . + αi,n(−xn), i = 1, . . . , m. (11.6)

Lemma 11.5 Die Koeffizienten von (11.6) sind die Koeffizienten einer optimalenSimplextabelle.

Beweis: Wir betrachten die Nebenbedingung (11.1) und zerlegen A = (AB |AN )

sowie x = (xB |xN )T. Wir wissen, dass AN = ABX , wobei X die Eintrage der

Simplextabelle sind. AusABxB + ANxN = b

folgtxB = A−1

B b + A−1B AN (−xN ) = A−1

B b︸ ︷︷ ︸

αi

+ X(−xN)︸ ︷︷ ︸

Rest von (11.6)

.

Sei jetzt fur i = p die Variable x(0)p nicht ganz, i ∈ 1, . . . , m. Falls mehrere

x(0)i nicht ganz sind, wahle man einen dieser Indizes. Welches der beste ist, ist im

allgemeinen nicht zu beantworten.Sei a ∈ R. Dann bezeichnen wir

[a] = INT(a), a = a − [a] ,

wobei INT(a) der großte ganzzahlige Bestandteil von a ist. Es gilt a ∈ [0, 1).

Insbesondere gilt

x(0)p

> 0. Da fur das Optimum die Komponenten mit den

Indizes m + 1, . . . , n verschwinden und wegen (11.6) folgt damit

αp = x(0)p =

[

x(0)p

]

︸ ︷︷ ︸

≥0

+

x(0)p

︸ ︷︷ ︸

>0

> 0.

Satz 11.6 Die Bedingung

s1 = −αp − αp,m+1 (−xm+1) − . . . − αp,n (−xn), s1 ≥ 0 (11.7)

stellt eine Schnittbedingung gemaß Definition 11.4 dar.

Beweis: Die Bedingungen von Definition 11.4 mussen gepruft werden. Wirfugen die Bedingung (11.7) zum System der Nebenbedingungen (11.1), (11.2) hinzu

und setzen x(0) ein. Aus (11.6) und wegen x(0)m+1 = . . . = x

(0)n = 0 folgt

s1 = −αp < 0,

also ist x(0) nicht zulassig.Nun ist zu zeigen, dass mit (11.7) kein bezuglich (11.1) – (11.3) zulassiger Punkt

weggeschnitten wird. Sei x = (x1, . . . , xn)T ein Punkt, der (11.1) – (11.3) erfullt.Dann folgt aus (11.7)

s1 = − (αp − [αp])︸ ︷︷ ︸

∈[0,1)

−n∑

j=m+1

(αp,j − [αp,j ])︸ ︷︷ ︸

∈(0,1)

(−xj)︸ ︷︷ ︸

≤0

.

58

Page 60: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Damit ist s1 > −1. Andererseits gilt

s1 = [αp] +

n∑

j=m+1

[αp,j ] (−xj)

︸ ︷︷ ︸

∈Z

−αp −n∑

j=m+1

αp,j (−xj)

︸ ︷︷ ︸

(11.6)=−xp∈Z

.

Damit ist s1 ∈ Z. Da s1 > −1 folgt s1 ≥ 0.Man hat mit der Schnittbedingung (11.7) das Optimum bezuglich der Neben-

bedingungen (11.1), (11.2) abgeschnitten, ohne dabei auch ganzzahlige Losungenwegzuschneiden. Folgendes lineare Programm ist jetzt zu losen:

z = cT x → min !

Ax = bn∑

j=m+1

αp,j (−xj) + s1 = −αp (11.8)

x ≥ 0

s1 ≥ 0.

Zur Losung von (11.8) berechnet man zuerst die optimale Losung des linearen Pro-gramms ohne Ganzzahligkeitsbedingung mit Hilfe der dualen Simplexmethode. Hatman diese, und ist sie nicht ganzzahlig, betrachtet man im nachsten Schritt dieduale Simplextabelle mit

xi = αi, i = 1, . . . , m, s1 = −αp (11.9)

(beachte: in der Simplextabelle des dualen Problems steht xi = bib = αi). DerVektor (11.9) ist eine dual zulassige Losung, das heisst, die Nebenbedingungen desdualen Problems sind erfullt. Ubungsaufgabe Eventuell ist die Einfuhrung weite-rer Schnittbedingungen notig. Das oben beschriebene Vorgehen wird im nachstenBeispiel demonstriert.

Beispiel 11.7 Wir betrachten das lineare Programm

z = −x1 − 2x2 → min !

2 1 1 0 0−1 1 0 1 01 0 0 0 1

x1

...x5

=

1054

x ≥ 0

x ganz.

Die optimale duale Simplextabelle lautet

3 4i ci Losung 0 01 -1 5/3 1/3 -1/3

2 -2 20/3 1/3 2/3

5 0 7/3 -1/3 1/3-15 -1 -1

Die Losung ist optimal, aber nicht ganzzahlig. Heuristisch wahlt man αp moglichstgroß, hier zum Beispiel 20/3 = 2/3. Es besteht allerdings die Gefahr, dass manan der falschen Stelle abschneidet. Nun verwendet man, dass die Tabelle der dualenSimplexmethode eine Optimaltabelle der primalen Aufgabe ist, Bemerkung 10.6.

59

Page 61: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Damit kann man Lemma 11.5 fur die Formulierung der Schnittbedingung nutzen,da die benotigten Koeffizienten αp,j gerade im Nichtbasisteil der ausgewahlten Zeilestehen:

s1 = −2

3− 1

3(−x3) −

2

3(−x4) ≥ 0.

Fuhrt man die Variable s1 als m+1–ste Eckvariable in die duale Simplextabelleein, dann hat man die neue Matrix der Basisvektoren

AB =

(a1 . . . am 00 . . . 0 1

)

=⇒ A−1B =

b1

...bm

em+1

,

wobei em+1 der m+1–ste Einheitsvektor ist. Somit erhalt man in der Spalte Losungfur s1 : em+1b = −αp = −2/3. In den Nichteckspalten der Zeile von s1 erhalt mandie Zahlen −αp,j, siehe (11.8). Man hat die neue duale Simplextabelle

3 4i ci Losung 0 01 -1 5/3 1/3 -1/32 -2 20/3 1/3 2/35 0 7/3 -1/3 1/3

s1 0 -2/3 -1/3 -2/3

-15 -1 -1

Die Hauptzeile ist die Zeile von s1. Aus

θ = minj∈3,4

−1

−1/3,

−1

−2/3

=3

2

folgt, dass k = 4 die Hauptspalte ist. Der Simplexschritt fuhrt zu folgender Tabelle

3 s1

i ci Losung 0 01 -1 2 -1/2 -1/22 -2 6 0 15 0 2 -1/2 1/24 0 1 1/2 -3/2

-14 -1/2 -3/2

Damit hat man die Optimallosung des ganzzahligen linearen Programms gefunden.In der Praxis sind im allgemeinen mehr Schnittbedingungen notig. Die Endlich-

keit des Verfahrens ist nicht gesichert. 2

60

Page 62: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 12

Innere–Punkt–Verfahren

Innere–Punkt–Verfahren verfolgen die Idee, bei der Losung von linearen Program-men durch das Innere des konvexen Polyeders zum Optimum zu gelangen. Damitunterscheiden sie sich grundsatzlich von der Simplexmethode.

Bemerkung 12.1 Historie von Innere–Punkt–Verfahren.

- Dikin 1967: hat bereits die Idee von Karmarkar (1984) umgesetzt, Arbeitwurde aber nicht wahrgenommen.

- Fiacco, McCormick 1968: Innere–Punkt–Verfahren fur nichtlineare Optimie-rungsprobleme, waren aber nicht wettbewerbsfahig im Vergleich zu anderenVerfahren.

- Khachian 1979: Ellipsoidmethode. Polynomiale Komplexitat konnte bewie-sen werden, allerdings war das Verfahren wenig praxistauglich wegen nume-rischen Instabilitaten.

- Karmarkar 1984: projektive Methode, erste praxistaugliche Innere–Punkt–Methode.

2

Die Motivation zur Entwicklung von Alternativen zur Simplexmethode liegt inderen schlechter theoretischer Komplexitat begrundet. Man kann nicht ausschließen,dass die Anzahl der Iterationen exponentiell mit der Problemgroße wachst, sieheAbschnitt 8.2. Das hat im wesentlichen zwei Grunde:

- Die Simplexmethode kennt als Abstiegsrichtungen nur die Kanten auf demRand des zulassigen Bereiches. Deren Anzahl wachst exponentiell mit derDimension des Polyeders.

- Die Simplexmethode sucht die Abstiegsrichtung lokal aus. Fur diese Richtungspielen nur die im aktuellen Eckpunkt aktiven Nebenbedingungen eine Rolle,nicht aber die Gesamtheit der Nebenbedingungen.

Alternativen zur Simplexmethode mussen an diesen beiden Schwachstellen angrei-fen: sie sollten Abstiegsrichtungen durch das Innere des Polyeders zulassen undbei der Bestimmung dieser Richtungen Informationen von allen Nebenbedingungeneinbeziehen.

Die Idee von Khachians Ellipsoidmethode lasst sich grob wie folgt beschreiben:Man startet mit einem zulassigen Punkt x und sucht einen moglichst zentral gelege-nen Punkt x in einem Restpolyeder, welches nur Punkte x mit cT x ≤ cT x enthalt.Diesen Punkt findet man dadurch, dass man mittels einer Iteration das Restpoly-eder moglichst gut in ein Ellipsoid einbettet und dessen Mittelpunkt x betrachtet.Ist x zulassig, setzt man x = x und startet die Konstruktion von Neuem. Die Insta-bilitaten ruherten daher, dass die Ellipsoide im Laufe der Iteration immer schmalerwurden.

61

Page 63: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Das Verfahren von Karmarkar geht andersherum vor: hier wird ein Ellipsoid inden zulassigen Bereich eingebettet. Es funktioniert grob wie folgt: Man startet miteinem inneren Punkt des zulassigen Bereiches x und konstruiert ein im zulassigenBereich einbeschriebenes, moglichst großes Ellipsoid. Dann nimmt man anstelle deszulassigen Bereiches nur das Ellipsoid und minimiert daruber die Zielfunktion. Esergibt sich ein Randpunkt x, an dem das Minimum angenommen wird. Man setztx = x und startet die Konstruktion von Neuem.

Das Verfahren von Karmarkar arbeitet praktisch wesentlich besser als die El-lipsoidmethode von Khachian. Man kann auch beweisen, dass die Komplexitat desVerfahrens von Karmarkar besser ist. Fur sehr große Problem ist dieses Verfahrenoft schneller als die Simplexmethode.

In diesem Kapitel soll jedoch nur eine einfache Innere–Punkt–Methode im Detailbesprochen werden.

12.1 Das Newton–Verfahren

Die betrachtete Innere–Punkt–Methode beruht auf dem Newton–Verfahren. Hierwerden nur kurz einige Fakten zu diesem Verfahren zusammgestellt.

Sei f : Rn → Rn mit f ∈ C3(Rn) gegeben. Gesucht ist eine Nullstelle xdieser Funktion f(x) = 0. Sei x eine Naherung an x. Setzt man x = x + ∆x, dannerhalt man mit der Taylorentwicklung, abgebrochen nach dem linearen Term, dieApproximation

0 = f(x) = f(x + ∆x) ≈ f(x) + Df(x)∆x,

wobei Df(x) die Jacobi–Matrix von f in x ist. Unter der Annahme, dass die Jacobi–Matrix regular ist, erhalt man

∆x ≈ − (Df(x))−1

f(x) =⇒ x ≈ x − (Df(x))−1

f(x).

Diese Beziehung motiviert die Berechnung der nachsten Iterierten x+ des Newton–Verfahrens

x+ := x − (Df(x))−1 f(x).

Zum Konvergenzverhalten des Newton–Verfahrens gibt es folgende bekannteAussage.

Satz 12.2 Seien f : Rn → Rn mit f ∈ C3(Rn), x eine Nullstelle von f und|Df(x)| 6= 0 (Determinante). Dann gibt es ein ε > 0, so dass das Newton–Verfahrenfur alle Startwerte x(0) mit

∥∥x − x(0)

∥∥

2≤ ε quadratisch gegen x konvergiert.

Der Satz besagt zum einen, dass das Newton–Verfahren lokal konvergent ist, dasheißt, es konvergiert, wenn man nahe genug an der Losung beginnt. QuadratischeKonvergenz bedeutet, dass es Konstanten c > 0 und k0 > 0 gibt, so dass

∥∥∥x − x(k+1)

∥∥∥

2≤ c

∥∥∥x − x(k)

∥∥∥

2

2

fur alle k ≥ k0.

12.2 Ein Kurz–Schritt–Algorithmus

Wir betrachten das lineare Programm

minx∈Rn

z = cT x : Ax = b,x ≥ 0

(12.1)

62

Page 64: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

mit dem zugehorigen dualen Programm

maxy∈Rm

z = bT y : AT y + s = c, s ≥ 0

. (12.2)

Im dualen Programm haben wir hierbei die Schlupfvariablen s eingefuhrt, um Glei-chungsnebenbedingungen zu erhalten.

Innere–Punkte–Verfahren erzeugen eine Folgen von Punkten (x(k),y(k), s(k)),k = 0, 1, . . ., mit x(k) ≥ 0, s(k) ≥ 0, deren Grenzwerte Optimallosungen von (12.1)und (12.2) liefern. Die Verfahren nennt man zulassige–Innere–Punkte–Verfahren,wenn alle Punkte (x(k),y(k), s(k)) zulassige innere Punkte von (12.1) und (12.2)sind, das heißt es gilt

Ax(k) = b,x(k) > 0, AT y(k) + s(k) = c, s > 0.

Um zulassige–Innere–Punkte–Verfahren verwenden zu konnen, mussen wir naturlichvoraussetzen, dass die obigen Mengen nicht leer sind. Neben diesen Verfahren gibtes auch unzulassige–Innere–Punkte–Verfahren.

Aus der Nichtnegativitat von x und s folgt

0 ≤ xT s = xT(c − AT y

)= cT x − (Ax)T y = cT x − bT y = z − z.

Von Satz 9.4 (Starker Dualitatssatz) wissen wir, dass fur die Optimallosungenvon (12.1) und (12.2) gilt z = z. Also folgt im Optimum xT s = 0 und wegenNichtnegativitat dieser beiden Vektoren sogar xisi = 0 fur alle i = 1, . . . , n. Zusam-men mit den Nebenbedingungen von (12.1) und (12.2) sind die Optimallosungenvon (12.1) und (12.2) Losungen des nichtlinearen Systems

Ψ0(x,y, s) :=

Ax − bAT y + s − c

Xs

=

000

, x, s ≥ 0, (12.3)

wobei X := diag(x) ∈ Rn×n ist. Die Nichtlinearitat ist in der letzten Gleichung.Die Jacobi–Matrix von Ψ0 ist gegeben durch

DΨ0(x,y, s) =

A 0 00 AT In

S 0 X

∈ R(2n+m)×(2n+m) (12.4)

mit S := diag(s) ∈ Rn×n und In der n–dimensionalen Einheitsmatrix.

Lemma 12.3 Unter den Voraussetzungen rg(A) = m und x > 0, s > 0 ist dieJacobi–Matrix (12.4) regular.

Beweis: Indirekt. Sei (uT ,vT ,wT )T 6= 0 ein Vektor mit

A 0 00 AT In

S 0 X

uvw

=

000

.

Aus der ersten Gleichung folgt Au = 0. Diese Beziehung wird in die umgestelltezweite Gleichung eingesetzt

w = −AT v =⇒ uT w = −uT AT v = − (Au)T

v = 0.

Aus der dritten Gleichung folgt u = −S−1Xw. Die Invertierbarkeit von S folgt auss > 0. Mit der eben bewiesenen Beziehung und der Symmetrie der Diagonalmatrizenergibt sich

0 = uT w = −wT XS−1w.

63

Page 65: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Da x, s > 0, folgt daraus w = 0. Aus der dritten Gleichung folgt damit u = 0. Damitvereinfacht sich die zweite Gleichung zu AT v = 0. Wegen des vollen Spaltenrangsvon AT folgt daraus v = 0. Damit ist der Widerspruch zur Annahme konstruiert.

Auf Grund dieses Satzes liegt es nahe, die Losung des Systems (12.3) mit demNewton–Verfahren zu versuchen. Dabei gibt es allerdings einige Schwierigkeiten:

- Die Regulariat der Jacobi–Matrix ist nur fur innere Punkte (x, s > 0) be-wiesen. Die gesuchte Losung liegt aber nicht im Inneren, da aus der drittenGleichung xisi = 0, i = 1, . . . , n, dass mindestens eine der Variablen xi odersi im Optimum verschwindet.

- Es ist nicht klar, ob die in einem Newton–Schritt berechnete neue Iterierteuberhaupt ein zulassiger Punkt ist. Falls nicht, ist die Regularitat der Jacobi–Matrix nicht gesichert. Außerdem kann es passieren, dass das Newton–Ver-fahren gar nicht konvergiert oder zu einer Losung konvergiert, welche dieNichtnegativitatsbedingung nicht erfullt.

Um doch noch ein Newton–ahnliches Verfahren fur (12.3) nutzen zu konnen,modifiziert man dieses System. Seien en = (1, . . . , 1)T ∈ Rn und sei µ > 0 einParameter. Anstelle von (12.3) betrachtet man nun

Ψµ(x,y, s) :=

Ax − bAT y + s− c

Xs− µe

=

000

, x, s > 0. (12.5)

Die Jacobi–Matrix dieses Systems ist (12.4).Das schwerere Problem, eine Nullstelle von (12.3) zu finden, ersetzt man durch

das einfachere Problem (12.5). Fur festes µ > 0 kann die Losung nur im Inneren deszulassigen Bereichs liegen, da xisi = µ fur alle i. Da die Jacobi–Matrix nach Lem-ma 12.3 dort regular ist, gibt es eine Umgebung der Losung (x(µ)T ,y(µ)T , s(µ)T )T ,in der das Newton–Verfahren ohne Berucksichtigung der Ungleichungen x, s > 0quadratisch konvergiert. In diesem Sinne hat man das Problem (12.3) mit den Nicht-negativitatsbedingungen durch ein System ohne Nebenbedingungen ersetzt.

Da das Optimum von (12.1) auf dem Rand angenommen wird ist zu erwarten,dass die Losung (x(µ)T ,y(µ)T , s(µ)T )T umso weiter vom Rand entfernt liegt, jegroßer µ ist.

• Man beginnt mit einem großen Wert µ0, fur den sich die Losung leicht be-rechnen lasst.

• Dann wird µ sukzessive verkleinert und jedesmal wird die zugehorige Losungbis auf eine gewisse Genauigkeit mit dem Newton–Verfahren approximiert.

Die Punktmenge(x(µ)T ,y(µ)T , s(µ)T )T : µ > 0

wird zentraler Pfad genannt. Fur seine Punkte existiert eine sogenannte Dualitats-lucke:

0 < µn ≤ x(µ)T s(µ) = x(µ)T(c − AT y(µ)

)= cT x(µ) − (Ax(µ))T y(µ)

= cT x(µ) − bT y(µ) = zµ − zµ. (12.6)

Lemma 12.4 Sei die dual zulassige Menge y : AT y ≤ c beschrankt und seidas Innere dieser Menge nichtleer. Dann besitzt das Problem (12.5) fur jedes µ > 0eine eindeutige Losung.

Beweis: Literatur, zum Beispiel [JS04, S 75ff.].Sei (xT ,yT , sT )T die gegenwartige Iterierte zur Losung von (12.5) fur festes

µ > 0. Die Korrektur fur die nachste Iterierte des Newton–Verfahrens berechnet

64

Page 66: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

sich aus der Losung von

A 0 00 AT In

S 0 X

∆x∆y∆s

= −

Ax − bAT y + s− c

Xs− µe

. (12.7)

Nach der Losung dieses Systems folgt, dass die neue Iterierte ((x + ∆x)T , (y +∆y)T , (s + ∆s)T )T die ersten zwei Gleichungen von (12.5) erfullt, da diese linearsind. Ubungsaufgabe Wir konnen annehmen, dass die gegenwartige Iterierte bereitsdurch einen Newton–Schritt berechnet wurde, sie damit ebenfalls diese Eigenschaftbesitzt und sich (12.7) vereinfacht zu

A 0 00 AT In

S 0 X

∆x∆y∆s

= −

00

Xs− µe

=:

00−r

. (12.8)

Der Vektor r wird Residuum genannt. Das Residuum der neuen Newton–Iteriertenist, unter Verwendung der Beziehungen von (12.8),

r = (X + ∆X)(s + ∆s) − µe = Xs + X∆s + S∆x︸ ︷︷ ︸

=−r

+∆X∆s− µe

= Xs− r + ∆X∆s− µe = ∆X∆s. (12.9)

Um den Newton–Schritt analysieren zu konnen, werden einige Bezeichungeneingefuhrt

D :=√

XS−1, q := DX−1r, R := diag(r).

Direktes Nachrechnen oder Einsetzen zeigt, dass man die Losung von (12.8) wiefolgt aufschreiben kann: Ubungsaufgabe

∆y = (AD2AT )−1ADq,

∆x = D2AT ∆y − Dq,

∆s = −D−1q − D−2∆x.

Die MatrixDAT (AD2AT )−1AD

definiert die Orthogonalprojektion auf den Bildraum von DAT . Diese Projektionwird ΠR genannt. Demzufolge ist die Projektion in den Nullraum von DAT gegebendurch ΠN := I − ΠR, wobei I die identische Abbildung ist. Nun kann man zeigen(Ubungsaufgabe), dass

∆x = −DΠNq, ∆s = −D−1ΠRq

gelten. Das sind die beiden Ausdrucke, die wir in (12.9) analysieren mussen.Wir nehmen nun an, dass man fur gegebene x > 0, s > 0 und y ein β ∈ [0, 1/2]

finden kann, fur welches‖r‖2 ≤ βµ (12.10)

gilt. Das heißt, der gegebene Punkt ist in einer gewissen Umgebung des zentralenPfades. Fur β = 0 muss er direkt auf dem zentralen Pfad sein.

Wegen r = Xs− µe gilt

DX−1 =√

XS−1X−2 =√

X−1S−1 =√

(R + µI)−1 =(√

R + µI)−1

.

65

Page 67: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Bei dieser Rechnung und auch bei folgenden Rechnungen wird stark ausgenutzt, dasshier die Matrizen D, R, S und X Diagonalmatrizen sind. Fur Nichtdiagonalmatrizenfunktionieren die Rechnungen nicht mehr. Es folgt

∥∥DX−1

∥∥

2

2=∥∥(R + µI)−1

∥∥

2= max

1≤i≤n

1

|ri + µ| ≤1

µ(1 − β). (12.11)

Hierbei wurde die Definition der Spektralnorm einer Matrix ausgenutzt, sowie dasswir es mit einer Diagonalmatrix zu tun haben. Die letzte Ungleichung folgt aus derDreiecksungleichung und (12.10)

|ri + µ| ≥ µ − |ri| ≥ µ − βµ = µ(1 − β).

Aus der Vertraglichkeit der Euklidischen Vektornorm und der Spektralnorm vonMatrizen sowie (12.10) folgt damit

β := ‖q‖2 =∥∥DX−1r

∥∥

2≤∥∥DX−1

∥∥

2‖r‖2 ≤ β

õ

(1 − β).

Sei θ der Winkel zwischen q und ΠNq. Dann folgt mit der Orthogonalitat derProjektionen

cos(θ) =(q, ΠNq)

‖q‖2 ‖ΠNq‖2

=(ΠRq + ΠNq, ΠNq)

‖q‖2 ‖ΠNq‖2

=‖ΠNq‖2

2

‖q‖2 ‖ΠNq‖2

=‖ΠNq‖2

‖q‖2

.

Es folgen∥∥D−1∆x

∥∥

2= ‖ΠNq‖2 = cos(θ) ‖q‖2 = β cos(θ), (12.12)

‖D∆s‖2 = ‖ΠRq‖2 = ‖(I − ΠN )q‖2 = sin(θ) ‖q‖2 = β sin(θ).

Diese Abschatzungen kann man nun in (12.9) einsetzen. Mit der Cauchy–Schwarz–Ungleichung und β ≤ 1/2 erhalt man

‖r‖2 = ‖∆X∆s‖2 ≤∥∥D−1∆X

∥∥

2‖D∆s‖2 ≤ β2 cos(θ) sin(θ)

=β2

2sin(2θ) ≤ β2

2≤ β2 µ

2(1 − β)≤ β2µ. (12.13)

Wir haben damit erhalten, dass unter der Voraussetzung (12.10) der relative Fehler‖Xs− µe‖2 /µ = ‖r‖2 /µ in jedem Schritt des Newton–Verfahrens quadriert wird.

Aus (12.12) folgt insbesondere∥∥D−1∆x

∥∥

2≤ β und daraus, sowie mit (12.11),

der Definition von β und β ≤ 1/2,

∥∥X−1∆x

∥∥

2=

∥∥X−1DD−1∆x

∥∥

2≤∥∥X−1D

∥∥

2

∥∥D−1∆x

∥∥

2≤ β√

µ(1 − β)

1 − β≤ 1.

Somit ist (∆xi)/xi ≤ 1 woraus

xi − |∆xi| ≥ xi − xi = 0, i = 1, . . . , n

folgt. Eine analoge Abschatzung kann man fur s durchfuhren. Die Nichtnegativitatder neuen Iterierten ist gesichert.

Es gilt sogar die Positivitat. Ubungsaufgabe ab hier. Mit den Abschatzungen(12.13) und (12.9) folgt

‖r‖2 < µ =⇒ ‖∆X∆s‖2 < µ =⇒ |∆xi∆si| < µ

66

Page 68: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

fur alle i = 1, . . . , n. Aus (12.9) erhalt man ebenso

‖r‖2 = ‖(X + ∆X)(s + ∆s) − µe‖2 < µ,

was man abgekurzt und quadriert wie folgt schreiben kann

n∑

i=1

(ai − µ)2 < µ2,

mit ai = (X + ∆X)(s + ∆s). Wir wissen bereits, dass beide Faktoren von ai nicht-negativ sind. Sei fur einen Index, zum Beispiel i = j, einer der Faktoren Null. Dannfolgt

µ2 +

n∑

i=1,i6=j

(ai − µ)2 < µ.

Diese Aussage kann nicht gelten, da alle Summanden der Summe nichtnegativ sind.Also sind alle Faktoren der ai, i = 1, . . . , n, positiv. Das heißt, es gelten x+∆x > 0,s + ∆s > 0 und der Newton–Schritt liefert einen inneren Punkt. Ubungsaufgabe bishier.

Algorithmus 12.5 Kurz–Schritt–Algorithmus. Es seien x(0) > 0, y(0), s(0) >0 und µ(0) so gegeben, dass

Ax(0) = b,

AT y(0) + s(0) = c,

X(0)s(0) − µ(0)e = r(0),∥∥r(0)

∥∥

2

µ(0)≤ 1

2(12.14)

gelten. Es sei des weiteren eine gewunschte Genauigkeit ε > 0 vorgegeben. Setzek = 0.

1. Fuhre einen Newton–Schritt aus, das heißt lose (12.8). Setze x(k+1) = x(k) +∆x, y(k+1) = y(k) + ∆y und s(k+1) = s(k) + ∆s.

2. Verkleinere den Parameter mittels der Vorschrift

µ(k+1) = µ(k)

(

1 − 1

6√

n

)

.

3. Setze k := k + 1.

4. Falls µ(k) ≤ ε/n dann beende das Verfahren, ansonsten gehen zu Schritt 1.

2

Die Bedingung (12.14) bedeutet, dass die Anfangsiterierte des Verfahrens sichrelativ nahe am zentralen Pfad befinden muss. Die Bezeichnung ,,Kurz–Schritt–Algorithmus” hat sich eingeburgert, weil der Parameter µ in jedem Schritt nuretwa um den Faktor 1− 1/

√n verkleinert wird, der fur große n nahe bei Eins liegt.

Wir wollen nun die oben erarbeitete abstrakte Theorie auf den Kurz–Schritt–Algorithmus anwenden.

Lemma 12.6 Der Kurz–Schritt–Algorithmus 12.5 erfullt die Bedingung (12.10)mit β = 1/2.

Beweis: Der Beweis erfolgt induktiv. Wegen der Forderung (12.14) an denStartpunkt, ist der Induktionsanfang gegeben. Gelte nun

∥∥r(k)

∥∥

2≤ µ(k)/2 fur ein

67

Page 69: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

k ≥ 0. Aus (12.8), (12.9) (erste Gleichung) und der Definition des Parameters imAlgorithmus 12.5 folgt

r(k+1) = X(k+1)s(k+1) − µ(k+1)e = r(k) + µ(k)e− µ(k+1)e = r(k) +µ(k)

6√

ne.

Aus (12.13) folgt∥∥r(k)

∥∥

2≤ µ(k)/4. Mit der Dreiecksungleichung, ‖e‖2 =

√n und

dem großtmoglichen Verhaltnis von µ(k) und µ(k+1) (fur n = 1) erhalt man

∥∥∥r(k+1)

∥∥∥

2≤

∥∥∥r(k)

∥∥∥

2+

µ(k)

6√

n‖e‖2 ≤ µ(k)

(1

4+

1

6

)

=5

12µ(k) ≤ 5

12

6

5µ(k+1)

=1

2µ(k+1).

Das ist die Aussage des Lemmas. Die Induktionsvoraussetzung ist bei der Nutzungvon (12.13) implizit verwendet wurden.

In einer Ubungsaufgabe wurde gezeigt, dass die Iterierten bei der Ausfuhrungdes Newton–Schritts strikt zulassig bleiben (x, s > 0). Damit ist der Kurz–Schritt–Algorithmus 12.5 wohldefiniert.

Nun sind wir in der Lage, die polynomiale Komplexitat des Kurz–Schritt-Algo-rithmus zu beweisen.

Satz 12.7 Der Kurz–Schritt–Algorithmus 12.5 halt nach spatestens

6√

n ln

(nµ(0)

ε

)

(12.15)

Iterationen mit Naherungslosungen x > 0, y, s > 0 von (12.1) und (12.2), derenDualitatslucke

cT x − bT y ≤ 2ε

erfullt.

Beweis: Man muss den Abbruchindex und den Abbruchfehler untersuchen. DieAbbruchbedingung in Schritt 4 ist erfullt, wenn

ln µ(k) ≤ lnε

n.

Nach Konstruktion gilt

µ(k) =

(

1 − 1

6√

n

)k

µ(0).

Einsetzen liefert

k ln

(

1 − 1

6√

n

)

+ ln(

µ(0))

≤ lnε

n

oder

−k ln

(

1 − 1

6√

n

)

≥ lnnµ(0)

ε⇐⇒ k ln

(

1 +1

6√

n − 1

)

≥ lnnµ(0)

ε.

Wegen ln x ≤ x − 1 folgt daraus

k

(

1 − 1

6√

n − 1− 1

)

≥ lnnµ(0)

ε⇐⇒ k ≥

(6√

n − 1)ln

nµ(0)

ε.

Daraus folgt die erste Aussage des Satzes.

68

Page 70: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die Abschatzung der Dualitatslucke erfolgt unter Nutzung von (12.6), der drittenGleichung von (12.8), der Cauchy–Schwarz–Ungleichung, (12.10) und der Abbruch-bedingung des Verfahrens

cT x − bT y = xT s = eT (Xs) = eT (µ(k)e + r) ≤ nµ(k) + ‖e‖2 ‖r‖2

= nµ(k) +√

nβµ(k) ≤ 2nµ(k) ≤ 2ε.

Man beachte, dass weder das Abbruchkriterium des Kurz–Schritt–Verfahrensnoch die Dualitatslucke etwas daruber aussagen, wie groß der Abstand zwischender mit dem Kurz–Schritt–Verfahren berechneten numerischen Losung zur Losungdes linearen Programms (12.1) ist.

Bemerkung 12.8 Zur Anzahl der Iterationen des Kurz–Schritt–Verfah-rens. In vielen Anwendungen lasst sich ein Startpunkt zum Algorithmus 12.5 mitnµ(0) ≤ 1010 angeben. Die gewunschte Genauigkeit liegt im allgemeinen bei ε =

10−8 bis ε = 10−15. Fur den letzten Wert ist der Faktor 6 ln(

nµ(0)

ε

)

in (12.15)

ungefahr 345. Die Anzahl der Iterationen hangt im wesentlichen von√

n ab. 2

Bemerkung 12.9 Innere–Punkt–Verfahren in der Praxis. In der Praxis nutztman vor allem unzulassige Innere–Punkt–Verfahren, das heißt, mit Iterierten, dieaußerhalb des zulassigen Bereichs liegen konnen. Die analytische Untersuchung die-ser Verfahren ist jedoch komplizierter. 2

69

Page 71: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Teil II

Nichtlineare Optimierung

70

Page 72: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 1

Einleitung

In diesem Abschnitt wird die Optimierung von Funktionen

minx∈Ω

f(x)

betrachtet, wobei Ω ⊂ Rn eine abgeschlossene Menge und f : Ω → R eine gegebeneFunktion ist. Die Funktion f heißt Zielfunktion und Ω sei durch endlich viele Ne-benbedingungen beschrieben. Bei den betrachteten Problemen konnen sowohl dieZielfunktion als auch die Nebenbedingungen nichtlinear sein.

Beispiel 1.1 Ausgleichsrechnung. Ein konkretes Beispiel fur einen Aufgabe derNichtlinearen Optimierung ist die Ausgleichsrechnung. Zur mathematischen For-mulierung von Gesetzmaßigkeiten, die ein technisches oder physikalisches Phano-men beschreiben, wird haufig eine Hypothese uber den moglichen funktionalen Zu-sammenhang bekannter und beobachteter Variablen formuliert. Diese enthalt imallgemeinen noch freie Parameter und hat etwa die Gestalt

z = g(x, λ), x ∈ Rn, λ ∈ Rp.

In diesem Modell ist λ ein unbekannter Parametervektor mit p Komponenten undz ist eine Variable, deren Abhangigkeit modelliert werden soll.

Nach Auswertung von m Experimenten kennt man m Paare von Variablenwerten(zi,xi), die unter Berucksichtigung moglicher Beobachtungsfehler εi die funktionaleAbhangigkeit annahernd erfullen sollen. Das heißt, bei passenden Parametern mussgelten

zi = g(xi, λ) + εi, i = 1, . . . , m.

Um moglichst kleine Abweichungen εi zu erhalten, versucht man, die unbekanntenParameter λ optimal anzupassen, indem man entsprechende Optimierungsaufgabenlost, zum Beispiel

minλ∈Rp

m∑

i=1

(zi − g(xi, λ))2

(Methode der kleinsten Quadrate) oder

minλ∈Rp

m∑

i=1

ωi |zi − g(xi, λ)|r ,

wobei r ≥ 1 eine ganze Zahl ist und ω ≥ 0. 2

71

Page 73: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beispiel 1.2 Standortplanung. Eine Firma mochte n neue Lager der Kapazitat ai,i = 1, . . . , n, errichten. Gegeben sind die Standorte der Abnehmer (αj , βj) sowieder Bedarf bj , j = 1, . . . , m. In einigen Gebieten darf zudem nicht gebaut werden(εk–Umgebungen von (γk, δk), k = 1, . . . , p).

Gesucht sind die Standorte der Lager (xi, yi), die den Lieferplan z optimieren.Mit den Bezeichnungen

- zij – Transportmenge vom Lager i zum Abnehmer j,- dij – Entfernung Lager i und Abnehmer j,

- ∆ik – Entfernung Lager i zum Mittelpunkt (γk, δk) der Verbotszone k,

lautet die Optimierungsaufgabe wie folgt:

n∑

i=1

m∑

j=1

dijzij → min !

m∑

j=1

zij ≤ ai, i = 1, . . . , n

n∑

i=1

zij = bj , j = 1, . . . , m

∆ik ≥ εk, i = 1, . . . , n, k = 1, . . . , p,

zij ≥ 0, i = 1, . . . , n, j = 1, . . . , m.

Diese Aufgabe kann fur verschiedene Entfernungsmaße gestellt werden, etwa fur

dij = |xi − αj | + |yi − βj |

oder die Euklidische Entfernung

dij =

(xi − αj)2+ (yi − βj)

2.

Wird sowohl fur dij als auch fur ∆ik die Euklidische Entfernung gewahlt, so erhaltman eine Optimierungsaufgabe mit quadratischer Zielfunktion und quadratischenNebenbedingungen. 2

Beispiel 1.3 Quadratische Zielfunktion uber konvexem Polyeder. Wir betrachtenein nichtlineares Programm mit quadratischer Zielfunktion und linearen Nebenbe-dingungen:

z = (x1 − 6)2

+ 2 (x2 − 3)2 → min !

x1 + x2 ≥ 2

x1 − x2 ≥ −2

x1 + x2 ≤ 6

x1 − 3x2 ≤ 2

x ≥ 0.

Durch die Zielfunktion werden konzentrische Ellipsen mit Mittelpunkt (6, 3)T be-schrieben. Die optimale Losung ist ein Punkt auf dem Rand ∂Ω von Ω, aber keinEckpunkt: xopt = (4, 2)T , zopt = 6.

72

Page 74: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

6

(4, 2)

(6, 3)

2

2 6P1

P3

P4

P2

Betrachtet man eine andere Zielfunktion

z = (x1 − 2)2

+ 2 (x2 − 2)2 → min !,

dann ist das Optimum offensichtlich xopt = (2, 2)T , zopt = 0. Damit liegt das Opti-mum im Inneren von Ω.

Eine andere quadratische Zielfunktion ist

z = 2 (x1 − 2)2

+ (x2 − 2)2 → max !

Bei dieser Zielfunktion gibt es eine Ellipse, die gleichzeitig durch P1 und P3 geht.Beide Eckpunkte von Ω sind lokales Maximum mit z = 4. Ein weiteres lokalesMaximum erhalt man in P4 mit z = 8. Das globale Maximum wird jedoch in P2 mitz = 19 angenommen. Ein simplexartiges Vorgehen, wobei man von Eckpunkt zuEckpunkt geht und in jedem Schritt den Zielfunktionswert verbessert (vergroßert),d.h. P1 → P4 oder P3 → P4 fuhrt hier nicht zum Ziel. 2

Beispiel 1.4 Unzusammenhangender zulassiger Bereich. Der zulassige Bereich Ωsei definiert durch

x21 + x2

2 ≥ 4

x1x2 ≤ 1

x ≥ 0.

Der zulassige Bereich besteht aus zwei getrennt liegenden Teilen. Beide sind nichtkonvex. Selbst bei einer linearen Zielfunktion konnen lokale Minima auftreten, diekeine globalen sind.

1

x

1

2

1 2

2

In der Vorlesung werden u.a. folgende Problemklassen innerhalb der nichtlinea-ren Programme nicht betrachtet:

- mehrere Zielfunktionen,- unendlich viele Nebenbedingungen (semi–infinite Programme),- stochastische Daten (stochastische Optimierung).

73

Page 75: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 2

Nichtlineare Optimierungohne Nebenbedingungen

In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Mini-mums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt werden,wobei der zulassige Bereich nicht durch Nebenbedingungen eingeschrankt ist. DieMinimierung glatter Funktionen ohne Nebenbedingungen kann auf die Bestimmungvon Nullstellen zuruckgefuhrt werden. Verfahren zur Losung dieser Aufgabe sindbereits aus der Grundvorlesung Praktische Mathematik bekannt.

2.1 Minimierung nichtglatter Funktionen in einerVariablen

Die Losung nichtlinearer Optimierungsaufgaben in einer Dimension tritt als Teilpro-blem in vielen Verfahren zur Losung nichtlinearer Optimierungsprobleme in hoherenDimensionen auf.

Seien I ⊂ R ein gegebenes abgeschlossenes Intervall und f : I → R eine gegebeneFunktion. Dann sucht man ein x ∈ I , welches

f (x) = minx∈I

f(x) (2.1)

erfullt. Um ein solches Minimum mit Hilfe eines Verfahrens effizient bestimmen zukonnen, mussen einige einschrankende Bedingungen an f gestellt werden. Je nachEigenschaften der Funktion, ist dann ein entsprechendes Verfahren zu wahlen.

Definition 2.1 Unimodale Funktion. Eine Funktion f : I → R heißt unimodal(einwellig), falls fur ein x ∈ I = [a, b] gilt, dass f streng monoton fallend auf [a, x]und streng monoton steigend auf [x, b] ist. 2

bxa

74

Page 76: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Unimodale Funktionen erlauben nach Auswertung der Funktion an zwei Stellenx < y mit a < x < y < b die Reduktion des Intervalls, in der man das Minimum zusuchen hat:

- 1. Fall: f(a) ≤ f(x), dann ist das Minimum in [a, x].- 2. Fall: f(a) > f(x) > f(y). Dann kann das Minimum nicht in [a, x] sein.

- 3. Fall: f(a) > f(x) und f(x) < f(y) und f(y) < f(b). Dann kann dasMinimum nicht in [y, b] sein.

- 4. Fall: f(y) ≥ f(b). Dann ist das Minimum in [y, b].

Alle anderen Falle widersprechen der Definition einer unimodalen Funktion.

Der goldene Schnitt

Wir wollen jetzt durch die rekursive Anwendung dieser Beobachtung einen Algo-rithmus zur Approximation des Punktes konstruieren, an dem das Minimum ange-nommen wird. Dafur stellen wir zunachst einige Forderungen an den Algorithmus:

1.) Im ersten Schritt sollen zwei Funktionswertauswertungen, in allen weiterenSchritten nur eine weitere Funktionswertauswertung im Restintervall verwen-det werden.

2.) Die Punkte x und y sind stets symmetrisch im Restintervall zu wahlen.3.) Der Reduktionsfaktor σ fur die Intervalllange sei konstant, σ ∈ (0.5, 1). Das

heißt, der Quotient der Lange des neuen Intervalls und der Lange des vorhe-rigen Intervalls ist σ = const.

Diese Forderungen besitzen gewisse Ahnlichkeiten zu den Eigenschaften des Bisektions–Verfahrens zur Berechnung von Nullstellen. Auch da wird die Nullstelle in einemIntervall eingeschachtelt, man hat am Anfang zwei Funktionswerte und spater proSchritt einen zu berechnen und der Reduktionsfaktor ist konstant σ = 0.5.

Durch die symmetrische Wahl von x, y im Restintervall wird der Reduktions-faktor unabhangig von der konkreten Funktion f . Verlangt man einen konstantenReduktionsfaktor in allen Iterationen, so ist dieser eindeutig bestimmt.

Um diesen von f unabhangigen Reduktionsfaktor zu bestimmen, genugt es einestreng monoton wachsende Funktion f : [0, 1] → R zu betrachten. Damit ist x = 0.O.B.d.A. sei 0 < x < y < 1. Wegen der verlangten Symmetrie folgt y = σ, x = 1−σ.

Im ersten Schritt wird das Intervall [0, 1] auf das Restintervall [0, y] reduziert. Indiesem Restintervall wird dann ein Punkt z symmetrisch zu x gewahlt. Damit istgesichert, dass im nachsten Schritt der Punkt x einer der neuen Stutzstellen ist, manden Funktionswert f(x) noch einmal verwenden kann und nur den Funktionswertf(z) neu berechnen muss. Je nach Wahl von y gilt z < x oder z ≥ x. Diese Falleentsprechen der Wahl von σ aus unterschiedlichen Intervallen.

1. Fall: σ < 2/3. Dann gilt x = 1 − σ > 1/3 und damit

z = y − x = σ − (1 − σ) < 1/3 < x.

Bei der ersten Gleichung wurde die Symmetrie im Restintervall verwendet. Kon-stante Reduktion bedeutet nun

x

y=

y

1=⇒ 0 = y2 − x = σ2 + σ − 1.

Die Losung dieser quadratischen Gleichung ist

σ =1

2

(√5 − 1

)

≈ 0.618 <2

3.

0 1xz y

75

Page 77: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

2. Fall: σ ≥ 2/3. Wird analog zum ersten Fall behandelt. Man erhalt keineLosung. Ubungsaufgabe

Der gefundene Reduktionsfaktor ist also unter den obigen Annahmen der einzigmogliche und er legt den Algorithmus fest.

Algorithmus 2.2 Goldener Schnitt.

1. Initialisierung.

i := 0; a0 := a; b0 := b;xi := a + (1− σ)(bi − ai); yi := a + σ(bi − ai);fx := f(xi); fy := f(yi);

2. Iteration.

Falls fx < fy, dann

ai+1 := ai; bi+1 := yi;

xi+1 := ai+1 + (1− σ)(bi+1 − ai+1); yi+1 := xi;fy := fx; fx := f(xi+1);

sonst

ai+1 := xi; bi+1 := bi;

xi+1 := yi; yi+1 := bi+1 − (1− σ)(bi+1 − ai+1);fx := fy; fy := f(yi+1);

i := i + 1;

3. Abbruch.

Falls (bi − ai)/2 > ε, dann

gehe zu 2.

sonst

~x := (ai + bi)/2;stop

Man nimmt x als Approximation an x. 2 2

In der Praxis fuhrt man erst den Vergleich fur den Abbruch durch und berechnetdann den neuen Funktionswert. Das spart im letzten Schritt eine Funktionswert-berechnung. Diese Einsparung kann sich akkumulieren, falls man das Verfahren imRahmen eines komplexen Problems oft aufruft.

Algorithmus 2.2 bricht ab, sobald der Funktionswert, fur den das Minimumangenommen wird, in einem Intervall der Lange 2ε eingeschachtelt ist. Da x derMittelpunkt des Intervalls ist, gilt fur den Fehlern |x − x| ≤ ε. Da nach (n + 1)Funktionswertauswertungen die Lange des Restintervalls σn(b− a) ist, kann man nin Abhangigkeit von ε a priori abschatzen.

Die Fibonacci–Suche

Wir wollen jetzt auf die Konstanz der Reduktion der Intervalllange verzichten unduntersuchen, ob es Modifikationen von Algorithmus 2.2 gibt, die bei gleicher Anzahlvon Funktionswertauswertungen ein kleineres Restintervall liefern. Sei Ln die maxi-male Lange eines Intervalls, welches man mittels n Funktionswertauswertungen inLn auf L1 = 1 reduzieren kann. Seien x < y die beiden Stutzstellen in Ln. Durchjede dieser Stutzstellen wird Ln in zwei Teilintervalle zerlegt. Betrachtet man dieStutzstelle x, so enthalt das linke Teilintervall hochstens (n − 2) Stutzstellen desGesamtprozesses (alle außer x und y) und das rechte Teilintervall hochstens (n− 1)der Stutzstellen (alle außer x). Entsprechend sind die Langen dieser Teilintervallehochstens Ln−2 beziehungsweise Ln−1. Damit gilt

Ln ≤ Ln−1 + Ln−2, n = 2, 3, . . . . (2.2)

76

Page 78: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Da mindestens zwei Stutzstellen fur eine Intervallreduktion notig sind, gilt L0 =L1 = 1. Mit der obigen Abschatzung hat man das großtmogliche Intervall Ln, fallseine Losung der Ungleichung (2.2) diese sogar als Gleichung erfullt.

Die Losung der Differenzengleichung

F0 = F1 = 1, Fn = Fn−1 + Fn−2

ist bekannt. Es sind die sogenannten Fibonacci–Zahlen. Die Darstellung dieser Zah-len in geschlossener Form ist

Fi =1√5

(

1 +√

5

2

)i+1

−(

1 −√

5

2

)i+1

.

Fur den Algorithmus der Fibonacci–Suche setzen wir noch F−2 := 1, F−1 := 0.Bei der Fibonacci–Suche wird die geforderte Lange des Intervalls, in dem x

eingeschachtelt werden soll, vorgegeben. Die Iterationspunkte bei einem beliebigenStartintervall [a, b] ergeben sich durch lineare Transformation mit dem Faktor

h =b − a

Fn

. (2.3)

Die Lange des Restintervalls in der Iteration i = 0, 1, . . . , n − 1 ist Fn−ih. Im vor-letzten Restintervall [an−2, bn−2] der Lange 2h fallen die Stutzpunkte zusammen:xn−2 = yn−2 = an−2 + h. Da fur den Punkt x, in dem das Minimum angenommenwird, gilt x ∈ [an−2, bn−2], folgt somit |x − xn−2| ≤ h. Damit ist durch (2.3) beivorgegebenem h auch die Anzahl der Iterationen n gegeben.

Algorithmus 2.3 Fibonacci–Suche.

1. Initialisierung.

gebe h vor, bestimme n, berechne die Fibonacci-Zahlen

F0, . . . , Fn

i := 0; a0 := a; b0 := b; h := (b− a)/Fn;x0 := a0 + Fn−2h; y0 := a0 + Fn−1h;fx := f(x0); fy := f(y0);

2. Iteration.

Falls fx < fy, dann

ai+1 := ai; bi+1 := yi;xi+1 := ai+1 + Fn−i−3h; yi+1 := xi;fy := fx; fx := f(xi+1);

sonst

ai+1 := xi; bi+1 := bi;xi+1 := yi; yi+1 := bi+1 − Fn−i−3h;fx := fy; fy := f(yi+1);

i := i + 1;

3. Abbruch.

Falls i < n− 2, dann

gehe zu 2.

sonst

~x := xi;stop

Man nimmt x als Approximation an x. 2 2

Analog wie beim Goldenen Schnitt kann man in der letzten Iteration eine Funkti-onswertberechnung sparen.

77

Page 79: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beispiel 2.4 Fibonacci–Suche. Wir betrachten die Funktion f(x) = sin(x− 2) auf[a, b] = [0, 2]. Auf diesem Intervall ist die Funktion f unimodal und sie nimmt ihrMinimum in x = 2 − π/2 ≈ 0.4292037 an. Wir wollen die Fibonacci–Suche mitn = 6 durchfuhren. Die Fibonacci–Zahlen F0, . . . , F6 sind 1, 1, 2, 3, 5, 8, 13. Darausfolgt, dass man ein Restintervall der Lange

h =2

13≈ 0.1538462

findet.Die im Verfahren auftretenden Stutzstellen und Intervallgrenzen sind alle von

der Form a+kh mit k ∈ 0, 1, 2, 3, 5, 8, 13. Fur eine Stutzstelle t ∈ [a, b] nennt mandie entsprechende ganze Zahl k(t) := (t − a)/h den Fibonacci–Index von t. BeimStart gilt k(a0) = 0, k(x0) = Fn−2 = F4 = 5 , k(y0) = Fn−1, k(b0) = Fn.

Wahrend der Iteration werden die Funktionswerte f(xi) und f(yi) verglichen.Die Variable mit dem kleinerem Funktionswert bleibt Stutzstelle, die mit dem große-ren Funktionswert wird neue Intervallgrenze. Der Fibonacci–Index der neuen Stutz-stelle ergibt sich wegen der symmetrischen Lage der Stutzstellen im Restintervallaus k(xi+1) − k(ai+1) = k(bi+1) − k(yi+1). Ordnet man alle Werte einer Iterationzeilenweise in einer Tabelle an, so verschieben sich diese Werte beim Ubergang zurnachsten Iteration nach rechts beziehungsweise nach links ab der Position der neuenStutzstelle.

i k(ai) xi k(xi) yi k(yi) k(bi) f(xi) f(yi)0 0 0.7692308 5 1.2307692 8 13 - 0.9427456 - 0.69558281 0 0.4615385 3 0.7692308 5 8 - 0.9994773 - 0.94274562 0 0.3076923 2 0.4615385 3 5 - 0.9926266 - 0.99947733 2 0.4615385 3 0.6153846 4 5 - 0.9994773 - 0.98271834 2 0.4615385 3 0.4615385 3 4 - 0.9994773 - 0.9994773

Mit x4 = 0 + 3h bricht das Verfahren ab und fur das Minimum von f gilt

x ∈ [0.4615385− h, 0.4615385 + h].

2

Vergleich von Goldenem Schnitt und Fibonacci–Suche

Aus1 − σ = σ2 (2.4)

folgt induktiv (mit F−2 = 1, F−1 = 0)

σn = (−1)n (Fn−2 − Fn−1σ) .

Ubungsaufgabe Aus F0 = F1 = 1 und F1 = 1 < 1/σ < 2 = F2 erhalt man

F2 <σ2 + σ

σ2= 1 +

1

σ< F3.

Mit Hilfe von (2.4) folgt F2 < 1/σ2 < F3. Induktiv erhalt man fur n > 1 dieAbschatzung

1

Fn

> σn >1

Fn+1und lim

n→∞

Fn

Fn+1= σ.

Unter der Annahme, dass der rechte Grenzwert existiert, kann man diesen mitHilfe von (2.4) berechnen. Ubungsaufgabe Asymptotisch erhalt man die gleiche In-tervallreduktion und der Goldene Schnitt ist bei gleichem Aufwand demnach von

78

Page 80: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

kaum geringerer Genauigkeit. Auf der anderen Seite muss bei Fibonacci–Suche diegewunschte Genauigkeit a priori festgelegt werden, um n zu bestimmen.

Beide Verfahren reduzieren die Intervalllange linear, dass heißt es gilt

|bi+1 − ai+1||bi − ai|

≤ λ mit λ ∈ (0, 1).

Dabei ist der Reduktionsfaktor λ beim Goldenen Schnitt durch σ gegeben undbei der Fibonacci–Suche durch eine Schranke fur Fn−1/Fn. Soll das n–te Intervallkleiner als ein gegebenes ε sein, so erhalt man aus

ε ≤ λn(b − a) = λn(b0 − a0)

die Abschatzung

n ≥ log

b − a

)

/ log(λ).

2.2 Differenzierbare Funktionen

Sei f : Rn → R mit f ∈ C1(Rn) gegeben. Die notwendige Bedingung fur ein lokalesMinimum im Punkt x ∈ Rn ist

∇f(x) = 0.

Zur Berechnung von moglichen Werten fur x hat man damit ein nichtlineares Glei-chungssystem zu losen. Verfahren zur Losung nichtlinearer Gleichungssysteme wer-den in der Vorlesung Praktische Mathematik behandelt und deshalb soll hier nurdie Namen einiger Verfahren genannt werden:

- Bisektion falls n = 1,- Gradientenverfahren (Verfahren des steilsten Abstiegs),- Fixpunktiteration, wobei die nachfolgenden Verfahren Spezialfalle sind,

- Newton–Verfahren,- vereinfachtes und Quasi–Newton–Verfahren.

79

Page 81: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 3

Konvexitat

3.1 Konvexe Mengen

Der Begriff der konvexen Menge ist bereits aus Definition 1.4, Teil I, bekannt.

Definition 3.1 Konvexer Kegel. Eine Menge Ω ⊂ Rn heißt konvexer Kegel,wenn mit x1,x2 ∈ Ω auch λ1x1 + λ2x2 ∈ Ω fur alle λ1, λ2 ≥ 0. 2

Beispiel 3.2 Fur λ1 = λ2 = 0 folgt, dass insbesondere 0 in einem konvexen Kegelenthalten sein muss.

Nicht jede konvexe Menge ist ein konvexer Kegel, zum Beispiel sind Kreise keinekonvexen Kegel.

Der Winkelraum mit Scheitel 0 ist ein konvexer Kegel. Der Winkelraum mitScheitel 6= 0 ist kein konvexer Kegel.

Sei a ∈ Rn, a 6= 0, α ∈ R und definiere die Hyperebene

H(a, α) =x ∈ Rn : aT x = α

.

Diese Hyperebene ist eine konvexe Menge. Ubungsaufgabe Ist α 6= 0, dann ist 0 6∈H(a, α) und H(a, α) ist kein konvexer Kegel. Im Falle α = 0 ist H(a, α) ein konvexerKegel H(a, α) = a⊥. Ubungsaufgabe

Analog gilt fur Halbraume

H+(a, α) =x ∈ Rn : aT x ≥ α

, H−(a, α) =

x ∈ Rn : aT x ≤ α

,

dass diese fur α = 0 konvexe Kegel sind und sonst nicht.Eine Menge, die durch Hyperebenen berandet ist, die allesamt den Punkt 0 ent-

halten, wird auch polyhedrischer Kegel genannt. Polyhedrische Kegel sind konvexeKegel, insbesondere

Rn+ = x ∈ Rn : x ≥ 0 .

2

Definition 3.3 Trennung von Mengen. Die Hyperebene H(a, α) trennt dienichtleeren Mengen Ω1, Ω2 ⊂ Rn, wenn gilt

aT x ≤ α ∀x ∈ Ω1 und aT x ≥ α ∀x ∈ Ω2.

Falls in beiden Relationen die echten Ungleichungen stehen, dann wird die Trennungstreng genannt. 2

Lemma 3.4 Sei Ω ⊂ Rn nichtleer, abgeschlossen und konvex und gelte 0 6∈ Ω.Dann existiert eine Hyperebene H(a, α) mit α > 0 , so dass aT x > α fur allex ∈ Ω.

80

Page 82: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Wir werden eine konkrete Hyperebene angeben.Seien x1 ∈ Ω und B1 = x ∈ Rn : ‖x‖2 ≤ ‖x1‖2 eine Kugel mit Radius

‖x1‖2 und Mittelpunkt 0. Dann ist Ω ∩ B1 6= ∅ und der Durchschnitt ist kompakt(abgeschlossen und beschrankt). Damit nimmt die stetige Funktion d(x) = ‖x‖2 ihrMinimum uber Ω∩B1 in einem Punkt x0 an (Satz von Bolzano–Weierstrass), dassheißt es gilt

‖x‖2 ≥ ‖x0‖2 ∀ x ∈ Ω ∩ B1. (3.1)

Wegen 0 6∈ Ω ist ‖x0‖2 > 0. Da die Elemente von Ω, die nicht in Ω∩B1 liegen, einegroßere Norm als ‖x1‖2 ≥ ‖x0‖2 besitzen, gilt (3.1) fur alle x ∈ Ω.

Wegen der Konvexitat von Ω ist x0+λ (x − x0) ∈ Ω fur alle x ∈ Ω und λ ∈ (0, 1]und es folgt

‖(1 − λ)x0 + λx‖2 = ‖x0 + λ (x − x0)‖2 ≥ ‖x0‖2 > 0.

Quadratur dieser Ungleichung und Ausschreiben der Skalarprodukte ergibt

2λ (x − x0)T

x0 + λ2 (x − x0)T

(x − x0) ≥ 0.

Division durch λ und dann λ → 0 ergibt

xT x0 ≥ xT0 x0 = ‖x0‖2

2 >‖x0‖2

2

2> 0 ∀ x ∈ Ω.

Die Hyperebene mit a = x0 und α = ‖x0‖22 /2 erfullt nun die Bedingungen des

Lemmas.Eine Folgerung ist der nachfolgende Satz.

Satz 3.5 Erster Trennungssatz. Seien Ω1 6= ∅ abgeschlossen und konvex und Ω2

kompakt und konvex, Ω1, Ω2 ⊂ Rn, mit Ω1∩Ω2 = ∅. Dann existiert eine HyperebeneH(a, α), die Ω1 und Ω2 streng trennt.

Beweis: Seien

−Ω1 = x : x = −y,y ∈ Ω1 ,

Ω2 − Ω1 = x : ∃x1 ∈ Ω1,x2 ∈ Ω2 mit x = x2 − x1 .

Diese Mengen sind konvex und abgeschlossen. Da Ω1 und Ω2 einen leeren Durch-schnitt haben, gilt 0 6∈ Ω2 − Ω1. Nach Lemma 3.4 gibt es eine Hyperebene H(a, α)mit α > 0 und aT (x2 − x1) > α > 0 fur alle x1 ∈ Ω1,x2 ∈ Ω2. Durch Umstellendieser Beziehung erhalt man

infx2∈Ω2

aT x2 ≥ supx1∈Ω1

aT x1 + α > supx1∈Ω1

aT x1.

Jede Hyperebene H(a, β) mit

β ∈(

supx1∈Ω1

aT x1, infx2∈Ω2

aT x2

)

trennt damit Ω1 und Ω2 streng.Ubungsaufgabe: Notwendigkeit der Kompaktheitsvoraussetzung fur strenge Tren-

nung an Beispiel zeigen.

Satz 3.6 Jede abgeschlossene konvexe Menge Ω ⊂ Rn ist der Durchschnitt allerabgeschlossenen Halbraume, die Ω enthalten.

81

Page 83: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Beweisskizze. Bezeichnen wir den Durchschnitt aller abgeschlossenenHalbraume, die Ω enthalten, mit D. Dann ist Ω ⊂ D klar (Durchschnitt beliebigvieler konvexer Mengen ist konvex). Zu zeigen bleibt D ⊂ Ω. Das geschieht in-direkt, wobei der Widerspruch mit einer trennenden Hyperebene hergeleitet wird(sogenannter zweiter Trennungssatz, Details siehe [ERSD77, Abschnitt 2.1.4]).

Der Eckpunkt oder Extrempunkt einer konvexen Menge wurde bereits in Defi-nition 1.10, Teil I, definiert als ein Punkt, fur den es keine echte konvexe Linear-kombination gibt. Dafur, dass x0 ∈ Ω ein Extrempunkt ist, reicht es bereits aus,dass man keine x1,x2 ∈ Ω findet, so dass

x0 =1

2x1 +

1

2x2. x1,x2 6= x0, Ubungsaufgabe

Satz 3.7 Jede nichtleere, kompakte, konvexe Menge Ω ⊂ Rn besitzt mindestenseinen Extrempunkt.

Beweis: Da Ω kompakt ist, gibt es ein x0 ∈ Rn mit ‖x0‖2 ≥ ‖x‖2 fur allex ∈ Ω. Sei

x0 =1

2x1 +

1

2x2 = x1 +

1

2(x2 − x1) = x2 +

1

2(x1 − x2)

fur x1,x2 ∈ Ω, x1,x2 6= x0. Damit folgt

‖x1‖22 ≤ ‖x0‖2

2 = ‖x1‖22 +

1

4‖x2 − x1‖2

2 + (x2 − x1)T x1

︸ ︷︷ ︸

≥0, da ‖x0‖2≥‖x1‖2

.

Das heißt‖x2 − x1‖2

2 ≥ −4 (x2 − x1)T x1

und analog‖x2 − x1‖2

2 ≥ −4 (x1 − x2)T x2 = 4 (x2 − x1)

T x2.

Addition der Ungleichungen ergibt

2 ‖x2 − x1‖22 ≥ 4 (x2 − x1)

T (x2 − x1) = 4 ‖x2 − x1‖22

und damit x2 = x1 = x0. Somit ist x0 ein Extrempunkt.

3.2 Konvexe und konkave Funktionen

Definition 3.8 Konvexe, konkave Funktion. Die Funktion f : Ω ⊂ Rn → R

heißt konvex, wenn fur beliebige x1,x2 ∈ Ω gilt

f ((1 − λ)x1 + λx2) ≤ (1 − λ)f(x1) + λf(x2) ∀ λ ∈ [0, 1].

Sie heißt konkav, wenn

f ((1 − λ)x1 + λx2) ≥ (1 − λ)f(x1) + λf(x2) ∀ λ ∈ [0, 1].

2

Gilt die echte Ungleichung spricht man von strenger Konvexitat (Konkavitat).

Beispiel 3.9 Die lineare Funktion f(x) = cT x mit c ∈ Rn ist konvex und konkavin Rn, jedoch nicht streng. 2

82

Page 84: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beispiel 3.10 Jede uber Rn positiv semidefinite Bilinearform f(x) = xT Ax mitA = AT ∈ Rn×n ist konvex. Sei namlich

x = (1 − λ)x1 + λx2 = x1 + λ(x2 − x1), x1 6= x2 ∈ Rn, λ ∈ [0, 1],

dann gilt

xT Ax = xT1 Ax1 + 2λ(x2 − x1)

T Ax1 + λ2︸︷︷︸

≤λ

(x2 − x1)T A(x2 − x1)

︸ ︷︷ ︸

≥0

≤ xT1 Ax1 + 2λ(x2 − x1)

T Ax1 + λ(x2 − x1)T A(x2 − x1)

= xT1 Ax1 + λ(x2 − x1)

T A (x1 + x2)

= (1 − λ)xT1 Ax1 + λxT

2 Ax2.

Analog zeigt man, dass

- A ist positiv definit, dann ist f(x) streng konvex,- A ist negativ semidefinit, dann ist f(x) konkav,- A ist negativ definit, dann ist f(x) streng konkav.

2

Beispiel 3.11 Sind die Funktionen fj(x), j = 1, . . . , k, uber Ω ∈ Rn konvex, dannist auch die Linearkombination

f(x) =

k∑

j=1

αjfj(x), αj ≥ 0 ∀ j

konvex. 2

Zur Stetigkeit von konvexen Funktionen gibt es folgende Aussage.

Satz 3.12 Seien Ω ⊂ Rn konvex und das Innere der Menge, int(Ω), nichtleer. Dannist jede konvexe Funktion f : Ω → R stetig in int(Ω).

Beweis: Siehe Literatur, zum Beispiel [ERSD77, Satz 2.65]. Man pruft dieε–δ–Definition nach.

Beispiel 3.13 Nichtstetige konvexe Funktion uber konvexer Menge. Stetigkeit bisauf den Rand muss bei einer konvexen Funktion im allgemeinen nicht vorliegen. Diekonvexe Funktion f : [1, 2] → R mit

f(x) =

1/x fur x ∈ [1, 2)2 fur x = 2

ist ein Beispiel. 2

Jetzt werden einige Bedingung dafur gegeben, dass ein Funktion auf einer kon-vexen Menge konvex ist. Zunachst wird eine Monotonieaussage fur den Differenzen-quotienten gegeben.

Lemma 3.14 Seien Ω ⊂ Rn eine offene konvexe Menge, f : Ω → R mit f ∈ C1(Ω)eine konvexe Funktion, x0 ∈ Ω, h ∈ Rn, x0 − νh ∈ Ω und x0 + ρh ∈ Ω fur gewisseν, ρ > 0. Dann gilt

f(x0) − f(x0 − νh)

ν≤ f(x0) − f(x0 − µh)

µ

≤ f(x0 + λh) − f(x0)

λ≤ f(x0 + ρh) − f(x0)

ρ

fur alle µ ∈ (0, ν], λ ∈ (0, ρ].

83

Page 85: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: UbungsaufgabeDamit ist fur konvexe Funktionen der Differenzenquotient im Punkt x0 in Rich-

tung h eine monoton wachsende Funktion von λ.

Satz 3.15 Sei Ω ⊂ Rn eine offene konvexe Menge und f : Ω → R mit f ∈ C1(Ω).Dann ist f auf Ω genau dann konvex, wenn fur alle x0,x1 ∈ Ω mit x0 6= x1 gilt

f(x1) − f(x0) ≥ (x1 − x0)T∇f(x0). (3.2)

Beweis: 1) Notwendigkeit von (3.2). Da f differenzierbar ist, gilt fur die Rich-tungsableitung in Richtung h ∈ Rn mit ‖h‖2 = 1

∂f

∂h(x0) = hT∇f(x0) = lim

λ→0

f(x0 + λh) − f(x0)

λ= − lim

λ→0

f(x0 − λh) − f(x0)

λ,

wobei bei der letzten Gleichung λ durch −λ ersetzt wurde. Nach Lemma 3.14 giltalle ρ > 0 mit x0 + ρh ∈ Ω (nehme λ → 0 in Lemma 3.14 )

f(x0 + ρh) − f(x0)

ρ≥ hT∇f(x0)

oderf(x0 + ρh) ≥ f(x0) + ρhT∇f(x0).

Wahlt man x1 = x0 + ρh, so ergibt sich (3.2).2) Hinlanglichkeit von (3.2). Sei λ0 > 0 beliebig gewahlt, setzte λ1 = 1 − λ0.

Dann gilt fur x2 = λ0x0 + λ1x1 nach Voraussetzung

f(x0) − f(x2) ≥ (x0 − x2)T∇f(x2), f(x1) − f(x2) ≥ (x1 − x2)

T∇f(x2).

Damit folgt

λ0f(x0) + λ1f(x1) ≥ f(x2) +(

λ0(x0 − x2) + λ1(x1 − x2))T

∇f(x2)

= f(x2) +(

λ0x0 + λ1x1 − x2

)T

︸ ︷︷ ︸

=0

∇f(x2)

= f(x2) = f(λ0x0 + λ1x1)

fur alle x0,x1 ∈ Ω.Fur eine zweimal stetig differenzierbare Funktion f : Ω → R, Ω ⊂ Rn, offen, ist

die Hesse–Matrix

Hf (x) :=

(∂2f

∂xi∂xj

)

i,j=1,...,n

(x)

symmetrisch (Satz von Schwarz).Liegt zusammen mit x0,x1 die Strecke [x0,x1] vollstandig in Ω, so gilt fur eine

geeignete Zahl λ ∈ (0, 1) nach dem Satz von Taylor

f(x1) = f(x0)+(x1−x0)T∇f(x0)+

1

2(x1−x0)

T Hf (x0+λ(x1−x0))(x1−x0). (3.3)

Satz 3.16 Seien Ω ⊂ Rn eine offene konvexe Menge und f : Ω → R mit f ∈ C2(Ω).Dann ist f auf Ω genau dann konvex, wenn Hf (x) positiv semidefinit ist fur allex ∈ Ω.

84

Page 86: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: 1.) Sei Hf (x) positiv semidefinit. Dann folgt aus (3.3) fur beliebigex0,x1 ∈ Ω und eine geeignete Zahl λ ∈ (0, 1)

f(x1)−f(x0)− (x1−x0)T∇f(x0) =

1

2(x1−x0)

T Hf (x0 +λ(x1 −x0))(x1 −x0) ≥ 0.

Aus Satz 3.15 folgt, dass f(x) konvex ist.2) Sei f(x) konvex auf Ω. Seien x0 ∈ Ω und h ∈ Rn beliebig gegeben. Da Ω

offen ist, gibt es eine Zahl θ0 > 0 so dass x0 + θh ∈ Ω fur alle θ ∈ (0, θ0]. Wahltman in (3.2) x1 = x0 + θh, erhalt man

f(x0 + θh) − f(x0) − θhT∇f(x0) ≥ 0 ∀ θ ∈ (0, θ0].

Aus (3.3) folgt nun

hT Hf (x0 + λθh)h ≥ 0 ∀ θ ∈ (0, θ0]

mit λ ∈ (0, 1). Da die Hesse–Matrix nach Voraussetzung stetig ist, folgt fur θ → +0

hT Hf (x0)h ≥ 0.

Da x0 ∈ Ω und h ∈ Rn beliebig gewahlt wurden, ist Hf (x) in jedem Punkt x ∈ Ωpositiv semidefinit.

Eine skalare Funktion einer skalaren Veranderlichen f : (a, b) → R mit f ∈C2(a, b) ist konvex, wenn f ′′(x) ≥ 0 in (a, b), zum Beispiel die Funktion f(x) = x2.

Bemerkung 3.17 Es gibt Verallgemeinerungen des Begriffs der konvexen Funkti-on, zum Beispiel quasi–konvex und explizit konvex, siehe Literatur. 2

3.3 Ungleichungen und konvexe Mengen

Satz 3.18 Die Funktion f : Ω ⊂ Rn → R sei konvex, Ω sei konvex und sei b ∈ R.Dann ist

V = x ∈ Ω : f(x) ≤ bkonvex.

Beweis: Zu zeigen ist: x1,x2 ∈ V =⇒ x = (1 − λ)x1 + λx2 ∈ V fur alleλ ∈ [0, 1]. Aus f(x1), f(x2) ≤ b folgt aus der Konvexitat von f

f(x) ≤ (1 − λ)f(x1) + λf(x2) ≤ b.

Damit ist x ∈ V .

Bemerkung 3.19 1.) Die Menge V aus Satz 3.18 heißt Unterhalbmenge von f(x)in Ω zum Wert b.

2.) Die Niveaumenge x ∈ Ω : f(x) = b der konvexen Funktion f(x) ist imallgemeinen nicht konvex. Zum Beispiel besteht die Niveaumenge zu b = 1 derkonvexen Funktion f(x) = x2, x ∈ R, aus den Punkten −1 und 1.

Folgerung 3.20 Sei f : Ω ⊂ Rn → R konkav, sei Ω konvex und sei b ∈ R. Dannist U = x ∈ Ω : f(x) ≥ b konvex.

Beweis: Nutze Satz 3.18 mit −f(x), da diese Funktion konvex ist.

85

Page 87: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

3.4 Extrema von konvexen Funktionen

Es wird die Frage untersucht, unter welchen Bedingungen eine konvexe Funktionihr globales Minimum uber einer gegebenen konvexen Menge Ω annimmt.

Satz 3.21 Sei f : Ω → R eine konvexe Funktion uber einer konvexen Menge Ω.Dann ist ein lokales Minimum von f(x) in Ω zugleich das globale Minimum uber Ω.

Beweis: Indirekt. Nehme f(x) ein lokales Minimum in x0 ∈ Ω an. Sei weiterx∗ ∈ Ω mit f(x∗) < f(x0). Aus der Konvexitat von f(x) folgt

f((1 − λ)x0 + λx∗) ≤ (1 − λ)f(x0) + λf(x∗) = f(x0) + λ (f(x∗) − f(x0)) < f(x0)

fur alle λ ∈ (0, 1), da f(x∗) < f(x0). Aus der Konvexitat von Ω folgt, dass derFunktionswert im Zwischenpunkt wohldefiniert ist. Wahlt man λ < ε so ist derZwischenpunkt beliebig nahe an x0 und die obige Ungleichung steht im Widerspruchdazu, dass f(x) in x0 ein lokales Minimum annimmt.

Beispiel 3.22 Konvexe Funktion uber konvexer Menge ohne Annahme eines loka-len Minimums. Der obige Satz kann nur angewendet werden, wenn es ein lokalesMinimum gibt, das angenommen wird. Das muss nicht der Fall sein. Die konvexeFunktion aus Beispiel 3.13 nimmt ihr Minimum nicht an. 2

Folgerung 3.23 Die Menge Ω0, uber der eine konvexe Funktion f : Ω → R ubereiner konvexen Menge Ω das globale Minimum annimmt, ist konvex.

Beweis: Folgt aus Satz 3.18.

Satz 3.24 Sei f(x) ∈ C1(Ω) uber einer konvexen Menge Ω konvex. Dann nimmtf(x) in jedem x1 ∈ Ω mit ∇f(x1) = 0 sein globales Minimum uber Ω an.

Beweis: Es ist zu zeigen, dass alle Punkte x1 ∈ Ω mit ∇f(x1) = 0 wirklichExtremalpunkte sind und zudem Minima.

Sei x1 ∈ Ω mit ∇f(x1) = 0. Da f(x) konvex ist, gilt

f (λx2 + (1 − λ)x1) ≤ (1 − λ)f(x1) + λf(x2) = f(x1) + λ (f(x2) − f(x1))

fur alle x2 ∈ Ω und λ ∈ [0, 1]. Fur λ ∈ (0, 1] erhalt man daraus

f (x1 + λ(x2 − x1)) − f(x1)

λ≤ f(x2) − f(x1).

Nach dem Mittelwertsatz der Differentialrechnung gibt es ein θ ∈ [0, 1] mit

(x2 − x1)T ∇f (x1 + θλ(x2 − x1)) ≤ f(x2) − f(x1).

Fur λ → 0 folgt nun mit ∇f(x1) = 0

0 = (x2 − x1)T ∇f (x1) ≤ f(x2) − f(x1),

also f(x1) ≤ f(x2) fur alle x2 ∈ Ω.

86

Page 88: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 4

Optimalitatskriterien

Als Optimalitatskriterien bezeichnet man notwendige oder hinreichende Bedingun-gen dafur, dass ein x0 ∈ Ω ⊂ Rn Losung eines Optimierungsproblems ist. DieseKriterien besitzen sowohl unter theoretischen als auch unter numerischen Aspek-ten Bedeutung. In diesem Kapitel werden lokale und globale Optimalitatskriterienhergeleitet.

4.1 Einleitung

Ein Gegenstand dieses Kapitels ist die Verallgemeinerung der Methode der La-grangeschen Multiplikatoren auf Probleme mit Bedingungsungleichungen und be-schrankten Variablen. Es wird der Zusammenhang zwischen der Losung eines Op-timierungsproblems und dem Sattelpunkt eines Lagrangeschen Funktionals herge-stellt.

Wir betrachten zunachst die Lagrangesche Methode fur ein Optimierungspro-blem mit Nebenbedingungen in Gleichungsform

f(x) : x ∈ Ω ⊂ Rn → min !, (4.1)

Ω = x ∈ Rn : hi(x) = 0, i ∈ 1, . . . , p, p < n .

Seien f(x) in Ω und hi(x), i = 1, . . . , p, in Rn differenzierbar. Fur beliebiges festesx ∈ Ω werden die Matrizen

H0(x) := (∇h1(x), . . . ,∇hp(x))T ∈ Rp×n, H(x) :=

(H0(x)∇f(x)T

)

∈ R(p+1)×n

definiert.Fur das Problem (4.1) wird die Lagrange–Funktion

L(x, λ) = λ0f(x) +

p∑

i=1

λihi(x), x ∈ Ω, λ ∈ Rp+1,

eingefuhrt. Die Zahlen λ0, . . . , λp nennt man Lagrangesche Multiplikatoren. Mankann beispielsweise folgendes Optimalitatskriterium fur Problem (4.1) beweisen.

Satz 4.1 Seien x0 ∈ Ω und rg(H0(x0)) = rg(H(x0)). Dann gilt: besitzt f(x) in x0

ein lokales Minimum bezuglich Ω, so existiert ein λ(0) =

(

λ(0)0 , . . . , λ

(0)p

)T

∈ Rp+1,

mit λ(0)0 6= 0 und

∇xL(x0, λ(0)) = λ

(0)0 ∇f(x0) +

p∑

i=1

λ(0)i ∇hi(x0) = 0. (4.2)

87

Page 89: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Verallgemeinerungen dieser Aussage auf den Fall, dass die Matrizen unterschied-lichen Rang besitzen, sind moglich. Mit Hilfe des Gleichungssystems (4.2) hat manein Kriterium zur Bestimmung von Punkten, in denen f(x) ein lokales Minimum an-nehmen kann. Sofern dies moglich ist, berechnet man alle Losungen (x, λ) von (4.2).Im allgemeinen sind jedoch nicht alle Losungen auch lokale Extrempunkte.

Das heißt, man erweitert das gegebene Problem so, dass

- man fur die Losung des erweiterten Problems Standardkriterien, zum Beispieldass Ableitungen verschwinden, fur ein Minimum hat,

- die Losung des erweiterten Problems Ruckschlusse auf die Losung des gege-benen Problems zulasst.

4.2 Lokale Minima fur Optimierungsprobleme oh-

ne Einschrankungen an das zulassige Gebiet

Wir betrachten das Optimierungsproblem

z = minf(x) : x ∈ Ω (4.3)

mit f ∈ C1(Rn) (an sich reicht f ∈ C1(Ω) mit Ω ⊂ Ω, Ω offen). Fur diese Problemsollen im folgenden lokale Optimalitatskriterien hergeleitet werden.

Zunachst werden spezielle konvergente Folgen betrachtet.

Definition 4.2 Konvergent gegen x0 in Richtung y, gerichtet konvergent.Eine konvergente Folge xkk∈N, xk ∈ Rn, mit xk → x0 heißt konvergent gegen x0

in Richtung y ∈ Rn oder gerichtet konvergent, wenn gilt

limk→∞

xk − x0

‖xk − x0‖2

= y, ‖y‖2 = 1.

Die Schreibweise istxk

y−→ x0.

2

Beispiel 4.3 Sei xkk∈N mit

xk =

(1

k,1

k

)T

.

Dann ist x0 = (0, 0)T und es gilt

limk→∞

xk

‖xk‖2

= limk→∞

k√2

(1k1k

)

=1√2

(11

)

= y.

2

Man kann aus jeder gegen x0 konvergenten Folge xkk∈N eine gerichtet kon-vergente Teilfolge auswahlen, sofern unendlich viele Elemente der Folge ungleich x0

sind. Sei xk 6= x0 fur k ≥ k0, dann sind alle Glieder der Folge

yk :=xk − x0

‖xk − x0‖2

, k ≥ k0,

Elemente der kompakten Menge x ∈ Rn : ‖x‖2 = 1. Damit besitzt ykk∈N

einen Haufungspunkt in dieser Menge und man findet in ykk∈N eine konvergenteTeilfolge.

Die Aussage des folgenden Lemmas kann in gewisser Weise als Verallgemeine-rung der Richtungsableitung aufgefasst werden.

88

Page 90: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Lemma 4.4 Die Folge xkk∈N sei konvergent gegen x0 in Richtung y. Dann gilt:

1. Ist f : Rn → R in x0 stetig differenzierbar, so folgt

limk→∞

f(xk) − f(x0)

‖xk − x0‖2

= yT∇f(x0).

2. Ist f : Rn → R in x0 zweimal stetig differenzierbar, so gilt

limk→∞

f(xk) − f(x0) − (xk − x0)T∇f(x0)

‖xk − x0‖22

=1

2yT Hf (x0)y.

Beweis: Es wird nur die erste Aussage bewiesen, der Beweis der zweiten Aus-sage ist analog.

Da f(x) in x0 differenzierbar ist, also insbesondere alle Richtungsableitungenexistieren, folgt unter Nutzung der Definition der Richtungsableitung, dass

limx→x0

(f(x) − f(x0)

‖x − x0‖2

− (x − x0)T

‖x − x0‖2

∇f(x0)

)

= 0.

Außerdem existiert nach Voraussetzung der Grenzwert

limxk→x0

(xk − x0)T

‖xk − x0‖2

∇f(x0) = yT∇f(x0).

Damit folgt

limxk→x0

f(xk) − f(x0)

‖xk − x0‖2

= limxk→x0

(xk − x0)T

‖xk − x0‖2

∇f(x0) = yT∇f(x0).

Definition 4.5 Tangentenkegel. Der Tangentenkegel T (x0) an die Menge Ω imPunkt x0 ∈ Ω ist gegeben durch

T (x0) :=

λy : ‖y‖2 = 1, ∃xkk∈N ∈ Ω, xky−→ x0, λ ≥ 0

.

2

Der Tangentenkegel T (x0) hat nur etwas mit dem zulassigen Gebiet Ω zu tun undnicht mit der zu minimierenden Funktion f(x). Er beschreibt die Richtungen, ausdenen man sich x0 mit einer Folge annahern kann, deren Glieder alle in Ω liegen. DerBegriff des Tangentenkegels ist eine Verallgemeinerung der Tangetialhyperebene.Die Menge T (x0) ist ein Kegel. Fur jeden inneren Punkt x0 ∈ Ω gilt T (x0) = Rn.Fur isolierte Punkte setzen wir T (x0) = 0.

Beispiel 4.6 Sei

Ω = x ∈ R2 : x21 + x2

2 = 1, x1 ≥ 0, 0 < x2 < 2.

Fur den Punkt x0 = (0, 1)T ∈ Ω erhalt man, direkt aus der geometrischen Anschau-ung,

T (x0) =

y ∈ R2 : y = λ

(10

)

, λ ≥ 0

.

Analytisches Nachrechnen: Ubungsaufgabe 2

Lemma 4.7 Fur jeden Punkt x0 ∈ Ω ist der Tangentenkegel T (x0) abgeschlossen.

89

Page 91: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Siehe Literatur.Der folgende Satz gibt ein notwendiges Kriterium fur die Existenz eines lokalen

Minimums von f(x) bezuglich Ω an. Das lokale Minimum kann auch auf dem Randvon Ω liegen. Beachte, dass f(x) nach Voraussetzung auf dem Rand von Ω stetigdifferenzierbar ist.

Satz 4.8 Sei f : Rn → R in x0 ∈ Ω stetig differenzierbar. Besitzt f(x) in x0 einlokales Minimum bezuglich Ω, dann gilt

yT∇f(x0) ≥ 0 ∀ y ∈ T (x0).

Beweis: Sei y ∈ T (x0). Fur y = 0 ist yT∇f(x0) = 0. Ansonsten existieren einλ ∈ R, λ > 0, und ein y∗ ∈ T (x0), ‖y∗‖2 = 1, mit y = λy∗. Ferner sei xkk∈N ⊂ Ω

eine Folge mit xky∗

−→ x0.Da f(x) in x0 ein lokales Minimum bezuglich Ω annimmt, gilt fur hinreichend

große k die Ungleichung f(xk) ≥ f(x0). Daraus folgt unter Beachtung von Lem-ma 4.4, 1)

limk→∞

f(xk) − f(x0)

‖xk − x0‖2

= (y∗)T ∇f(x0) ≥ 0

und damit auch yT∇f(x0) ≥ 0.Aus diesem Satz folgt nicht, dass f(x) in x0 ein lokales Minimum nur annehmen

kann, wenn ∇f(x0) = 0 gilt. Gilt jedoch ∇f(x0) = 0, dann hat man ein zweitesnotwendiges Kriterium.

Satz 4.9 Sei f : Rn → R in x0 ∈ Ω zweimal stetig differenzierbar. Besitzt f(x) inx0 ein lokales Minimum bezuglich Ω und gilt ∇f(x0) = 0, dann folgt

yT Hf (x0)y ≥ 0 ∀ y ∈ T (x0).

Beweis: Der Beweis ist analog zum Beweis von Satz 4.8, wobei jedoch jetztLemma 4.4, 2) verwendet wird. Aus (xk − x0)

T∇f(x0) = 0 und f(xk) ≥ f(x0) furhinreichend große Indizes k folgt dann

limk→∞

f(xk) − f(x0) − (xk − x0)T∇f(x0)

‖xk − x0‖22

=1

2(y∗)T Hf (x0)y

∗ ≥ 0.

Der folgende Satz enthalt eine hinreichende Bedingung fur die Existenz eineseigentlichen lokalen Minimums von f(x) bezuglich Ω.

Satz 4.10 Sei f : Rn → R in x0 ∈ Ω zweimal stetig differenzierbar. Gelten∇f(x0) = 0 und yT Hf (x0)y > 0 fur alle y ∈ T (x0),y 6= 0, dann besitzt f(x)in x0 ein isoliertes lokales Minimum bezuglich Ω.

Beweis: Indirekter Beweis. Wir nehmen an, dass f(x) in x0 kein isoliertes loka-les Minimum bezuglich Ω besitzt. Dann existiert eine Folge xkk∈N ⊂ Ω mit xk →x0, mit unendlich vielen Elementen, die ungleich x0 sind, und f(xk) ≤ f(x0), k ≥ 1.Es existiert eine Teilfolge von xk, die gegen ein y gerichtet konvergent ist. Ohne

Beschrankung der Allgemeinheit kann auch xky−→ x0 angenommen werden. Dann

folgt aus Lemma 4.4

limk→∞

f(xk) − f(x0)

‖xk − x0‖22

=1

2yT Hf (x0)y ≤ 0

mit y ∈ T (x0), im Widerspruch zur Voraussetzung.Fur jeden inneren Punkt x0 ∈ Ω gilt T (x0) = Rn und aus den Aussagen der

Satze 4.8 – 4.10 folgen die bekannten notwendigen und hinreichenden Bedingungenfur die Existenz lokaler Minima einer Funktion f : Rn → R.

90

Page 92: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

4.3 Lokale Minima fur Optimierungsprobleme, bei

denen das zulassige Gebiet durch Ungleichun-gen gegeben ist

In diesem Abschnitt wird das Optimierungsproblem

z = minf(x) : x ∈ Ω mit Ω = x ∈ Rn : g(x) ≤ 0 (4.4)

mit f ∈ C1(Rn) und g : Rn → Rm, g ∈ C1(Rn) untersucht. Unter Verwendungder Resultate aus Abschnitt 4.2 werden nun lokale Optimierungskriterien fur (4.4)hergeleitet. Dazu wird eine lokale Theorie von Lagrange–Multiplikatoren entwickelt.

Definition 4.11 Aktive Nebenbedingung. Eine Nebenbedingung gi(x) ≤ 0, i =1, . . . , m, wird im Punkt x0 ∈ Ω aktiv genannt, wenn gilt gi(x0) = 0. Bezeichnung:

I0 := i ∈ 1, . . . , m : gi(x0) = 0 .

2

Sei I0 6= ∅. Die in x0 aktiven Nebenbedingungen werden nun durch affine Funk-tionen ersetzt

(∇gi(x0))T

(x − x0) , x ∈ Rn, i ∈ I0,

beziehungsweise in Matrixnotation

(∇gI0(x0))T

(x − x0) , ∇gI0(x0) ∈ Rn×|I0|.

Der Gradient einer vektorwertigen Funktion g(x) ist wie folgt definiert:

∇g(x) =

(g1(x))x1 · · · (gm(x))x1

· · · · · · · · ·(g1(x))xn

· · · (gm(x))xn

∈ Rn×m.

Ausgehend von der Anschauung, konnte man die Menge

x : (∇gI0(x0))T (x − x0) ≤ 0, gI\I0(x0) +

(∇gI\I0(x0)

)T(x − x0) ≤ 0

als eine lineare Approximation der Menge Ω im Punkt x0 ansehen. Dies ist jedochin gewissen ausgearteten Punkten nicht zutreffend, siehe Beispiel 4.15

Definition 4.12 Linearisierter Kegel. Die Menge

K(x0) := y ∈ Rn : (∇gI0(x0))T

y ≤ 0

heißt linearisierter Kegel von Ω im Punkt x0 ∈ Ω. Fur I0 = ∅ setzen wir K(x0) = Rn.2

Lemma 4.13 Es gilt T (x0) ⊆ K(x0).

Beweis: Fur I0 = ∅ gilt die Behauptung trivialerweise. Sei also I0 6= ∅. DerNullvektor gehort per Definition zu beiden Mengen. Sei y ∈ T (x0), y 6= 0. Dannexistieren ein y∗ ∈ T (x0), ‖y∗‖2 = 1 und ein λ > 0 mit y = λy∗ und eine Folge

xkk∈N ⊂ Ω mit xky∗

−→ x0. Wegen gi(xk) ≤ 0 fur alle i und gi(x0) = 0 fur allei ∈ I0 hat man

0 ≥ limk→∞

gi(xk) − gi(x0)

‖xk − x0‖2

= ∇gi(x0)T y∗ ∀i ∈ I0,

wobei Lemma 4.4, 1) verwendet wurde. Folglich gilt y ∈ K(x0).

91

Page 93: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Lemma 4.14 Es gilt K0(x0) := y ∈ Rn : (∇gI0(x0))T

y < 0 ⊆ T (x0).

Beweis: Siehe Literatur, zum Beispiel [ERSD77, S. 145].

Beispiel 4.15 Sei

Ω = x ∈ R2 : −x31 + x2 ≤ 0,−x2 ≤ 0,

d.h. die Menge Ω ist begrenzt von der positiven x1–Achse und der Funktion x31.

Damit sind

g(x) =

(−x3

1 + x2

−x2

)

, (∇g(x))T

=

(−3x2

1 10 −1

)

.

Wir betrachten den Punkt x0 = (0, 0)T . In diesem Punkt sind beide Nebenbedin-gungen mit Gleichheit erfullt, also I0 = 1, 2. Es folgt

(∇gI0(x0))T =

(0 10 −1

)

, =⇒ K(x0) =

(y1

0

)

, y1 ∈ R.

Fur den Tangentialkegel gilt T (x0) = y ∈ R2 : y1 ≥ 0, y2 = 0. Es ist alsoT (x0) ( K(x0). Dieses Beispiel zeigt insbesondere, dass man fur den Punkt x0 =(0, 0)T mit K(x0) keine lineare Approximation von Ω erhalt. 2

Beispiel 4.16 Der linearisierte Kegel K(x0) ist im Gegensatz zum TangentenkegelT (x0) von der analytischen Darstellung von Ω abhangig. Die Menge aus Beispiel 4.15kann auch dargestellt werden durch

Ω = x ∈ R2 : −x31 + x2 ≤ 0,−x3

2 ≤ 0

In diesem Fall hat man

g(x) =

(−x3

1 + x2

−x32

)

, (∇g(x))T

=

(−3x2

1 10 −3x2

2

)

und man erhalt fur x0 = (0, 0)T , dass I0 = 1, 2 und

(∇gI0(x0))T

=

(0 10 0

)

, =⇒ K(x0) =

(y1

y2

)

mit y1 ∈ R und y2 ≤ 0. 2

Fur den nachsten Beweis benotigen wir einen Hilfssatz.

Lemma 4.17 Alternativsatz von Gordan. Sei A ∈ Rm×n, dann hat von denbeiden Systemen

Ay < 0

undzT A = 0, z ≥ 0, z 6= 0

genau eines eine Losung.

Beweis: Literatur.Seien die Voraussetzungen von Satz 4.8 erfullt und I0 6= ∅. Dann folgt wegen

K0(x0) ⊆ T (x0)

(∇gI0(x0))T

y < 0 =⇒ yT∇f(x0) ≥ 0 ∀ y ∈ K0(x0).

92

Page 94: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Diese Beziehung ist aquivalent damit, dass das Ungleichungssystem

(∇gI0(x0))T

y < 0, yT∇f(x0) < 0

keine Losung y ∈ K0(x0) besitzt. Nach Lemma 4.17 besitzt dieses System genaudann keine Losung, wenn das System

η∇f(x0) + ∇gI0(x0)zI0 = 0,

zI0

)

≥ 0, η ∈ R+, (4.5)

eine nichttriviale Losung besitzt. Hierbei ist zI0 ein |I0|–dimensionaler Vektor, des-sen Eintrage durch die Indizes der aktiven Nebenbedingungen (unter Beibehaltungder naturlichen Reihenfolge) bestimmt sind. Setzt man zi = 0 fur i 6∈ I0, so kannman (4.5) mit z ∈ Rm wie folgt formulieren:

η∇f(x0) + ∇g(x0)z = 0, g(x0) ≤ 0, zT

︸︷︷︸

=0,i6∈I0

g(x0)︸ ︷︷ ︸

=0,i∈I0

= 0,

(ηz

)

≥ 0,

(ηz

)

6= 0.

Sei I0 = ∅ und hat f(x) in x0 ∈ Ω ein lokales Minimum, das heißt es geltenx0 ∈ int(Ω), z = 0 und ∇f(x0) = 0, dann besitzt dieses System eine Losungη > 0, z = 0.

Wir betrachten jetzt das Problem: Gesucht ist ein Paar (x0, z0)T ∈ Rn ×Rm

+ (≥0), η0 ≥ 0, (η0, z0)

T 6= 0, welches das System

η∇f(x) + ∇g(x)z = 0, g(x) ≤ 0, zT g(x) = 0,

(ηz

)

≥ 0 (4.6)

lost. Mit dem Lagrange–Funktional

Lη(x, z) = ηf(x) + zT g(x)

ergibt sich die aquivalente Formulierung

∇xLη(x, z) = 0, ∇zLη(x, z) ≤ 0, zT∇zLη(x, z) = 0,

(ηz

)

≥ 0. (4.7)

Der Zusammenhang zwischen den Problemen (4.4) und (4.6) ist wie folgt.

Satz 4.18 Seien f : Rn → R, g : Rn → Rm differenzierbar und x0 ∈ Ω Stelleeines lokalen Minimums von f(x) bezuglich Ω. Dann existieren ein z0 ∈ Rm

+ undein η0 ≥ 0, so dass (x0, z0)

T und η0 eine Losung von (4.6) bzw. von (4.7) sind.

Beweis: Literatur, Fritz John (1948).Damit haben wir fur den Fall η0 > 0 ein Optimalitatskriterium gefunden. Ist je-

doch η0 = 0, so kann der Funktionswert von f(x) in (4.6) beliebig sein. Es wird jetzteine Regularitatsbedingung eingefuhrt, die sichert, dass unter den Voraussetzungenvon Satz 4.18 fur jede Losung von (4.6) η0 > 0 gilt.

Regularitatsbedingung. Seien g : Rn → Rm differenzierbar und

K(x0) = T (x0). (4.8)

Bemerkung 4.19

- Fur Optimierungsprobleme mit ausschließlich affinen Nebenbedingungen istdie Regularitatsbedingung stets erfullt.

- Die Regularitatsbedingung stellt eine Bedingung an die analytische Darstel-lung der Menge Ω dar, vergleiche Beispiele 4.15 und 4.16.

93

Page 95: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

- Man kann andere Regularitatsbedingungen formulieren, die die obige Bedin-gung implizieren, aber leichter zu uberprufen sind.

2

Anstelle von (4.6) betrachten wir jetzt das Optimierungsproblem: Finde ein Paar(x0, z0)

T ∈ Rn × Rm+ , welches das Problem

∇f(x) + ∇g(x)z = 0, g(x) ≤ 0, zT g(x) = 0, z ≥ 0 (4.9)

lost. Man bezeichnet (4.9) als lokale Kuhn–Tucker–Bedingung (Kuhn, Tucker (1951)).Unter Verwendung des Lagrange–Funktionals

L(x, z) := f(x) + zT g(x), (x, z)T ∈ Rn × Rm+

erhalt man eine zu (4.9) aquivalente Formulierung

∇xL(x, z) = 0, ∇zL(x, z) ≤ 0, zT∇zL(x, z) = 0, z ≥ 0. (4.10)

Die Optimierungsprobleme (4.9), (4.10) hat man aus (4.6), (4.7) durch die Festset-zung von η = 1 erhalten.

Lemma 4.20 Satz von Farkas. Seien A ∈ Rm×n und b ∈ Rn. Dann hat von denbeiden Systemen

Ax ≤ 0, bT x > 0,

undyT A = bT , y ≥ 0

genau eines eine Losung.

Beweis: Siehe Literatur.

Satz 4.21 Satz von Kuhn/Tucker. Seien f : Rn → R, g : Rn → Rm stetigdifferenzierbar und x0 ∈ Ω Stelle eines lokalen Minimums von f(x) bezuglich Ω. Istin x0 die Regularitatsbedingung (4.8) erfullt, dann existiert ein z0 ∈ Rm

+ , so dass(x0, z0)

T eine Losung von (4.9) bzw. von (4.10) ist.

Beweis: Sei I0 6= ∅. Per Definition des linearisierten Kegels gilt

(∇gI0(x0))T

y ≤ 0 ∀ y ∈ K(x0). (4.11)

Da (4.8) erfullt ist, folgt aus Satz 4.8 fur I0 6= ∅

(∇f(x0))T

y ≥ 0 =⇒ (−∇f(x0))T

y ≤ 0 ∀ y ∈ T (x0) = K(x0). (4.12)

Aus Lemma 4.20 folgt, dass (4.11) und (4.12) genau dann gleichzeitig gelten, wenndas System

∇gI0(x0)zI0 = −∇f(x0), zI0 ≥ 0

eine Losung besitzt. Setzt man zi = 0 fur i 6∈ I0, so folgt die erste Gleichung von (4.9)fur I0 6= ∅. Die Beziehung g(x0) ≤ 0 gilt per Definition des Optimierungsproblems.Aus der Konstruktion von z folgt schließlich zT g(x0) = 0.

Fur I0 = ∅ ist z = 0 eine Losung von (4.9).Im Falle x0 ∈ int(Ω) gilt wegen der Regularitatsbedingung (4.8) T (x0) =

K(x0) = Rn. Aus der Definition von K(x0) folgt dann, dass ∇g(x0) = 0 seinmuss, da die Bedingung aus Satz 4.8 fur jedes y ∈ Rn, insbesondere fur −y geltenmuss. Aus der ersten Gleichung der Kuhn–Tucker–Bedingung (4.9) folgt dann diebekannte notwendige Bedingung fur ein lokales Minimum: ∇f(x0) = 0.

94

Page 96: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Die Gultigkeit der Implikation von (4.11) nach (4.12) kann mit Hilfe eines linea-ren Programms uberpruft werden. Diese Implikation gilt genau dann, wenn 0 deroptimale Wert des Problem

z = zT∇f(x0) → min !

zT∇gI0(x0) ≤ 0

ist.Sind die Zielfunktion und die Nebenbedingungen zweimal differenzierbar, kann

man weitere Kriterien mit Hilfe der Hesse–Matrix formulieren.

4.4 Globale Theorie der Lagrange–Multiplikatoren

Wir betrachten das Optimierungsproblem

z = minf(x) : x ∈ GΩ mit GΩ = x ∈ Rn : g(x) ≤ 0, x ∈ Ω, (4.13)

wobei Ω ⊂ Rn eine nichtleere Menge ist, f : Ω → R, g : Ω → Rm. Bei dieser so-genannten konischen Formulierung der Menge GΩ ist x genau dann zulassig, wennx ∈ Ω und g(x) ≤ 0. Fur Ω = Rn haben wir als Spezialfall das Problem (4.4).Im folgenden werden Optimalitatskriterien in Form von Sattelpunktaussagen for-muliert.

Definition 4.22 Sattelpunkt. Die Funktion L(x, λ) mit x ∈ Ω, λ ∈ Dλ besitztin (x0, λ0) einen lokalen Sattelpunkt, wenn es ein ε > 0 gibt, so dass

L(x0, λ) ≤ L(x0, λ0) ≤ L(x, λ0) ∀ (x, λ) ∈ (Ω × Dλ) ∩ Uε(x0, λ0), (4.14)

wobei Uε(x0, λ0) eine ε–Umgebung von (x0, λ0) ist. Gilt (4.14) fur alle (x, λ) ∈Ω × Dλ, so hat L(x, λ) in (x0, λ0) einen globalen Sattelpunkt. 2

Zur Formulierung von globalen Optimalitatskriterien wird das folgende Sat-telpunktproblem betrachtet: Gesucht sind x0 ∈ Ω und (η0,y0)

T ∈ Rm+1+ mit

(η0,y0)T 6= 0, so dass fur das Lagrange–Funktional

Lη(x,y) := ηf(x) + yT g(x), (x,y)T ∈ Ω × Rm+ , (4.15)

giltLη0(x0,y) ≤ Lη0(x0,y0) ≤ Lη0(x,y0), ∀ (x,y)T ∈ Ω × Rm

+ .

Als nachstes soll ein notwendiges Optimalitatskriterium fur (4.13) bewiesen wer-den. Dazu benotigen wir folgendes Lemma.

Lemma 4.23 Seien Ω ⊆ Rn eine konvexe Menge, f : Ω → R, g : Ω → Rq konvexeFunktionen und h : Ω → Rr affine Funktionen. Das System

f(x) < 0, g(x) ≤ 0, h(x) ≤ 0, x ∈ Ω

besitzt genau dann keine Losung, wenn ein Vektor (u,v,w)T ∈ R+ × Rq+ × Rr

+,(u,v,w)T 6= 0, existiert mit

uf(x) + vT g(x) + wT h(x) ≥ 0, ∀ x ∈ Ω.

Existiert ein x ∈ int(Ω) welches zusatzlich g(x) < 0 erfullt, dann gilt u 6= 0.

Beweis: Siehe Literatur.

95

Page 97: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Satz 4.24 Seien Ω ⊆ Rn eine konvexe Menge, f : Ω → R und g : Ω → Rm konvexeFunktionen. Ist x0 eine Losung von (4.13), so existieren ein η0 ∈ R+ und ein y0 ∈Rm

+ , so dass (x0, η0,y0)T ∈ Ω × Rm+1

+ eine Losung des Sattelpunktproblems (4.15)ist.

Beweis: Sei x0 eine Losung von (4.13). Dann besitzt das System

f(x) − f(x0) < 0, g(x) ≤ 0, x ∈ Ω

keine Losung. Nach Lemma 4.23, mit h(x) ≡ 0, existiert dann ein Vektor (η0,y0)T ∈

Rm+1+ , (η0,y0)

T 6= 0, mit

Lη0(x,y0) = η0f(x) + yT0 g(x) ≥ η0f(x0) ∀ x ∈ Ω.

Wegen g(x0) ≤ 0 folgt fur alle y ≥ 0 damit

Lη0(x,y0) = η0f(x)+yT0 g(x) ≥ η0f(x0)+yT g(x0) = Lη0(x0,y) ∀ (x,y) ∈ Ω×Rm

+ .(4.16)

Setzt man in (4.16) rechts y = y0, ergibt sich

η0f(x) + yT0 g(x) ≥ η0f(x0) + yT

0 g(x0) = Lη0(x0,y0) ∀ x ∈ Ω.

Setzt man in (4.16) links x = x0, erhalt man

η0f(x0) + yT0 g(x0) ≥ η0f(x0) + yT g(x0) ∀ y ∈ Rm

+ .

Aus den letzten beiden Ungleichungen folgt die Behauptung.Die Aussage dieses Satzes hat in gewissem Sinne Ahnlichkeit mit der von Satz

4.18. Fur einen gegebenen zulassigen Bereich ist die notwendige Bedingung (nicht-negative Losung von (4.15)) fur beliebige Werte der Zielfunktion erfullt, falls η0 = 0ist. Analog wie bei den lokalen Lagrange–Multiplikatoren wird deshalb eine Regu-laritatsbedingung eingefuhrt, die η0 > 0 sichert.

Regularitatsbedingung. Seien die Menge Ω ⊆ Rn sowie die Funktionen gi :Ω → R, i ∈ 1, . . . , m =: I , konvex. Es existiere ein x ∈ int(Ω) mit

gi(x) < 0 fur i ∈ IN , gi(x) ≤ 0 fur i ∈ IL. (4.17)

Hierbei ist IL die Menge aller i ∈ 1, . . . , m, fur die gi(x) eine affine Funktion istund IN die Menge aller Indizes, fur die gi(x) keine affine Funktion ist.

Unter dieser Regularitatsbedingung wird das Sattelpunktproblem: Finde einenSattelpunkt (x0,y0) ∈ Ω × Rm

+ des Lagrange–Funktional

L(x,y) := f(x) + yT g(x), (x,y)T ∈ Ω × Rm+ , (4.18)

betrachtet.

Satz 4.25 Seien die Menge Ω ⊆ Rn konvex, die Funktionen f : Ω → R, gi : Ω → R,i ∈ I, konvex und die Regularitatsbedingung (4.17) erfullt. Ist x0 ∈ Ω eine Losungvon (4.13), dann existiert ein y0 ∈ Rm

+ , so dass (x0,y0) ein Sattelpunkt von (4.18)ist.

Beweis: Da x0 eine Losung von (4.13) ist, ist das System

f(x) − f(x0) < 0, g(x) ≤ 0, x ∈ Ω

nicht losbar. Wegen der Regularitatsbedingung (4.17) besitzt jedoch das System

gIN(x) < 0, gIL

(x) ≤ 0, x ∈ int(Ω)

96

Page 98: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

eine Losung. Nach Lemma 4.23 existiert ein (η0,y0)T ∈ Rm+1

+ , η0 6= 0, (das gIN

spielt die Rolle von g aus Lemma 4.23) mit

η0 (f(x) − f(x0)) + yT0 g(x) ≥ 0 ∀ x ∈ Ω.

Bei dieser Darstellung wurden die Vektoren v und w aus Lemma 4.23 zum Vektory zusammengefasst. Man kann so skalieren, dass η0 = 1 gilt. Dann folgt

L(x,y0) = f(x) + yT0 g(x) ≥ f(x0) ∀ x ∈ Ω.

Wegen g(x0) ≤ 0 folgt fur alle y ≥ 0 gilt

L(x0,y) = f(x0) + yT g(x0) ≤ f(x0) ∀ y ∈ Rm+ .

Aus den letzten beiden Beziehungen folgt, indem man x = x0 beziehungsweisey = y0 setzt,

L(x0,y0) = f(x0).

Nach Definition ist (x0,y0)T somit ein Sattelpunkt des Lagrange–Funktionals (4.18).

Nun wird eine hinreichende Bedingung fur eine Losung von (4.13) formuliert.Dabei gilt eine gewisse Umkehrung von Satz 4.25, die ohne weitere Voraussetzungenan (4.13) gilt.

Satz 4.26 Sei (x0,y0)T ∈ Ω × Rm

+ ein Sattelpunkt von (4.18). Dann ist x0 eineLosung von (4.13).

Beweis: Zunachst wird gezeigt, dass x0 die Nebenbedingungen erfullt. AusL(x0,y) ≤ L(x0,y0) fur alle y ∈ Rm

+ folgt

(y − y0)T

g(x0) ≤ 0 ∀ y ∈ Rm+ . (4.19)

Es gilt Rm+ ⊂ y − y0 : y,y0 ∈ Rm

+. Somit gilt

yT g(x0) ≤ 0 ∀ y ∈ Rm+ .

Sei gi(x0) > 0. Dann wurde diese Beziehung nicht fur den i–ten Einheitsvektorgelten, der aber zu Rm

+ gehort. Damit folgt g(x0) ≤ 0.Nun wird gezeigt, dass f(x) in x0 ein globales Minimum annimmt. Aus (4.19)

folgt fur y = 0 die Ungleichung yT0 g(x0) ≥ 0. Da y0 ≥ 0 und g(x0) ≤ 0, kann das

Skalarprodukt nur nichtpositiv sein, also gilt yT0 g(x0) = 0. Mit dieser Beziehung

und L(x0,y0) ≤ L(x,y0) fur alle x ∈ Ω folgt

f(x0) ≤ f(x) + yT0 g(x) ∀ x ∈ Ω

und damit fur alle x ∈ GΩ

f(x0) ≤ f(x) + yT0

︸︷︷︸

≥0

g(x)︸︷︷︸

≤0

≤ f(x).

Bemerkung 4.27 Dualitatstheorie. Auch fur die nichtlineare Optimierung gibtes eine Dualitatstheorie. Die Dualitatstheorie fur lineare Programme ist darin alsSpezialfall enthalten.

Gegeben sei das primale Problem

z = minf(x) : x ∈ GΩ mit GΩ = x ∈ Rn : g(x) ≤ 0, x ∈ Ω, (4.20)

97

Page 99: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

wobei Ω ⊆ Rn eine nichtleere Menge ist und f : Ω → R, g : Ω → Rm Abbildungensind. Dem Problem (4.20) wird unter Verwendung des Lagrange–Funktionals dasduale Problem

z = maxφ(y) : y ∈ Rm+

zugeordnet, wobei

φ(y) : Rm+ → R ∪ −∞, φ(y) = inf

x∈ΩL(x,y) = inf

x∈Ω

(f(x) + yT g(x)

).

Man sieht, dass hier die Nichtnegativitatsbedingung im dualen Problem steckt,anders als wir es bei linearen Programmen hatten. Da wir dort jedoch gezeigt hatten,dass das duale Problem des dualen Problems wieder das primale Problem ist, istdas kein Widerspruch dazu, dass die Theorie fur lineare Programme als Spezialfallenthalten ist.

Man kann wieder schnell zeigen, dass der Maximalwert des dualen Problems,falls er existiert, kleiner oder gleich dem Minimalwert des primalen Problems ist.Gleichheit muss im allgemeinen jedoch nicht gelten. Man spricht dann von einerDualitatslucke. Des weiteren sind die Fragen bezuglich der Losbarkeit der beidenProbleme wesentlich komplizierter zu beantworten als bei linearen Programmen. 2

98

Page 100: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Kapitel 5

Losungsverfahren

Dieses Kapitel gibt einen Uberblick uber Losungsverfahren fur nichtlineare Op-timierungsprobleme. Es wird vor allem auf die wesentlichen Ideen der Verfahreneingegangen und weniger auf Details.

5.1 Projektionsverfahren

Projektionsverfahren sind recht einfache Verfahren, die das Konzept von Abstiegs-verfahren zur Minimierung von Funktionen ohne Nebenbedingungen auf Minimie-rungsprobleme mit konvexen Nebenbedingungen ubertragen. Bei einem Abstiegs-verfahren wird, ausgehend von einer Iterierten x(k), die nachste Iterierte x(k+1) sogewahlt, dass sich der Wert der zu minimierenden Funktion verkleinert. Hat manein Problem mit Nebenbedingungen, so muss man naturlich zusatzlich darauf ach-ten, dass x(k+1) zum zulassigen Bereich gehort. Anderenfalls kann es zum Beispielvorkommen, dass die Zielfunktion gar nicht definiert ist. Projektionsverfahren pro-jizieren die Abstiegsrichtung fur die Zielfunktion in geeigneter Weise in die zulassigeMenge.

Wir betrachten das Optimierungsproblem

z = minf(x) : x ∈ Ω (5.1)

mit f ∈ C1(Rn) und die zulassige Menge Ω sei nichtleer, konvex und abgeschlossen.Von besonderer Bedeutung sind die Probleme, bei denen f(x) quadratisch und

Ω = x ∈ Rn : Ax ≤ b (5.2)

ein Polyeder ist, A ∈ Rm×n, b ∈ Rm. Solche Probleme treten als Teilproblemebei den sogenannten SQP–Verfahren (sequential quadratic programming) auf, wosie wiederholt mit unterschiedlichen Daten A,b, f gelost werden mussen, siehe Ab-schnitt 5.4.

In anderen Anwendungen ist der zulassige Bereich sogar nur ein n–dimensionalerQuader (,,box constraints”):

Ω = ×ni=1[li, ui]. (5.3)

Fur x ∈ Rn sei PΩ(x) die Losung von

infy∈Ω

‖y − x‖2 ,

die Projektion von x auf Ω bezuglich der Euklidischen Norm. Da die Menge Ωnach Voraussetzung abgeschlossen ist, kann man das Infimum durch das Minimumersetzen, also

PΩ(x) = argminy∈Ω

‖y − x‖2 .

99

Page 101: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beispiel 5.1 Falls Ω durch (5.2) gegeben ist, muss man zur Berechnung der Pro-jektion y = PΩ(x) das konvexe quadratische Programm

y = argminy∈Ω

‖y − x‖22 : Ay ≤ b = argmin

y∈ΩyT y − 2yT x : Ay ≤ b

losen. Die Menge Ω ist ein konvexes Polyeder. Die Zielfunktion ‖y − x‖22 ist eine

konvexe Funktion.Ist der zulassige Bereich ein n–dimensionaler Quader (5.3), kann man die Pro-

jektion komponentenweise berechnen:

(y)i =

xi falls xi ∈ [li, ui],ui falls xi > ui,li falls xi < li.

2

Definition 5.2 Stationarer Punkt. Der Punkt x0 wird stationarer Punkt desProblems (5.1) genannt, falls fur alle Punkte des Tangentenkegels y ∈ T (x0) dieUngleichung

yT∇f(x0) ≥ 0

gilt. 2

Ein stationarer Punkt erfullt also die im Satz 4.8 bewiesene notwendige Bedin-gung fur ein lokales Minimum bezuglich Ω.

Algorithmus 5.3 Projektionsverfahren.

1. Initialisierung.

Bestimme x(0) ∈ Ω und wahle drei reelle Parameter 0 < β,µ < 1 und γ > 0.

2. Iteration. k = 0, 1, 2, . . .

Falls x(k) ein stationarer Punkt ist, dann

Stopp

sonst

Betrachte fur α > 0 den Pfad

x(k)(α) := PΩ

(

x(k) + α∇f(

x(k)))

Setze

x(k+1)(α) := x(k)(

α(k))

,

wobei α(k) = γβm(k)

und m(k) die kleinste naturliche

Zahl großer oder gleich Null ist mit

f(

x(k+1))

≤ f(

x(k))

+ µ∇f(

x(k))T (

x(k+1) − x(k))

(Armijo–Liniensuche)

2

Bemerkung 5.4 Armijo–Liniensuche. Seien f(x) eine zu minimierende Funk-tion, x(k) die gegenwartige Iterierte, s(k) eine irgendwie berechnete Abstiegsrich-tung, µ ∈ (0, 1) und γ > 0 eine Konstante. Im Falle, dass man keine Nebenbe-dingungen hat, wahlt man λ(0) ≥ γ

∥∥∇f(x(k))

∥∥

2und bestimme unter den Zahlen

λ(j) = 2−jλ(0), β = 1/2, die erste, fur die

f(

x(k) + λ(j)s(k))

≤ f(

x(k))

+ µλ(j)∇f(

x(k))T

s(k)

100

Page 102: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

gilt. Die Motivation fur diese Herangehensweise kommt von der nach dem linearenGlied abgebrochenen Taylor–Entwicklung

f(

x(k) + λ(j)s(k))

≈ f(

x(k))

+ λ(j)∇f(

x(k))T

s(k).

Ist s(k) eine Abstiegsrichtung, dann findet man in dieser Richtung einen Funktions-wert von f(x), der kleiner als der Funktionswert f

(x(k)

)ist, falls λ(j) nur hinrei-

chend klein ist. Man fangt mit irgendeinem hinreichend großen λ(0) an. Dieses hangtvon

∥∥∇f

(x(k)

)∥∥

2ab. Ist

∥∥∇f

(x(k)

)∥∥

2klein, kann man vermuten in der Nahe eines

Minimums zu sein (besitzt f(x) in x(k) ein Minimum, so ist ∇f(x(k)

)= 0) und

man braucht vielleicht nur einen kleinen Schritt. Man testet ob der Funktionswertsich verkleinert. Ist das nicht der Fall, wird der Parameter λ(j) sukzessive halbiert,bis er klein genug ist. 2

Im Algorithmus 5.3 hat man einen gekrummten Pfad x(k)(α). Fur jedes α hatman im allgemeinen ein konvexes, quadratisches Minimierungsproblem uber Ω zulosen. Das ist recht teuer.

Falls Ω ein Polyeder ist, kann man eine Startiterierte x(0) mittels eines linearenProgramms bestimmen.

Da der Algorithmus 5.3 im wesentlichen ein Gradientenverfahren ist, kann manim allgemeinen nur langsame Konvergenz erwarten. Außerdem ist die Berechnungvon PΩ

(x(k) + α∇f

(x(k)

))fur allgemeine Polyeder aufwendig. Wir betrachten jetzt

noch eine Variante von Algorithmus 5.3, die zusatzlich leichter berechenbare Zwi-schenwerte x(k) ∈ Ω berechnet, bei denen der Funktionswert zumindest nicht an-steigt.

Algorithmus 5.5 Modifiziertes Projektionsverfahren.

1. Initialisierung.

Bestimme x(0) ∈ Ω und wahle Parameter falls notig.

2. Iteration. k = 0, 1, 2, . . .

Bestimme x(k+1) = PΩ(x(k) + α∇f(x(k))

)entweder wie im Algo-

rithmus 5.3 oder

bestimme x(k+1) ∈ Ω, so dass f(x(k+1)

)≤ f

(x(k)

).

2

Die Umsetzung der zweiten Strategie hangt von der Art der Nebenbedingungenab. Wir betrachten affine Nebenbedingungen (5.2). Bezeichne ai die Zeilen von A.Fur x ∈ Ω sei die Menge der aktiven Nebenbedingungen

I(x) =i ∈ 1, . . . , m : aT

i x = bi

.

Dann wird die zweite Strategie haufig so realisiert, dass I(x(k)) ⊆ I(x(k+1)) gilt.Man wahlt dazu in x(k) eine Abstiegsrichtung

v(k) ∈ L(

x(k))

:= v : AI(x(k))v = 0,

wobei AI(x(k)) die Teilmatrix von A mit den Zeilen ist, deren Indizes in I(x(k))enthalten sind. Die Abstiegseigenschaft wird dann nur in schwacher Form

∇f(

x(k))T

v(k) ≤ 0

verlangt. Die neue Iterierte besitzt die Gestalt x(k+1) = x(k) + αv(k) fur ein geeig-netes α. Aus der Wahl von v(k) folgt

A(

x(k+1))

= A(

x(k) + αv(k))

= Ax(k) + αAv(k).

101

Page 103: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Fur die aktiven Nebenbedingungen verschwindet der zweite Summand. Fur die an-deren Nebenbedingungen, i 6∈ I(x(k)), ist der erste Summand kleiner als bi und manfindet ein hinreichend kleines α > 0, so dass die Summe der beiden Summandenkleiner oder gleich bi bleibt. Mit

α(k) := supα : x(k) + αv(k) ∈ Ω

wird nun eine Liniensuche gestartet um einen Faktor α(k) und damit ein Argu-ment x(k+1) zu finden, so dass f

(x(k+1)

)≤ f

(x(k)

)gilt. Ist α(k) < α(k), dann ist

I(x(k)) = I(x(k+1)), sonst I(x(k)) ⊂ I(x(k+1)).

5.2 Penalty–Verfahren (Strafverfahren)

Wir betrachten wieder das Optimierungsproblem

z = minf(x) : x ∈ Ω, (5.4)

diesmal aber zunachst mit f ∈ C0(Rn) und die Menge Ω ⊂ Rn sei abgeschlossen.Um die Losung von (5.4) mit einer Folge einfacherer Optimierungsprobleme ohneNebenbedingungen zu approximieren, wird die Straffunktion

l : Rn → R+, l(x)

> 0 fur x 6∈ Ω,= 0 fur x ∈ Ω

eingefuhrt. Diese Funktion bestraft Punkte, die nicht zum zulassigen Bereich geho-ren, mit positiven Funktionswerten.

Beispiel 5.6 Fur

Ω = x ∈ Rn : gi(x) ≤ 0, i = 1, . . . , p; gi(x) = 0, i = p + 1, . . . , m

ist eine mogliche Straffunktion

l(x) =

p∑

i=1

(g+

i (x))α

+

m∑

i=p+1

|gi(x)|α

mit α > 0, g+i (x) = max0, gi(x). 2

Definition 5.7 Penalty–Funktion Die gewichtete Summe aus Zielfunktion undStraffunktion

p(x, r) := f(x) + rl(x), r ∈ R+, r > 0,

wird Penalty–Funktion genannt. Der Parameter r heißt Strafparameter. 2

Fur fest gewahlte Parameter r werden jetzt die Minimierungsprobleme ohneNebenbedingungen

minx∈Rn

p(x, r) (5.5)

betrachtet. Der Strafterm belegt die Punkte, die nicht zum zulassigen Bereichgehoren, mit positiven Werten, die fur große Strafparameter r groß sind. Deswe-gen hofft man, dass die Minima von (5.5) fur große Strafparameter im zulassigenBereich liegen.

Algorithmus 5.8 Allgemeines Penalty–Verfahren.

1. Initialisierung.

Wahle r(1) > 0.

102

Page 104: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

2. Iteration. k = 0, 1, 2, . . .

Bestimme ein lokales Minimum x(k) fur p(x, r(k))Falls x(k) ∈ Ω, dann Stopp

sonst wahle r(k+1) ≥ 2r(k)

2

Man kann zeigen, dass die x(k) unter gewissen Voraussetzungen tatsachlichNaherungen eines lokalen Minimums von (5.4) sind.

Satz 5.9 Seien f : Rn → R eine stetige Funktion, x0 ein striktes lokales Minimumund l : Rn → R+ eine stetige Straffunktion. Dann gibt es ein r0 > 0 so, dass furalle r > r0 die Penalty–Funktion p(x, r) ein lokales Minimum x(r) besitzt, dass furr → ∞ gegen x0 konvergiert.

Beweis: Literatur, [JS04, S. 294].

Bemerkung 5.10 Zwei Eigenschaften sind fur Penalty–Verfahren von Bedeutung:

1. In vielen Fallen ist die Zielfunktion f(x) differenzierbar. Damit die Anwen-dung eines Verfahrens vom Newton–Typ zur Bestimmung des Minimumsvon (5.5) moglich ist, muss die Straffunktion l(x) auch differenzierbar sein.

2. Damit das Verfahren nach endlich vielen Schritten abbricht, ist es wunschens-wert, wenn es bereits einen endlichen Wert r > 0 gibt, so dass ein lokalesMinimum x0 von (5.4) auch lokales Minimum fur jedes Problem ohne Ne-benbedingungen (5.5) mit r ≥ r ist. In diesem Fall nennt man die Penalty–Funktion exakt in x0.

Es stellt sich leider heraus, dass diese beiden wunschenswerten Eigenschaften in derRegel unvereinbar sind. Aus diesem Grunde werden Penalty–Verfahren in der Formvon Algorithmus 5.8 praktisch nicht genutzt. Stattdessen betrachtet man modifizier-te Penalty–Funktionen, die auf dem Konzept einer erweiterten Lagrange–Funktion(augmented Lagrange–Funktion) beruhen, siehe Literatur. 2

5.3 Barrieremethoden

Wir betrachten das Problemz = min

x∈Ωf(x) (5.6)

mit den Nebenbedingungen

gi(x) ≤ 0 fur 1 ≤ i ≤ p, gi(x) = 0 fur p + 1 ≤ i ≤ m. (5.7)

Dabei seien f, gi ∈ C2(Rn), i = 1, . . . , m, und wir nehmen an, dass (5.6) eineOptimallosung besitzt, die mit x0 bezeichnet wird.

Barrieremethoden sind eng verwandt mit den Penalty–Verfahren. Auch bei die-sen Methoden betrachtet man eine Folge von Hilfsproblemen, bei denen die Ziel-funktion f(x) durch gewichtete Strafterme erweitert wird. Die Barriereverfahrenerzeugen eine Folge von inneren Punkten, das heißt von Punkten welche die Un-gleichungsrestriktionen sogar strikt erfullen, gi(x) < 0, i = 1, . . . , p, wahrend dieGleichungsrestriktionen verletzt sein konnen.

Bezeichne

Ω := x ∈ Rn : gi(x) ≤ 0, i = 1, . . . p,Ω0 := x ∈ Rn : gi(x) < 0, i = 1, . . . p.

Man beachte, die Menge Ω0 muss nicht notwendig die topologischen inneren Punktevon Ω enthalten, wahle zum Beispiel n = p = 1, g1(x) = 0. Dann sind Ω = R undΩ0 = ∅.

103

Page 105: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Barriereverfahren bestrafen solche Punkte aus Ω0, die sich dem Rand von Ω0

nahern. Die Gleichheitsnebenbedingungen werden direkt mit Hilfe von Linearisie-rungen behandelt. Diese Gleichheitsnebenbedingungen sind grundsatzlich einfacherzu behandeln als Ungleichungsnebenbedingungen. Die Strafterme in den Barrie-reverfahren, die sogenannten Barriereterme, sind in Ω0 endlich und wachsen zumRand dieser Menge nach unendlich an. Außerhalb von Ω besitzen sie den Wert ∞.Im Gegensatz zu den Penalty–Verfahren, bei denen die Strafterme sukzessive immerstarker gewichtet werden, siehe Algorithmus 5.8, muss bei den Barriere–Verfahrender Einfluss der Strafterme immer weiter abgeschwacht werden. Damit wird dasGewicht der Zielfunktion im Barriereproblem erhoht und man kann hoffen, dass dieMinima der Barriereprobleme unter geeigneten Voraussetzungen gegen ein Mini-mum von f(x) konvergieren. An der Eigenschaft, dass die Barriereterme außerhalbvon Ω unendlich sind, andert man nichts. Somit ist garantiert, dass die Minima derBarriereprobleme immer in Ω0 liegen.

Definition 5.11 Skalare Barrierefunktion. Eine skalare Barrierefunktion ist ei-ne streng monoton fallende, glatte, konvexe Funktion b : (0,∞) → R mit

limt→0+0

b(t) = ∞ und limt→0+0

b′(t) = −∞.

2

Außerdem wird stets b(t) = ∞ fur t ≤ 0 gesetzt, so dass b(t) formal eine auf R

definierte konvexe Funktion ist, b : R → R ∪ ∞.

Beispiel 5.12 Beispiele fur Barrierefunktionen sind

b(t) = − log t, b(t) =1

tα, α > 0.

Die logarithmische Barrierefunktion ist in gewisser Hinsicht optimal. 2

Zur Konstruktion von Barriereverfahren zur Losung von Problem (5.6) mit denNebenbedingungen (5.7) werden nun Hilfsprobleme der Form

infx∈Rn

f(x) + µ

p∑

i=1

b (di − gi(x)) : gi(x) = 0, i = p + 1, . . . , m

(5.8)

betrachtet. In (5.8) ist µ > 0 ein Gewicht fur die Barriereterme und die Zahlen di ≥0, i = 1, . . . , p, sind Verschiebungen der Ungleichungsnebenbedingungen in (5.7), dasheisst anstatt gi(x) ≤ 0 ist nun gi(x) ≤ di erlaubt. Diese Verschiebungen gestattenes, dass man das Verfahren auch dann anwenden kann, wenn kein innerer Punktfur (5.6), (5.7) bekannt ist. Die Zielfunktion von (5.8) wird abkurzend mit

Φ(x; µ,d) = f(x) + µ

p∑

i=1

b (di − gi(x))

bezeichnet.Wir nehmen an, dass (5.8) ein endliches lokales Minimum besitzt. Die gewich-

tete Summe der Barriereterme in der Zielfunktion garantiert, dass jedes x mitΦ(x; µ,d) ∈ R die abgeschwachten Nebenbedingungen gi(x) < di, i = 1, . . . , p,erfullt.

Lemma 5.13 Falls f(x) und gi(x), i = 1, . . . , p konvex sind, so ist auch Φ(x; µ,d)konvex.

104

Page 106: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Beweis: Es ist bekannt, dass die Linearkombination konvexer Funktionen mitnichtnegativen Koeffizienten in der Linearkombination eine konvexe Funktion ist.Damit bleibt zu zeigen, dass die Funktionen b (di − gi(x)), i = 1, . . . , p, konvex sind.

Da die Funktionen, gi(x) konvex sind, gilt fur λ ∈ [0, 1]

di − gi (λx1 + (1 − λ)x2) ≥ di − (λgi (x1) + (1 − λ)gi (x2))

= λ (di − gi (x1)) + (1 − λ) (di − gi (x2)) .

Mit dieser Aussage, mit der Monotonie von b(t) und der Konvexitat von b(t) folgt

b (di − gi (λx1 + (1 − λ)x2)) ≤ b (λ (di − gi (x1)) + (1 − λ) (di − gi (x2)))

≤ λb (di − gi (x1)) + (1 − λ)b (di − gi (x2)) .

Weiterhin gilt folgende starkere Aussage.

Satz 5.14 Gelten die Voraussetzungen von Lemma 5.13 sowie limt→∞ b′(t) = 0.Die Gleichheitsnebenbedingungen gi(x), i = p + 1, . . . , m seien affin und die Men-ge der Optimallosungen von (5.6) sei nicht leer und beschrankt. Dann besitzt dasHilfsproblem (5.8) fur jedes µ > 0 eine Optimallosung und die Minima der Barrie-reprobleme nahern sich der Optimalmenge von (5.6).

Beweis: Siehe Literatur.Fur Probleme (5.6), die die Bedingungen dieses Satzes erfullen, kann man nun

das folgende Verfahren konstruieren.

Algorithmus 5.15 Barrieremethode fur konvexe Probleme.

1. Initialisierung.

Bestimme x(0) ∈ Rn mit gi(x(0)) = 0 fur i = p + 1, . . . , m. Wahle

µ(0) > 0 und d(0) ≥ 0 so dass d(0)i > gi(x

(0)) fur i = 1, . . . , p.

2. Iteration. k = 1, 2, . . .

Wahle λ(k) ∈ (0, 1) so, dass mit(µ(k),d(k)

):= λ(k)

(µ(k−1),d(k−1)

)

gilt

gi

(

x(k−1))

< d(k)i

, fur i = 1, . . . , p.

Ausgehend von x(k−1) fuhrt man nun einige Schritte des

Newton-Verfahrens (mit Liniensuche) zum losen des

Barriere-problems aus. Das Ergebnis ist x(k).

2

Im ersten Schritt der Iteration werden sowohl das Gewicht als auch der Ver-schiebevektor verkleinert. Der Verkleinerungsfaktor wird so gewahlt, dass mit demneuen Verschiebevektor noch alle Ungleichungsnebenbedingungen erfullt sind. DasMinimum x0

(µ(k),d(k)

)des Barriereproblems (5.8) zu den Parametern

(µ(k),d(k)

)

wird im zweiten Schritt approximiert. Da die Barriereterme das Minimum vom

Rand der Menge x : gi(x) ≤ d(k)i abstoßen, kann man nach der Berechnung der

Naherung x(k) von x0

(µ(k),d(k)

)die Verschiebeparameter d

(k)i in der folgenden

Iteration wieder etwas verkleinern.Die Schwierigkeiten von Algorithmus 5.15 bestehen darin, dass das Newton–

Verfahren fur µ(k) → 0 oft schlecht konvergiert. Deshalb wird diese Basisherange-hensweise nicht genutzt. Man kann diese Herangehensweise durch Verfeinerung derBarrieremethode verbessern.

105

Page 107: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

5.4 SQP–Verfahren

In diesem Abschnitt wird ein Zugang vorgestellt, der Punkte berechnet, die dienotwendige Optimalitatsbedingung, die im Satz 4.21 (Kuhn/Tucker) formuliert ist,erfullen, die sogenannten SQP–Verfahren (sequential quadratic programming). Eswird also eine Iteration durchgefuhrt, bei welcher in jedem Schritt ein quadratischesOptimierungsproblem gelost wird.

Wir betrachten wieder das Optimierungsproblem (5.6) mit den Nebenbedin-gungen (5.7) und den gleichen Regularitatsvoraussetzungen wie im Abschnitt 5.3.Seien x0 ein lokales Minimum von (5.6), (5.7) und z0 der zugehorige Lagrange–Multiplikator zum Lagrange–Problem (4.10). Insgesamt erfullen (x0, z0) das Pro-blem, siehe (4.10),

Φ(x0, z0) =

(∇xL(x0, z0)

zT0 g(x0)

)

=

(

∇f(x0) + (∇g(x0))T z0

zT0 g(x0)

)

= 0 (5.9)

mit z0 ≥ 0. Da die Gleichheitsbedingungen ohnehin verschwinden, kann man (5.9)sogar wie folgt schreiben

Φ(x0, z0) =

∇f(x0) + (∇g(x0))T z0

z0,1g1(x0)...

z0,pgp(x0)gp+1(x0)

...gm(x0)

= 0. (5.10)

SQP–Verfahren wollen das nichlineare Problem (5.10) mit einem Verfahren vomNewton–Typ losen. Dazu benotigt man die Jacobi–Matrix von Φ(x, z), die durch

Ψ (x, z, HL,x(x, z))

=

HL,x(x, z) ∇g1(x) · · · ∇gp(x) ∇gp+1(x) · · · ∇gm(x)z1(∇g1(x))T g1(x)

.... . . 0

zp(∇gp(x))T gp(x)(∇gp+1(x))T

... 0 0(∇gm(x))T

∈ R(n+m)×(n+m)

gegeben ist. Ein wesentliches Merkmal eines SQP–Verfahrens besteht darin, dassdie teure Hesse–Matrix HL,x(x, z) in der Regel durch eine einfacher zu berechnendeMatrix ersetzt wird.

Unter geeigneten Voraussetzungen kann man zeigen, dass die Jacobi–MatrixΨ (x0, z0, HL,x(x0, z0)) nichtsingular ist und dass das Newton–Verfahren zur Null-stellenbestimmung von Φ(x, z) quadratisch konvergiert. Sei eine aktuelle Iterier-te (x(k), z(k))T gegeben. Die Newton–Korrektur (∆x(k), ∆z(k))T berechnet sich alsLosung des Gleichungssystems

Ψ(

x(k), z(k), HL,x(x(k), z(k)))(

∆x(k), ∆z(k))T

= −Φ(x(k), z(k)).

Beim Newton–Verfahren kann man im allgemeinen jedoch nur lokale Konvergenzerwarten, dass heisst, der Startwert muss nahe genug an der (unbekannten) Losung

106

Page 108: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

sein. Speziell fur die Funktion Φ(x, z) kann man auch nicht garantieren, dass alle Ite-

rierten die Ungleichungen gi(x(k)) ≤ 0 und die Nichtnegativitatsbedingung z

(k)i ≥ 0

erfullen. Damit ist es moglich, dass das Newton–Verfahren gegen eine nicht zulassigeLosung von Φ(x, z) = 0 konvergiert, bei der Nebenbedingungen nicht erfullt sindoder die Lagrange–Multiplikatoren negativ sind. Die Konvergenz gegen eine solcheLosung muss verhindert werden. Dazu wird anstelle des Newton–Verfahrens dasSystem

Ψ(

x(k), z(k+1), B(k))(

∆x(k), ∆z(k))T

= −Φ(x(k), z(k)) (5.11)

betrachtet, wobei ∆x(k), ∆z(k) und z(k+1) = z(k) + ∆z(k) die zusatzlichen Forde-rungen

z(k+1)i ≥ 0 fur i = 1, . . . , p, (5.12)

gi

(

x(k))

+ ∇(

gi

(

x(k)))T

∆x(k) ≤ 0 fur i = 1, . . . , p (5.13)

erfullen. Im Vergleich zum Newton–Verfahren ersetzt man HL,x(x(k), z(k)) durcheien Matrix B(k), die in der Regel durch gewisse Quasi–Newton–Korrekturen (so-genannte Broyden–Verfahren) erzeugt wird. Des weiteren wird der Vektor z(k) aufder linken Seite durch z(k+1) ersetzt. Man erhalt ein implizites Gleichungssystem,welches nicht mehr linear bezuglich der Lagrange–Multiplikatoren ist. Außerdemwerden noch die linearen Ungleichungsbedingungen (5.12), (5.13) an ∆x(k) und∆z(k) gestellt.

Ausgeschrieben besagt (5.11) – (5.13)

∇f(

x(k))

+ B(k)∆x(k) +m∑

i=1

z(k+1)i ∇gi

(

x(k))

= 0,

z(k+1)i

(

gi

(

x(k))

+(

∇gi

(

x(k)))T

∆x(k)

)

= 0, i = 1, . . . , p, (5.14)

gi

(

x(k))

+(

∇gi

(

x(k)))T

∆x(k) = 0, i = p + 1, . . . , m.

Wir betrachten das folgende quadratische Programm

z = mins∈Rn

(

∇f(

x(k)))T

s +1

2sT B(k)s (5.15)

unter den Nebenbedingungen

gi

(

x(k))

+(

∇gi

(

x(k)))T

s ≤ 0, i = 1, . . . , p, (5.16)

gi

(

x(k))

+(

∇gi

(

x(k)))T

s = 0, i = p + 1, . . . , m. (5.17)

Erfulle dieses Problem die Voraussetzungen des Satzes 4.21 (Kuhn/Tucker). Dannsind die notwendigen Bedingungen fur ein Minimum gerade die Gleichungen (5.14).Ubungsaufgabe Damit ergibt sich folgendes Verfahren:

Algorithmus 5.16 SQP–Algorithmus (Grundform).

1. Initialisierung.

Wahle x(0) ∈ Rn, B(0) =(B(0))T (≈ HL,x

(x(0), z(0)

))fur ein

z(0) ∈ Rm mit z(0)i

> 0, i = 1, . . . , p

2. Iteration. k = 0, 1, 2, . . .

107

Page 109: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Bestimme die Losung s von (5.15) - (5.17) und einen

zugehorigen Lagrange-Multiplikator z. Setze

x(k+1) = x(k) + s, z(k+1) = z.

Bestimme eine symmetrische Matrix

B(k+1) ≈ HL,x

(

x(k+1), z(k+1))

.

2

Falls B(k) positiv semidefinit ist, dann ist (5.15) – (5.17) ein konvexes quadra-tisches Programm. In diesem Fall sind die Bedingungen des Satzes 4.21 notwendigund hinreichend fur ein globales Minimum, siehe auch Satz 3.24. Zur Losung kannman beispielsweise ein Projektionsverfahren nehmen, siehe Abschnitt 5.1.

108

Page 110: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Literaturverzeichnis

[Bor01] Karl Heinz Borgwardt. Optimierung, Operations Research, Spieltheorie.Birkhauser Verlag Basel Boston Berlin, 2001.

[ERSD77] K.-H. Elster, R. Reinhardt, M. Schauble, and G. Donath. Einfuhrungin die nichtlineare Optimierung, volume 63 of Mathematisch–Naturwissenschaftliche Bibliothek. BSB B.G. Teubner VerlagsgesellschaftLeipzig, 1977.

[JS04] F. Jarre and J. Stoer. Optimierung. Springer–Verlag Berlin Heidelberg,2004.

109

Page 111: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Index

aktive Nebenbedingung, 91, 101Armijo–Liniensuche, 100Ausartung, 19, 26, 32

duales Programm, 51ausgeartete Basislosung, 16Ausgleichsrechnung, 71

Barrierefunktionskalare, 104

Barrieremethoden, 103Basislosung, 15

benachbart, 19Basiszyklus, 32

duales lineares Programm, 44symmetrisch, 47

duales Problem, 98Dualitatslucke, 64Dualitatssatz

schwacher, 44starker, 44

Ellipsoidmethode, 61Engpassmethode, 28entartete Basislosung, 16

Fibonacci–Suche, 77Fibonacci–Zahlen, 77Funktion

konkav, 82konvex, 82unimodal, 74

goldener Schnitt, 76großter ganzzahliger Bestandteil, 58

Hauptelement, 24Hauptspalte, 24, 51Hauptzeile, 24, 51Hesse–Matrix, 84Hyperebene, 80

Innere–Punkt–Verfahren, 61Innere–Punkte–Verfahren

zulassige–, 63

Kegel

konvexer, 80Komplementaritatssatz, 47, 48Komplexitat, 37

worst case, eines Algorithmus, 38worst case, eines Problems, 38

konvergentgerichtet, 88

konvex, 7konvexe Hulle, 8konvexe Linearkombination, 8konvexe Menge

Eckpunkt, 8Extrempunkt, 8

konvexes Polyeder, 9Kuhn–Tucker–Bedingung, 94Kurz–Schritt–Algorithmus, 67

Lagrangesche Methode, 87Lagrangesche Multiplikatoren, 87lineares Optimierungsproblem, 7lineares Optimierungsproblem in 1.

Normalform, 10lineares Programm, 7

ganzzahlig, 56lineares Programm in 2. Normalform,

15lineares Programm in Normalform, 10linearisierter Kegel, 91

M–Methode, 31Methode der ε–Storung, 32

Newton–Verfahren, 62

Operations Research, 5Optimalitatskriterium, 51

Penalty–Funktion, 102Penalty–Verfahren, 102Pivotelement, 24, 51primales lineares Programm, 44primales Problem, 97Projektionsverfahren, 99

Rechteckregel, 24Residuum, 65

110

Page 112: Mathematische Optimierung - wias-berlin.de · Sind alle Funktionen linear, so hat man ein Problem der linearen Optimierung oder linearen Programmierung, siehe Teil I. Bei Optimierungsproblemen

Rucksackproblem, 5Rundreiseproblem, 3

Sattelpunkt, 95Schlupfvariable, 15, 28Schnittbedingung, 57Simplex, 19Simplexmethode

duale, 49Hauptsatz, 20Hauptsatz der dualen, 50lexikographische, 35

Simplextabelle, 23dual, 51duale, 51

SQP–Verfahren, 106stationarer Punkt, 100Strafparameter, 102

Tangentenkegel, 89Trennung von Mengen, 80Trennungssatz, erster, 81

unimodal, 74Unterhalbmenge, 85

Variablenkunstliche, 30

Vektorlexikopositiv, 35

Verfahren von Karmarkar, 62

zentraler Pfad, 64Zielfunktion, 10, 71zulassige Basislosung, 16zulassiger Bereich, 7, 11zulassiger Punkt, 11Zweiphasenmethode, 30

111