• Keine Ergebnisse gefunden

Eine Einführung in den Simplex-Algorithmus

N/A
N/A
Protected

Academic year: 2022

Aktie "Eine Einführung in den Simplex-Algorithmus"

Copied!
97
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Fachbereich

Mathematik und Statistik an der

Bachelorarbeit

¨uber das Thema

Eine Einf¨ uhrung in den Simplex-Algorithmus

eingereicht von

Rebekka M¨ uller

im

September 2015

Betreuer und Gutachter: Prof. Dr. Stefan Volkwein

Konstanzer Online-Publikations-System (KOPS) URL: http://nbn-resolving.de/urn:nbn:de:bsz:352-0-309300

(2)
(3)

Erkl¨ arung der Selbstst¨ andigkeit

Ich versichere hiermit, dass ich die vorliegende Arbeit mit dem Thema Eine Einf¨uhrung in den Simplex-Algorithmus

selbstst¨andig verfasst und keine anderen Hilfsmittel als die angegebenen benutzt habe. Die Stel- len, die aus anderen Werken dem Wortlaut oder dem Sinne nach entnommen sind, habe ich durch Angabe der Quelle als Entlehnung kenntlich gemacht.

Die Arbeit wurde bisher in gleicher oder ¨ahnlicher Form keiner anderen Pr¨ufungsbeh¨orde vor- gelegt und auch nicht ver¨offentlicht.

Uppsala, den 17. September 2015

Rebekka M¨uller

(4)
(5)

Inhaltsverzeichnis

1 Grundlagen und Vor¨uberlegungen 7

1.1 Die Problemstellung . . . 8

1.2 Die Nebenbedingungen . . . 9

1.2.1 Charakterisierung der L¨osungsmenge . . . 12

1.2.2 Wichtige Begrifflichkeiten . . . 14

1.2.3 Algebraische Betrachtung der Nebenbedingungen . . . 16

1.2.4 Geometrische Betrachtung der Nebenbedingungen . . . 22

1.2.5 Zusammenhang der algebraischen und geometrischen Betrachtung . . . . 24

2 Pivotisierung 29 2.1 Der Basiswechsel . . . 32

2.1.1 Wahl der Pivotzeile . . . 34

2.1.2 Wahl der Pivotspalte . . . 36

3 Das Simplex-Verfahren 43 3.1 Der Simplex-Algorithmus . . . 43

3.1.1 Beispiel . . . 47

3.1.2 Implementierung . . . 51

3.2 Verallgemeinerungen und Varianten des Simplex-Algorithmus . . . 53

3.2.1 Entartete Basispunkte . . . 53

Beispiel . . . 54

St¨orungsstrategie . . . 56

Blandsche Regel . . . 58

Beispiel . . . 58

Implementierung . . . 59

3.2.2 Zwei-Phasen-Methode . . . 60

Beispiel . . . 62

Implementierung . . . 64

3.2.3 Das revidierte Simplex-Verfahren . . . 69

Beispiel . . . 71

Verwendung der LR-Zerlegung im revidierten Simplex-Algorithmus . . . . 76

Verwendung der Produktdarstellung im revidierten Simplex-Algorithmus 77 3.3 Dualit¨at . . . 79

4 Lineare Programmierung mit MATLAB 85 4.1 linprog . . . 85

Algorithmus:‘simplex’ . . . 85

Algorithmus:‘dual-simplex’ . . . 87

4.1.1 Input- und Output-Argumente . . . 88

4.2 Beispiel . . . 91

Vergleich . . . 95

Literaturverzeichnis 96

(6)
(7)

Kapitel 1

Grundlagen und Vor¨ uberlegungen

Einleitung und Vorbemerkungen

Es gibt eine Vielzahl von Situationen, in denen Individuen vor einem Entscheidungsproblem stehen und das Ziel haben, m¨oglichst jenen Beschluss zu fassen, der in ihrem jeweiligen Umwelt- zustand optimal ist.

Um konkret einige Bereiche zu nennen, in denen solche Optimierungsprobleme h¨aufig auftreten, w¨are allen voran die Wirtschaft mit Produktions- oder Strategieentscheidungen zu erw¨ahnen;

aber auch die Physik oder das Finanzwesen bieten viele Beispiele f¨ur Optimierungsaufgaben. Auf jedem Gebiet gibt es gegebene, hinzunehmende oder selbst auferlegte Restriktionen. Es k¨onnte beispielsweise um die Gewinnmaximierung bzw. Kostenminimierung einer Firma gehen, die nur beschr¨ankt Inputfaktoren zur Verf¨ugung hat; oder es handelt sich um die effiziente Verteilung eines Rohstoffs, von dessen Auffindungsort zu den verschiedenen Produktionsst¨atten (

”Trans- portproblem“). Oder auch ein optimaler und kostenminimierender Ern¨ahrungsplan, bei dem die empfohlenen Richtwerte an N¨ahrstoffen eingehalten werden, w¨are ein Beispiel.

Gemeinhin kann man diese Entscheidungsprobleme mathematisch formulieren. Durch das h¨aufi- ge Auftreten von Optimierungsaufgaben sind verschiedene Verfahren entwickelt worden, um die- se Problemstellungen geschickt und systematisch zu l¨osen. F¨ur lineare Optimierungsaufgaben entwickelte George Dantzig (1914-2005) als eines der ersten Verfahren den Simplex-Algorithmus, den er 19471 ver¨offentlichte. Mit der Entwicklung von Computern, die ebenfalls zu dieser Zeit ihren Anfang nahm, war es m¨oglich, das Verfahren als eines der ersten zu implementieren und seither stets weiterzuentwickeln, Ver¨anderungen und Verbesserungen daran vorzunehmen. 1980 formulierte der ungarische Mathematiker L´aszl´o Lov´asz die Bedeutung der linearen Program- mierung, d.h. der linearen Optimierung, folgendermaßen:

”If one would take statistics about which mathematical problem is using up most of the computer time in the world, then (not including database handling problems like sorting and searching) the answer would probably be linear programming.”2

Seit den Achtzigerjahren gab es nat¨urlich eine enorme Weiterentwicklung im Bereich der Pro- grammierung, sodass es mittlerweile neue Verfahren gibt, die auch komplexere Aufgabenstel- lungen l¨osbar machen. Nichtsdestotrotz ist und bleibt das Simplex-Verfahren ein wichtiger Be- standteil beim L¨osen linearer Optimierungsprobleme3.

1Vgl.http://de.wikipedia.org/wiki/Simplex-Verfahren[Abfrage 1.6.2015].

2

Professor George Dantzig: Linear Programming Founder Turns 80“in:

http://web.stanford.edu/group/SOL/dantzig.html[Abfrage: 27.06.2015].

3Vgl. [2] Seite 356.

(8)

8 1 Grundlagen und Vor¨uberlegungen

Grundlage dieser Arbeit ist die Hauptliteratur

”Linear and Nonlinear Programming“ [1] von D.

Luenberger; viele S¨atze und Beweise wurden daraus ¨ubernommen. Aber auch

”Numerical Opti- mization“ von J. Nocedal und S. Wright diente als wichtige Quelle. Dar¨uber hinaus verwendete Quellen sind dem Literaturverzeichnis zu entnehmen.

Zum Aufbau und Inhalt dieser Arbeit ist anzumerken, dass zu Beginn einige grundlegende Be- grifflichkeiten und Feststellungen aufgef¨uhrt werden, um eine in sich vollst¨andige Arbeit zu pr¨asentieren. Es kann auch direkt mit Kapitel 2 gestartet werden, in dem die Grundidee des Simplex-Verfahrens aufgebaut wird, die im dritten Kapitel dann zur Formulierung des Algorith- mus f¨uhrt, der durch ein ausf¨uhrliches Beispiel veranschaulicht wird. Im Anschluss werden einige Verallgemeinerungen und Varianten des Verfahrens vorgestellt. Im letzten Teil findet sich eine Zusammenfassung der M¨oglichkeiten, lineare Optimierungsprobleme mit MATLAB zu l¨osen, wobei auch hier das Hauptaugenmerk auf dem Simplex-Algorithmus liegt.

Zur Notation sind nicht viele Angaben zu machen: Wichtige Begriffe sind hervorgehoben und Fachbegriffen werden bei ihrer Definition durch ihren englischen Ausdruck erg¨anzt. Ab und zu wird manche Annahme, mancher Ausdruck und wichtige Feststellungen wiederholt, um zu ver- hindern, dass vor allem in den hinteren Kapiteln zur¨uckgebl¨attert und nach der erstmaligen Erw¨ahnung gesucht werden muss, dennoch sollten stets Verweise angegeben sein.

Auch die mathematische Schreibweise m¨usste selbsterkl¨arend sein. Generell befinden wir uns im R-Vektorraum Rn; weiter ist festzuhalten, dass Ungleichungen bei Vektoren stets komponen- tenweise zu verstehen sind. Ist nicht explizit von einem Zeilenvektor die Rede, so werden alle Vektoren als Spaltenvektoren aufgefasst.

1.1 Die Problemstellung

Das Simplex-Verfahren hat zum Ziel, ein lineares Optimierungsproblem zu l¨osen. Unter einem linearen Optimierungsproblem (linear programming problem) versteht man die Aufgabe, die sogenanntelineare Zielfunktion(linear objective (function)) zu minimieren bzw. zu maxi- mieren, wobei die ebenfalls linearen Nebenbedingungen (linear constraints) ber¨ucksichtigt werden m¨ussen. Mathematisch formuliert bedeutet dies:

Optimiere4

f :Rn→R

x= (x1, . . . , xn)T 7→c1x1+c2x2+. . .+cnxn=cTx (1.1) unter den Nebenbedingungen5

A1x=b1, A2x≤b2, A3x≥b3 und u≤x≤v. (1.2) Falls nichts anderes vorausgesetzt wird, soll in dieser Arbeit stets gelten, dass Ai ∈Rmi×n,die Vektoren x, u, v∈Rn und bi ∈Rmi, i∈ {1,2,3},sind f¨urmi, n∈N.

4Dabei bedeutet

maximieref(x)“, dass eineMaximalstellexRngesucht wird, sodass f¨ur allexRngilt:

f(x)f(x). Analoge Definition gilt f¨ur eine Minimierungsaufgabe mit umgekehrtem Relationszeichen.

5Die Abk¨urzung hierf¨ur sei im Folgenden u. d. N.

(9)

1.2 Die Nebenbedingungen 9

Zun¨achst wollen wir uns darauf beschr¨anken, Nebenbedingungen in folgender Form zu betrach- ten:

Ax=b und x≥0, mitA∈Rm×n, x∈Rn und b∈Rm.

Wie wir in Abschnitt 1.2 sehen werden, ist dies keine besonders schwerwiegende Einschr¨ankung.

Definition 1.1 (Standardform) Ein Optimierungsproblem der Form

minimiere f :Rn→R

x7→f(x) =cTx (1.3)

u.d.N.

(Ax=b

x≥0 (1.4)

mitA∈Rm×n und b∈Rm nennt manStandardform(standard form). ♦ Die zentrale Charakteristik der Problemstellung, die Linearit¨at von f, liefert, dass f¨ur x = (x1, . . . , xn)T, y= (y1, . . . , yn)T ∈Rn und λ∈Rgilt:

f(λx+y) =f(λx1+y1, . . . , λxn+yn)

=c1(λx1+y1) +. . .+cn(λxn+yn)

=λc1x1+. . .+λcnxn+c1y1+. . . cnyn

=λ(c1x1+. . .+cnxn) +c1y1+. . . cnyn

=λf(x) +f(y).

Analoges gilt f¨ur die Nebenbedingungen.

Des Weiteren folgt aus der Linearit¨at, dass die Zielfunktion stetig ist. So lassen sich zum einen aus kleinen ¨Anderungen in den Variablen auch kleine ¨Anderungen in der zu optimierenden Funktion schließen; zum anderen liefert dies sp¨ater die Existenz eines Optimums, falls f auf einer kompakten Menge definiert ist.

F¨ur die Herleitung und Formulierung des Simplex-Verfahrens muss die Aufgabenstellung nun mathematisch analysiert werden.

1.2 Die Nebenbedingungen

Wir wollen die linearen Nebenbedingungen (1.2) genauer spezifizieren und unter anderem un- tersuchen, wie man die allgemeinen BedingungenA1x=b1, A2x≤b2, A3x ≥b3 aus (1.2) so umformen kann, dass es ausreicht, ein SystemAx=b wie in (1.4) zu betrachten. Dazu nehme man die Matrix sowie den Vektor

(10)

10 1 Grundlagen und Vor¨uberlegungen

A∈Rm×n und b∈Rm, die zusammenm lineare Gleichungen der Form

ai1x1+ai2x2+. . .+ainxn=bi, i∈ {1, . . . , m}, beschreiben.

Man kann dabei ohne Einschr¨ankung annehmen, dass f¨ur allei∈ {1, . . . , m}bi ≥0 ist, denn das Multiplizieren einer Nebenbedingung mit einer von Null verschiedenen Zahl ¨andert die L¨osungs- menge nicht.

Die weiteren Betrachtungen und Untersuchungen eines Optimierungsproblems werden im Fol- genden anhand der Standardform durchgef¨uhrt. Deshalb soll nun kurz betrachtet werden, wie allgemeine, lineare Optimierungsprobleme leicht auf Standardform transformiert werden k¨onnen:

• Liegt ein Maximierungsproblem

”maximiere f(x)“ vor, so ist dieses ¨aquivalent zu dem Minimierungsproblem

”minimiere−f(x)“.6

Aufgrund dieser Tatsache kann man ohne Einschr¨ankung von einem Minimierungsproblem sprechen, wovon im Folgenden auch Gebrauch gemacht werden soll.

Liegen allgemeine Ungleichungsnebenbedingungen vor, so gibt es ebenfalls einfache Umformun- gen, diese auf Standardform zu bringen.

• Wie schon erw¨ahnt, gilt nat¨urlich die ¨Aquivalenz

−ai1x1−ai2x2−. . .−ainxn≤ −bi ⇔ ai1x1+ai2x2+. . .+ainxn≥bi f¨uri∈ {1, . . . , m}.

• Sind keine Gleichungsrestriktionen Ax = b gegeben, sondern Ungleichungsrestriktionen Ax ≤ b (und x ≥ 0), so f¨uhrt man sogenannte Schlupfvariablen (slack variables) s= (s1, . . . , sm)T ∈Rm+ ein und erh¨alt Gleichungsrestriktionen:

a11x1+a12x2+. . .+a1nxn ≤b1 a21x1+a22x2+. . .+a2nxn ≤b2 ... ... ... ... am1x1+am2x2+. . .+amnxn≤bm

wird zu

a11x1+a12x2+. . .+a1nxn+s1 =b1

a21x1+a22x2+. . .+a2nxn +s2 =b2

... ... ... . .. ...

am1x1+am2x2+. . .+amnxn +sm =bm, wobeix≥0 und s≥0 gelten soll.

6ur den Fall, dass eine solche Maximalstellexnicht existiert, die Funktionf(x) also nach oben unbeschr¨ankt ist, so ist−f(x) nach unten unbeschr¨ankt und es existiert ebenfalls keine L¨osung f¨ur die Minimierungsaufgabe

minimiere−f(x)“.

(11)

1.2 Die Nebenbedingungen 11

Dass L¨osungen des einen Systems zu L¨osungen des anderen f¨uhren, ist leicht ersicht- lich: Sei x ∈ Rn+ eine L¨osung des Systems Ax ≤ b, d.h. f¨ur alle i ∈ {1, . . . , m} gilt ai1x1+. . .+ainxn≤bi. Dann gibt es f¨ur jede Gleichung - dargestellt durch diei−te Zeile des Systems - ein si, i ∈ {1, . . . , m}, mit ai1x1 +. . .+ainxn+si = bi. Da es sich um

”Kleiner-Gleich-Bedingungen“ handelt, folgt auch si ≥0 f¨ur alle i∈ {1, . . . , m}.

Liegt andererseits eine L¨osung (xT, sT)T ∈Rn+m des erweiterten SystemsAx+s=bvor mit (x, s) ≥ 0, so gilt f¨ur alle i ∈ {1, . . . , m} ai1x1 +. . .+ainxn+ si

|{z}≥0

= bi und somit ai1x1+. . .+ainxn≤bi.

• Analoges Vorgehen unternimmt man bei umgekehrten Ungleichungsrestriktionen Ax≥b.

Hier f¨uhrt man ebenfalls Schlupfvariablen (surplus variables) ein. Damit die Nichtnegati- vit¨at erhalten bleibt, allerdings folgendermaßen:

a11x1+a12x2+. . .+a1nxn ≥b1 a21x1+a22x2+. . .+a2nxn ≥b2 ... ... ... ... am1x1+am2x2+. . .+amnxn≥bm

wird zu

a11x1+a12x2+. . .+a1nxn−s1 =b1

a21x1+a22x2+. . .+a2nxn −s2 =b2

... ... ... . .. ...

am1x1+am2x2+. . .+amnxn −sm=bm, wobei wieder x≥0 unds≥0 sein sollen.

In beiden F¨allen erweitert sich das System der Nebenbedingungen um die Schlupfvariablen; man hat alson+mUnbekannte. Die Matrix in der Standardform wird nun zu einerm×(n+m)-Matrix [A, Im], wobei Im die Einheitsmatrix der Dimension m ist. Die Schlupfvariablen werden in der Zielfunktion mit Null bewertet, d.h. der Vektor c erweitert sich zu c= (c1, . . . , cn,0, . . . ,0)T ∈Rn+m.

Selbstverst¨andlich k¨onnen die Nebenbedingungen auch gemischt sein, also sowohl aus Gleichungs- als auch Ungleichungsbedingungen bestehen wie es in (1.2) der Fall ist. Dann werden nur f¨ur die entsprechenden Ungleichungsbedingungen Schlupfvariablen eingef¨uhrt und die MatrizenA1, A2 undA3 k¨onnen in der Matrix

A=

A1 0m1×m2 0m1×m3

A2 Im2 0m2×m3

A3 0m3×m2 −Im3

zusammengefasst werden. Dabei sei mi ∈ N die Anzahl an Zeilen der Matrix Ai, i ∈ {1,2,3}, und 0mi×mj die Nullmatrix der Dimension mi×mj, i, j ∈ {1,2,3}. Mit b=

 b1 b2 b3

erh¨alt man dann das SystemAx=b.

(12)

12 1 Grundlagen und Vor¨uberlegungen

Ist nicht die Bedingungx≥0 gegeben, sondern

• xj ≥ aj f¨ur j ∈ {1, . . . , n} und aj ∈ R konstant, so ist es beispielsweise m¨oglich in der Optimierungsaufgabe ˜xj :=xj−aj zu substituieren und die Bedingung ˜xj ≥0 zu erhalten.

• xj, j ∈ {1, . . . , n}, ist eine sogenannte freie Variable (free variable), unterliegt also kei- ner Beschr¨ankung, so gibt es ebenfalls zwei M¨oglichkeiten, dennoch auf Standardform zu gelangen:

– Man teilt x in seine nichtnegativen und seine nichtpositiven Komponenten auf7, x = x+ −x, wobei x+ = max{x,0} ≥ 0 und x = max{−x,0} ≥ 0. Ein Pro- blem in Standardform (1.3) und (1.4) mit x∈Rnbeliebig, kann nun folgendermaßen geschrieben werden:

minimiere

c, −c, 0T

 x+ x s

, u. d. N. [A −A I]

 x+ x s

=b,

 x+ x s

≥0.

Die Negativit¨at in den Variablen wird also in den Vektor c bzw. die Matrix A ¨uber- nommen.

– Man eliminiert die freie Variablexj, indem man eine Nebenbedingung ai1x1+ai2x2+. . .+ainxn=bi mit aij 6= 0

aus den m Nebenbedingungen nach xj aufl¨ost, daraufhin das reduzierte Gleichungs- system l¨ost (mit n−1 Unbekannten undm−1 Gleichungen) und am Schluss daraus xj bestimmt.

Es sei noch kurz bemerkt, dass man die bisherigen Nebenbedingungen noch verallgemeinern kann, indem man zum Beispiel die Variablen zus¨atzlich durch obere Schranken beschr¨ankt; dazu sei aber auf [1] Seite 53 ff verwiesen.

1.2.1 Charakterisierung der L¨ osungsmenge

Nachdem aufgezeigt wurde, wie man stets auf Standardform kommen kann, soll nun die L¨osungs- menge der Nebenbedingungen n¨aher untersucht werden, um spezielle Eigenschaften aufzuzeigen, die bei der Suche nach Optimalstellen n¨utzlich sind.

Vorgelegt seien jetzt diem linearen Gleichungen

Ax=b, wobei A∈Rm×n, x∈Rn und b∈Rm. (1.5) Wir wollen stets annehmen, dass A vollen Rang hat, rk(A) = m, (daraus ergibt sich automa- tisch die Annahmem≤n). Andernfalls ist eine Gleichung linear abh¨angig von den ¨ubrigen und l¨asst sich stets eliminieren, ohne dass sich die L¨osungsmenge ¨andert, da sich durch die linear abh¨angige Gleichung keine zus¨atzliche Bedingung an die Unbekannten ergibt.

7Vgl. [2] Seite 357.

(13)

1.2 Die Nebenbedingungen 13

Definition 1.2 (zul¨assiger Punkt, zul¨assiger Bereich) Ein Vektorx∈Rn, der die Bedingungen (1.4)

Ax=b und x≥0 erf¨ullt, heißt zul¨assig(feasible).

Zul¨assige Punkte fasst man im zul¨assigen Bereich(feasible set)

K:={x∈Rn:x≥0, Ax=b} (1.6)

zusammen. ♦

Uber diese Menge kann man folgendes Resultat festhalten:¨ Satz 1.3

Der zul¨assige Bereich

K:={x∈Rn:x≥0, Ax=b} ⊆Rn ist konvex und abgeschlossen.

Beweis

Zeige zun¨achst die Konvexit¨at: Seien x, y ∈ K und λ ∈ [0,1] beliebig. Dann ist auf Grund der Linearit¨at von A

A(λx+ (1−λ)y) =λAx+ (1−λ)Ay =λb+ (1−λ)b=b und

λ

|{z}

≥0

x

|{z}

≥0

+ (1−λ)

| {z }

≥0

y

|{z}

≥0

≥0, alsoλx+ (1−λ)y ∈ K, was gerade die Definition von konvex ist.

Zeige nun die Abgeschlossenheit: Sei (xn)n∈N ⊆ K eine konvergente Folge in Rn mit Grenz- wertx. F¨ur jedes Folgenglied xn gilt dann Axn=b. Betrachte

Ax=A( lim

n→∞xn) =

Stetigkeit von A lim

n→∞Axn= lim

n→∞b=b und daxn≥0 f¨ur alle n∈N, gilt auch x ≥0.

Also istK abgeschlossen.

Alternativ k¨onnte man argumentieren, dass jede Gleichung und Ungleichung der Nebenbedingun- gen eine abgeschlossene Menge definiert. Da der Schnitt abgeschlossener Mengen abgeschlossen, und K gerade der Schnitt aller Gleichungs- und Ungleichungsrestriktionen ist, folgt die Abge- schlossenheit vonK. Dieses Argument wird im nachfolgenden Abschnitt noch genauer dargelegt.

(14)

14 1 Grundlagen und Vor¨uberlegungen

Es kann bereits eine weitere Gegebenheit festgehalten werden:

Bemerkung 1.4

Die L¨osung eines Optimierungsproblems kann nicht im Innern des zul¨assigen BereichesKliegen.

Beweis

Angenommen, x ∈K˚sei optimale L¨osung eines (ohne Einschr¨ankung) Minimierungsproblems.

Da K˚offen ist, existiert eine Umgebung Uε(x)⊆K˚um x mit ε >0.

Sei c∈Rn\{0} der Vektor der Koeffizienten der Zielfunktion; dann ist y:=x−ε

2 · c

||c||

|{z}

normiert

∈Uε(x)

und insbesondere y∈ K, also zul¨assig. || · || bezeichne dabei die euklidische Norm im Rn. Betrachte nun den Wert der Zielfunktion an diesem Punkt:

f

x− ε 2

c

||c||

=cT(x− ε 2

c

||c||) =cTx− ε

2||c||cTc=cTx− ε 2||c||

n

X

i=1

c2i

| {z }

>0

< f(x).

Also kann x keine optimale L¨osung gewesen sein.

Eine genauere Beschreibung, wo die L¨osungen zu suchen und finden sind, sehen wir gegen Ende dieses Kapitels.

Nachdem wir nun erste Resultate f¨ur den zul¨assigen Bereich gewonnen haben, wollen wir im Folgenden die rein algebraische Betrachtung der Gleichungen fortsetzen. Sp¨ater werden wir einen geometrischen Blick auf die Nebenbedingungen werfen und die Verbindung zwischen beiden Betrachtungen aufzeigen.

F¨ur die algebraische Untersuchung werden einige Begriffe verwendet, die hier noch einmal kurz definiert und deren Zusammenh¨ange erl¨autert werden sollen. Die Aussagen und Beweise sind aus [1] entnommen.

1.2.2 Wichtige Begrifflichkeiten

Definition 1.5 (lineare Variet¨at)

Eine Menge V ⊆Rn heißtlineare Variet¨at(linear variety), wenn gilt:

∀x1, x2∈V ∀λ∈R:λx1+ (1−λ)x2 ∈V.

♦ Bemerkung 1.6

Im Gegensatz zur Konvexit¨at, muss nicht nur die Verbindung zwischen zwei Punkten in einer linearen Variet¨at enthalten sein, sondern die Gerade, die durch diese zwei Punkte definiert

wird. ♦

(15)

1.2 Die Nebenbedingungen 15

Definition 1.7 (Hyperebene)

EineHyperebeneimRn ist eine (n−1)-dimensionale lineare Variet¨at, d.h. eine gr¨oßte lineare

Variet¨at, die nicht der ganze Raum selbst ist. ♦

Hyperebenen kann man folgendermaßen darstellen:

Lemma 1.8

Seia∈Rn\{0} und c∈R. Die Menge

H:={x∈Rn:aTx=c}

beschreibt eine Hyperebene imRn. Beweis

H ist eine lineare Variet¨at: Seien x1, x2∈H und λ∈R. Da aTx linear ist, gilt:

aT(λx1+ (1−λ)x2) =λaTx1+ (1−λ)aTx2 =λc+ (1−λ)c=c.

Es bleibt also zu zeigen, dassH die Dimension (n−1)besitzt.

Setze nun M := H−x1, d.h. f¨uhre eine Translation um x1 durch und erhalte einen linearen Unterraum desRn, denn 0∈M. F¨ur jedesx∈M gibt es einy ∈H mitx=y−x1 und es gilt:

aTx=aT(y−x1) =aTy−aTx1 =c−c= 0,

d.h M enth¨alt alle Vektoren x, die senkrecht auf a stehen, also aTx = 0 erf¨ullen. Oder anders ausgedr¨uckt:aerzeugt das orthogonale KomplementM. Da der vona∈Rnerzeugte Unterraum von Dimension 1 ist, muss aus Dimensionsgr¨unden8dannM (n−1)-dimensional sein und damit auchH. Also ist H eine Hyperebene.

Andererseits kann man zeigen, dass jede Hyperebene obige Darstellung hat:

Lemma 1.9

SeiH eine Hyperebene im Rn. Dann gibt es eina∈Rn\{0} und eine Konstantec∈R, sodass H={x∈Rn:aTx=c}.

Beweis

Seix1 ∈H. Erhalte wie oben durch Translation M =H−x1. Da H eine Hyperebene ist, istM ein (n−1)-dimensionaler Teilraum des Rn und dim(M) = 1. Sei a ∈ Rn\{0} mit a ∈ M; dann ist M ={x∈Rn:aTx= 0}. Setze c:=aTx1 und w¨ahle ein x2 ∈H beliebig. Erhalte

x2−x1 ∈H−x1 =M

⇒0 =aT(x2−x1) =aTx2−aTx1

| {z }

=c

⇒aTx2 =c

⇒H ⊆ {x∈Rn:aTx=c}.

Da H als Hyperebene von Dimensionn−1ist und die Menge {x∈Rn:aTx=c} nach vorigem Beweis die gleiche Dimension hat, gilt

H={x∈Rn:aTx=c}.

8Es gilt:MM=Rn und dim(M) + dim(M) = dim(Rn) =n.

(16)

16 1 Grundlagen und Vor¨uberlegungen

Definition 1.10 (Halbr¨aume)

Hyperebenen k¨onnen einen Raum in Halbr¨aume unterteilen:

Seien a ∈ Rn\{0} und c ∈ R. Zu der Hyperebene H = {x ∈ Rn : aTx = c} definiere den zugeh¨origenpositiven undnegativen, abgeschlossenen Halbraum

H+:={x∈Rn:aTx≥c} und H:={x∈Rn:aTx≤c}, sowie denpositiven undnegativen, offenen Halbraum

+:={x∈Rn:aTx > c} und H˚:={x∈Rn:aTx < c}.

F¨ur die abgeschlossenen Halbr¨aume bilden die Hyperebenen aTx=c den Rand. ♦ Bemerkung 1.11

Halbr¨aume sind ebenfalls konvex undH+∪H =Rn. ♦

Definition 1.12 (konvexes Polytop)

Einkonvexes Polytop9 ist ein Schnitt von endlich vielen Halbr¨aumen. ♦ Mit diesen Grundlagen k¨onnen wir nun weiterarbeiten und die Begriffe anwenden:

Betrachten wir die Nebenbedingungen

Ax=b mitA∈Rm×n und b∈Rm, (1.7)

x≥0, (1.8)

so beschreibt die Ungleichung abgeschlossene Halbr¨aume und die Gleichheitsbedingung Hyper- ebenen. Das heißt, der zul¨assige Bereich ist nach obiger Definition ein konvexes Polytop.

1.2.3 Algebraische Betrachtung der Nebenbedingungen

Bei der Bestimmung der L¨osungsmenge, spielt im Allgemeinen vor allem die Anzahl an Unbe- kannten im Vergleich zu der Anzahl an linear unabh¨angigen Gleichungen eine Rolle. Wir hatten bereits vorausgesetzt, dass es mehr Unbekannte als Bedingungen gibt (m ≤n). Dennoch kann es mehrere M¨oglichkeiten geben: F¨uhren die Gleichungen beispielsweise zu widerspr¨uchlichen Bedingungen, so kann keine L¨osung vorliegen. Sind Gleichungen linear abh¨angig, dann k¨onnen diese eliminiert werden. Die Existenz bzw. Eindeutigkeit einer L¨osung muss also zun¨achst einmal festgestellt werden.

Um uninteressante F¨alle, wie zum Beispiel den Fall, dass keine L¨osung gefunden werden kann, auszuschließen, sollen - wie bereits erw¨ahnt - folgende Annahmen gemacht werden:

• Es gelte m < n, d.h. es liegt im Allgemeinen keine eindeutige L¨osung vor, da das Glei- chungssystem unterbestimmt ist.

9Diese Definition richtet sich nach [1]. In anderen Quellen wird eine Menge, die Schnitt endlich vieler (abge- schlossener) Halbr¨aume ist, als Polyeder bezeichnet und ein beschr¨anktes Polyeder als Polytop. Siehe z.B. [7]

Seite 159/298.

(17)

1.2 Die Nebenbedingungen 17

• Es gelte rk(A) =m, alle Gleichungen sind also linear unabh¨angig.

Um mit den vorliegenden Nebenbedingungen besser umgehen zu k¨onnen, definieren wir zun¨achst zwei wichtige Begriffe:

Definition 1.13 (Basispunkt, Basisvariable)

Sei ein lineares Gleichungssystem (1.7) mitm Gleichungen und n Unbekannten gegeben, sei B eine Untermatrix, die ausmlinear unabh¨angigen Spalten vonAbesteht. Diese linear unabh¨angi- gen Spalten f¨ur die Bildung vonB heißen Basisvektoren.

Die zu den Spalten vonB geh¨orenden Komponenten vonx, nennt manBasisvariablen(basic variables), die anderenNichtbasisvariablen.

Gilt f¨ur die L¨osung x von (1.7), dass alle Nichtbasisvariablen, also Komponenten, die nicht zu einer der ausgew¨ahlten Spalten von B geh¨oren, gerade Null sind, so spricht man von einem Basispunkt(basic point)10 bez¨uglich der BasismatrixB. ♦ Notation 1.14

Es bietet sich an, die Indices der Basisvariablen und zugeh¨origen Basisvektoren der Matrix A zusammenzufassen, um leichter ¨uber sie sprechen zu k¨onnen:

• Sei B die Menge der Indices, die zu einer Basisvariablen geh¨oren. Oft nennt man B auch Basis.

• Sei N ={1, . . . , n}\B die Menge der Indices der Nichtbasisvariablen.

Im Folgenden ben¨otigen wir zur Unterscheidung eines Matrixeintrags von einer Spalte diese Notation:

• Wird ein einzelner Eintrag der Matrix A betrachtet, so schreiben wir aij, i ∈ {1, . . . , m}, j ∈ {1, . . . , n}.

• Soll eine komplette Spalte der Matrix angesprochen werden, so wird das mit der Notation

¯

aj, j∈ {1, . . . , n}, geschehen.

♦ Unter der Annahme, dass A den Rang m hat, ist es m¨oglich, m linear unabh¨angige Spalten {¯ai1, . . . ,¯aim} ⊆ {¯a1, . . . ,¯an} auszuw¨ahlen und diese als eine Untermatrix von A aufzufassen.

Diese neu konstruierte (m×m) Matrix - nennen wir sie wie obenB - hat dann vollen Rang und ist insbesondere invertierbar. Das heißt, um einen Basispunkt f¨ur das lineare Gleichungssystem (1.7) zu finden, gen¨ugt es, das System

BxB=b⇔xB =B−1b (1.9)

(eindeutig) zu l¨osen und daraufhin die entsprechenden Komponenten xij von xmit der L¨osung (xB)j, j ∈ {1, . . . , m},und alle ¨ubrigen Komponenten von xmit Null zu besetzten.

Da man allgemein die Spalten einer Matrix in einem Gleichungssystem vertauschen kann, ohne die L¨osungsmenge zu ¨andern, (dabei ist eine Vertauschung von Komponenten des L¨osungsvektor

10Vgl. [2] Seite 364 f: F¨ur

Basispunkt“ wird oft der Begriff

Basisl¨osung“ (basic solution) verwendet. Da in der Problemstellung aber eine optimale L¨osung gesucht wird und dazu im Normalfall einige Basispunkte konstruiert werden, ist es sinnvoll hier in den Begrifflichkeiten zu unterscheiden.

(18)

18 1 Grundlagen und Vor¨uberlegungen

zu beachten) soll nun im Folgenden stets angenommen werden, dass die ersten m Spalten von A linear unabh¨angig sind und als Untermatrix B aufgefasst werden.

Diese Annahme vereinfacht die Schreibweise erheblich; damit allerdings nicht der Eindruck ent- steht, alle ¨Uberlegungen w¨urden nur unter dieser Annahme funktionieren, wird vor allem in Definitionen allgemeinB als die Menge der Indices von Basisvariablen geschrieben.

Der ermittelte Basispunkt ist, mitB={1, . . . , m}, x= (xTB,0T)T ∈Rm+(n−m), wobei 0∈Rn−m. Es ist klar, dass das urspr¨ungliche Gleichungssystem (1.7) auch noch andere L¨osungen besitzen kann, als (xTB,0T)T.

Die Spalten von B spannen den Rm auf, bzw. k¨onnen als Basis aufgefasst werden. Dann stellt die gefundene L¨osung x zusammen mit den Basisvektoren eine Linearkombination f¨urb dar.

Nat¨urlich kann es vorkommen, dass eine Basisvariable den Wert Null annimmt. Diese ist dann weder sofort als solche erkennbar noch eindeutig. F¨ur diesen Fall gibt es eine eigene Definition:

Definition 1.15 (entarteter Basispunkt)

Ist mindestens eine der Basisvariablen eines Basispunktes Null, so spricht man von einement-

arteten Basispunkt(degenerate basic point). ♦

Um deutlich zu machen, dass bei entarteten Basispunkten die Eindeutigkeit der linear un- abh¨angigen Spalten vonA verloren geht, soll folgendes Beispiel gegeben werden:

Beispiel 1.16 Seim= 4, n= 6,

A=

1 1 1 0 0 0

5 2 0 1 0 0

1 0 0 0 1 0

0 1 0 0 0 −1

und b=

 10 30 6 9

 .

Man kann vier linear unabh¨angige Spalten ausw¨ahlen und als Matrix B auffassen:

B=

1 1 0 0

5 0 1 0

1 0 0 0

0 0 0 −1

 ,

d.h.B={1,3,4,6}und als L¨osung des GleichungssystemsBx=berh¨alt manxB = (6,4,0,−9)T. Folglich ist x = (6,0,4,0,0,−9)T ein Basispunkt f¨ur das Gleichungssystem Ax = b. Dadurch, dass die Basisvariable x4 = 0 ist, erh¨alt man einen entarteten Basispunkt. Liegt also nur der Punktx= (6,0,4,0,0,−9)T vor, so ist nicht erkennbar, obx2, x4oderx5noch eine Basisvariable ist. In der Tat k¨onnte man auchx5 als weitere Basisvariable auffassen, denn das System

1 1 0 0

5 0 0 0

1 0 1 0

0 0 0 −1

 x1 x3

x5 x6

=

 10 30 6 9

hat ebenfalls die L¨osungxB= (6,4,0,−9)T. In diesem Falle ist die Basis also nicht eindeutig11!

11Vgl. [7] Seite 182 ff.

(19)

1.2 Die Nebenbedingungen 19

Bisher haben wir nur L¨osungen, insbesondere Basispunkte, des Gleichungssystems Ax= b be- trachtet. In den Nebenbedingungen wird aber zus¨atzlich gefordert, dass x ≥ 0 sein soll. Diese Bedingung muss von den Basispunkten nat¨urlich nicht unbedingt erf¨ullt sein (vgl. obiges Bei- spiel). Um diejenigen Punkte abgrenzen zu k¨onnen, die tats¨achlich als Optimum in Frage kom- men, f¨uhren wir einen weiteren Begriff ein:

Definition 1.17 (zul¨assiger Basispunkt)

Ein Basispunkt, der zus¨atzlich zul¨assig ist (vgl. Definition 1.2), heißt zul¨assiger Basispunkt (basic feasible point).

Um hervorzuheben, dass es sich um einen entarteten Basispunkt handelt, spricht man in einem solchen Falle von einementarteten zul¨assigen Basispunkt (degenerate basic feasible point).

Ein zul¨assiger Punkt heißt optimaler, zul¨assiger (Basis-)Punkt (optimal feasible (basic-) point), falls es keinen anderen zul¨assigen Punkt gibt, f¨ur den die Zielfunktion in ihrem Wert abnimmt. In diesem Fall kann man auch endg¨ultig von einer

”Basisl¨osung“ sprechen. ♦ Mit dieser F¨ulle an Definitionen ist es nun m¨oglich, erste grundlegende Beobachtungen festzu- halten, die beim L¨osen einer linearen Optimierungsaufgabe von großem Nutzen sind:

Theorem 1.18 (Hauptsatz der linearen Programmierung)

Gegeben sei ein lineares Optimierungsproblem in Standardform (1.3) und (1.4) mitA∈Rm×n undrk(A) =m.

i) Existiert ein zul¨assiger Punkt, so gibt es auch einen zul¨assigen Basispunkt.

ii) Existiert ein optimaler, zul¨assiger Punkt, so gibt es auch einen optimalen, zul¨assigen Ba- sispunkt.

Bemerkung 1.19

Der Beweis ist in [1] genau so zu finden, wie er hier gef¨uhrt wird. Da er aber bereits sehr wichtige Ideen des Simplex-Verfahrens aufzeigt, sollte er auch hier nicht fehlen. ♦ Beweis

i) Seix= (x1, . . . , xn)T ein zul¨assiger Punkt, d.h. insbesonderex≥0. Dann gilt

n

X

i=1

xi¯ai=x1¯a1+. . .+xn¯an=b. (1.10) Es sei angenommen, dass0≤k≤nKomponenten vonxecht positiv sind. Da Umsortieren der Komponenten und zugeh¨origen Spalten nichts ¨andert, k¨onnen wir annehmen, dass diese k Komponenten gerade die ersten x1, x2, . . . , xk sind. Also ist b eine Linearkombination der ersten k Spalten von A:

k

X

i=1

xi¯ai=b. (1.11)

Damit x ein Basispunkt sein kann, m¨ussen die zu den Basisvariablen geh¨origen Spalten von A nach Definition linear unabh¨angig sein. Es muss also im obigen Fall unterschieden werden, ob ¯a1, . . . ,¯ak linear unabh¨angig sind oder nicht.

(20)

20 1 Grundlagen und Vor¨uberlegungen

1. Fall

Seien a¯1, . . . ,a¯k linear unabh¨angig. Dann muss k≤m gelten, da rk(A) =m gilt.

• k = m: Nach Annahme sind die n−k = n−m ¨ubrigen Komponenten Null, da x zul¨assig ist; also istx nach Definition ein Basispunkt und B={1, . . . , k}.

• k < m: Da rk(A) =m ist, muss es insgesamt m linear unabh¨angige Spalten geben.

Es ist daher m¨oglich, noch m−k Spalten zu finden, sodass die ausgew¨ahlten Spalten paarweise linear unabh¨angig sind.

Fasst man die zugeh¨origen Komponenten von x als Basisvariablen auf, so liegt ein entarteter Basispunkt vor, da diese Variablen nach Annahme Null sind. Außerdem kann man {1, . . . , k} ⊂ B festhalten.

2. Fall

Seien ¯a1, . . . ,¯ak linear abh¨angig. Es muss nun ein Punkt so konstruiert werden, dass posi- tive Komponenten von x mit paarweise linear unabh¨angigen Spalten korrespondieren. Auf Grund der linearen Abh¨angigkeit folgt

∃(α1, . . . , αk)T ∈Rk\{0}:

k

X

i=1

αi¯ai= 0. (1.12)

Hierbei kann man annehmen, dass mindestens ein αi > 0, i ∈ {1, . . . , k}, ist, denn die Spalten sind linear abh¨angig, d.h. es gibt eine nichttriviale Linearkombination. Die Posi- tivit¨at eines solchen αi ergibt sich, wenn man unter Umst¨anden die Gleichung (1.12) mit (−1)multipliziert.

Sei ε ∈ R beliebig. Multipliziere Gleichung (1.12) mit ε, subtrahiere sie von (1.11) und erlange

k

X

i=1

(xi−εαi)¯ai=b. (1.13)

F¨ur jedes ε ist also xε := (x1−εα1, . . . , xk−εαk,0, . . . ,0)T ∈ Rn eine L¨osung des Glei- chungssystems, wobei xε≥0 nat¨urlich nicht unbedingt gelten muss.

Sei nun ε > 0. Dann h¨angt es vom Vorzeichen des entsprechenden αi, i∈ {1, . . . , k}, ab, ob die jeweilige Komponente vonxε gr¨oßer wird, gleich bleibt, oder der Wert abnimmt.

Da man Nichtnegativit¨at der L¨osung erreichen will, kann man diejenigen Komponenten, f¨ur dieαi≤0gilt, außer Acht lassen, da diexi bereits positiv sind undxi−εαi f¨ur positive εund negative αi im Wert nur steigen kann.

Nach oben ist aber mindestens ein αi > 0, i ∈ {1, . . . , k}, daher wird mindestens eine Komponente von xε kleiner, wenn man den Wert von εvon Null an vergr¨oßert:

xi− ε

|{z}

0%

αi

|{z}

>0

wird insgesamt kleiner.

Wir vergr¨oßern εnun so lange, bis eine Komponente Null wird (dies ist m¨oglich, da min- destens eine im Wert abnimmt) und setzen dann entsprechend

(21)

1.2 Die Nebenbedingungen 21

˜

ε:= min

i∈{1,...,k}

xi

αi

: αi>0

≥0; (1.14)

so ist xε˜weiter ein zul¨assiger Punkt, mit h¨ochstens k−1 positiven Komponenten:

Sei xαl

l = min

i∈{1,...,k}{αxi

ii >0}= ˜ε; dann gilt:

xl−εα˜ l= 0 und xj− xl

αlαj ≥xj− xj αjαj = 0 f¨ur alle j∈ {1, . . . , k}.

Indem ein Koeffizient Null gleichgesetzt wurde, konnten wir nun eine Spalte aus der Line- arkombination des Vektors b eliminieren und dabei die Zul¨assigkeit erhalten.

Im n¨achsten Schritt muss ¨uberpr¨uft werden, ob die ¨ubrigen Spalten nun linear unabh¨angig sind oder unter Umst¨anden das Vorgehen wiederholt werden muss.

Sind alle Spalten, die jeweils zu einer von Null verschiedenen Variablen geh¨oren, linear unabh¨angig, liegt nach den ¨Uberlegungen von Fall 1 ein (entarteter) Basispunkt vor.

ii) Seix= (x1, . . . , xn)T ein optimaler, zul¨assiger Punkt. Zun¨achst hat man die gleiche Fall- unterscheidung, wie im ersten Teil des Beweises.

Sind die zu den von Null verschiedenen Variablen geh¨origen Spalten linear unabh¨angig, so ¨andert sich an der Argumentation von oben nichts, außer, dass man einen optimalen, zul¨assigen Punkt und damit einen optimalen, zul¨assigen Basispunkt hat.

Im anderen Fall, falls die besagten Spalten linear abh¨angig sind, ist die Argumentation zun¨achst einmal wie im obigen Fall. Allerdings muss noch untersucht werden, ob die L¨osung mit einer kleineren Anzahl an positiven Komponenten immer noch optimal ist.

Die Zielfunktion nimmt an der L¨osungx−εα von (1.13) den Wert

cTx−εcTα

an. Da x= (x1, . . . , xn)T = (x1, . . . , xk,0, . . . ,0)T ist, wobei (x1, . . . , xk)T >0 gilt, ist f¨ur ε mit |ε|hinreichend klein, x−εα= (a1−εα1, . . . , ak−εkαk,0, . . . ,0)T ≥0 ebenfalls ein zul¨assiger Punkt. Das heißt, man k¨onnte εso w¨ahlen, dass x−εα zul¨assig bleibt und

cTx−εcTα < cTx (im Falle einer Minimierungsaufgabe) bzw. cTx−εcTα > cTx (im Falle einer Maximierungsaufgabe)

gilt. Dies w¨are aber ein Widerspruch dazu, dasscTx ein Optimum ist und deshalb muss cTα= 0

sein.

(22)

22 1 Grundlagen und Vor¨uberlegungen

Ist f die zu optimierende Zielfunktion, so gilt

miny∈Kf(y) =f(x) =cTx=cTx−εcTα

|{z}

=0

=f(x−εα) bzw. max

y∈K f(y) =f(x) =cTx=cTx−εcTα

|{z}

=0

=f(x−εα), (1.15)

wobei K der zul¨assige Bereich der Optimierungsaufgabe ist. Also ist auch x−εα optimal und zul¨assig, wenn εentsprechend gew¨ahlt wird.

Dieses Theorem liefert die Begr¨undung daf¨ur, dass man sich beim Suchen nach L¨osungen aus- schließlich auf zul¨assige Basisl¨osungen beschr¨anken kann!

Das Simplex-Verfahren wird sp¨ater die Idee des Beweises verwenden, den Vektor b durch ver- schiedene Linearkombinationen darzustellen und so lange von Kombination zu Kombination zu gelangen, bis schließlich f¨ur eine der Wert der Zielfunktion optimiert wird.

In diesen Linearkombinationen werden die Spalten der Matrix A der Nebenbedingungen als Basisvektoren aufgefasst. Ist diese Matrix aber sehr groß, so kann es trotz dieser erheblichen Einschr¨ankung des Suchbereiches sein, dass mn

(bzw. m+nm

im Falle von Ungleichungsrestrik- tionen und Schlupfvariablen) Kombinationen untersucht werden m¨ussen, da dies gerade die Anzahl an M¨oglichkeiten ist, m Basisvektoren aus n (bzw. m+n) auszuw¨ahlen. Dies ist zwar eine endliche Zahl, kann aber dennoch sehr groß sein und damit das Vorgehen, alle Kombina- tionen zu untersuchen, ineffizient werden. Das heißt ein strategisches Vorgehen muss die Suche nach dem Optimum noch verbessern, indem zum Beispiel nur solche Kombinationen betrachtet werden, an denen der Wert der Zielfunktion kleiner bzw. gr¨oßer wird.

1.2.4 Geometrische Betrachtung der Nebenbedingungen

Um die allgemeinen Nebenbedingungen

Ax=b bzw. Ax≤b mitA∈Rm×n und b∈Rm, und x≥0

geometrisch zu betrachten, bietet es sich an, ein einfaches, konkretes Beispiel anzuschauen.

Die Funktion

f(x1, x2) = 3

4x1+x2

soll maximiert werden und die L¨osung dieses Optimierungsproblems im R2 soll folgende Glei- chungen erf¨ullen:

1

2x1+x2≤2

x1+x2≤3 und x1, x2≥0.

(23)

1.2 Die Nebenbedingungen 23

Graphisch betrachtet ist dies der Schnitt der beiden Dreiecke, die durch die Geraden x2 =−1

2x1+ 2 x2 =−x1+ 3 und die Achsen beschrieben werden:

Abbildung 1.1: Nebenbedingungen und zul¨assiger Bereich

In die gleiche Graphik kann man nun die verschiedenen Niveaulinien der Zielfunktion einzeich- nen; dabei macht man sich leicht klar, dass die Niveaus von f steigen je weiter die Niveaulinien

”rechts“ liegen. Man bestimmt jene, f¨ur die ein Maximum erreicht wird:

Abbildung 1.2: Zul¨assiger Bereich mit Zielfunktion

(24)

24 1 Grundlagen und Vor¨uberlegungen

Die folgenden Schaubilder verdeutlichen einige M¨oglichkeiten f¨ur den zul¨assigen Bereich und die Menge an optimalen L¨osungen f¨ur Maximierungsprobleme:

(a) beschr¨anktesKund ein- deutige L¨osung

(b) beschr¨anktes Kmit un- endlich vielen L¨osungen

(c) K = ∅, da der Schnitt der Halbr¨aume leer ist

(d) unbeschr¨anktes K und keine L¨osung

Es ist schon rein anschaulich klar, dass das Optimum - vorausgesetzt es existiert eines - in einem Eckpunkt des zul¨assigen Bereiches angenommen wird. Wie im Folgenden gezeigt werden soll, ist dies nicht nur f¨ur dieses Beispiel der Fall.

Zun¨achst muss eine

”Ecke“ formal definiert werden:

Definition 1.20 (Ecke)

Seix aus einer konvexen Menge K. Falls aus

x=λx1+ (1−λ)x2 f¨ur λ∈(0,1), x1, x2∈K (1.16) schonx1 =x2 folgt, so istx eine Ecke (extreme point). ♦

1.2.5 Zusammenhang der algebraischen und geometrischen Be- trachtung

Im vorhergehenden Teil haben wir herausgefunden, dass man sich bei der Suche nach einem Optimum auf zul¨assige Basispunkte beschr¨anken kann und die geometrischen Betrachtung l¨asst vermuten, dass das Optimum in einem Eckpunkt des zul¨assigen Bereiches angenommen wird.

Tats¨achlich besteht zwischen der algebraischen und geometrischen Betrachtung folgender Zu- sammenhang:

(25)

1.2 Die Nebenbedingungen 25

Theorem 1.21 ( ¨Aquivalenzsatz)

SeienA∈Rm×n mitrk(A) =m und b∈Rm.

Sei K = {x ∈ Rn : Ax = b und x ≥ 0} das konvexe Polytop der zul¨assigen Punkte des Optimierungsproblems.

Ein Punktx∈ K ist genau dann eine Ecke, wennx ein zul¨assiger Basispunkt der Nebenbedin- gungen (1.7) und (1.8) ist.

Beweis12

”⇒“: Seix∈ K eine Ecke. Nat¨urlich gilt auch f¨ur die Ecken

n

X

i=1

xii =

k

X

i=1

xi¯ai =b und xi ≥0, i∈ {1, . . . n}, (1.17) falls wir wieder annehmen, dass¯ai, i∈ {1, . . . , n},die Spalten vonA sind und die echt positiven Komponenten von x gerade die ersten k sind. Damit x ein Basispunkt ist, m¨ussen die zu den positiven Komponenten geh¨origen Spalten linear unabh¨angig sein.

Angenommen, sie w¨aren es nicht. Dann gibt es eine nichttriviale Linearkombination:

∃α= (α1, . . . , αk,0, . . . ,0)T ∈Rn\{0}:

k

X

i=1

αii = 0.

Da f¨ur i∈ {1, . . . , k}xi >0 ist, gilt f¨ur hinreichend kleines ε6= 0:

x+εα≥0 und x−εα≥0. (1.18)

Dabei ist x+εα 6= x−εα und x+εα, x−εα ∈ K mit der gleichen Argumentation aus dem Beweis des Hauptsatzes der linearen Optimierung (vgl. (1.13)).

Weiter gilt aber

x= 1

2(x+εα) +1

2(x−εα) (1.19)

und damit w¨are eine Linearkombination der Eckex aus zwei verschiedenen Vektoren gefunden, was aber nach Definition nicht sein kann.

Also sind die Spalten ¯a1, . . . ,¯ak linear unabh¨angig oder anders ausgedr¨uckt B={1, . . . , k}.

Genau die gleiche Argumentation gilt im Falle eines entarteten Punktes.

”⇐“: Sei nun x ∈ Rn ein zul¨assiger Basispunkt, und B die Menge der Indices der echt positiven Komponenten von x. Dann sind ¯ai, i∈ B paarweise linear unabh¨angig und

X

i∈B

xi¯ai =b. (1.20)

Damitx eine Ecke von K ist, darf es keine verschiedenen Punkte y, z ∈ K geben, sodass

x=λy+ (1−λ)z, λ∈(0,1) und y6=z. (1.21)

12Vgl. [1] Seite 21 f.

(26)

26 1 Grundlagen und Vor¨uberlegungen

Angenommen, es g¨abe doch eine solche Konvexkombination, mit y 6= z. Da x, y, z ∈ K sind, sind alle Komponenten der drei Vektoren nicht negativ. Also m¨ussen auch die Komponenten von y und z, deren Indices in N liegen, Null sein, denn

0 =xj = λyj

|{z}≥0

+ (1−λ)zj

| {z }

≥0

⇒yj =zj = 0 f¨ur allej ∈ N.

Mit y, z ∈ K gilt

X

i∈B

yi¯ai=b und X

i∈B

zj¯ai =b. (1.22)

Betrachtet man die Differenz der beiden Gleichungen X

i∈B

(yi−zi)¯ai= 0, (1.23)

so muss wegen der linearen Unabh¨angigkeit der ¯ai, i∈ B,schon yi =zi, i∈ {1, . . . , k} gelten.

Also y=z, was ein Widerspruch zu Annahme ist und damitx eine Ecke von K.

Bemerkung 1.22

Mit diesem Theorem und der Definition eines zul¨assigen Basispunktes folgt nat¨urlich, dass f¨ur die Ecken des zul¨assigen Bereiches die Spalten ¯aj, j ∈ B, von A linear unabh¨angig sind.13 Korollar 1.23 (Existenzsatz)

Der konvexe zul¨assige BereichK ={x∈Rn: Ax=b und x≥0} besitzt Ecken, fallsK 6=∅.

Beweis

Die Elemente aus K sind zul¨assig. Dann gibt es nach dem Hauptsatz der linearen Programmie- rung einen zul¨assigen Basispunkt in K. Dieser ist nach obigem Theorem eine Ecke.

Korollar 1.24

Gibt es eine (endliche) optimale L¨osung des linearen Optimierungsproblems, dann gibt es eine (endliche) optimale L¨osung, die eine Ecke des zul¨assigen Bereiches K ist.

Beweis

Mit einer (endlichen) optimalen L¨osung aus K, gibt es nach dem Hauptsatz der linearen Pro- grammierung auch eine (endliche) optimale Basisl¨osung, die nach obigem Theorem eine Ecke ist.

Korollar 1.25

Der zul¨assige BereichK hat eine endliche Anzahl an Ecken.

Beweis

Nach obigen ¨Uberlegungen gibt es nur eine endliche Anzahl an Basispunkten, n¨amlich h¨ochstens

n m

, falls A∈Rm×n. Nach dem ¨Aquivalenzsatz gibt es somit auch endlich viele Ecken.

13In [3] als

Charakterisierungssatz“ bezeichnet.

(27)

1.2 Die Nebenbedingungen 27

Satz 1.26

SeiK={x∈Rn: Ax=b und x≥0} 6=∅beschr¨ankt.

Dann nimmt die Zielfunktionf(x) =cTx ihr Optimum in einer Ecke an.

Beweis

Dass die stetige Zielfunktion ihr Optimum auf dem kompakten (abgeschlossenen und beschr¨ank- ten) zul¨assigen Bereich annimmt, gilt nach Bolzano-Weierstraß. Nach dem Hauptsatz der li- nearen Programmierung gibt es dann auch einen optimalen zul¨assigen Basispunkt. Dieser ist

¨aquivalent zu einer Ecke vonK.

(28)
(29)

Kapitel 2

Pivotisierung

Die Idee des Simples-Verfahrens besteht darin, f¨ur die Nebenbedingungen

Ax=b mit A∈Rm×n und b∈Rm, (2.1)

den Vektor b als Linearkombination verschiedener Basisvektoren (Spalten ¯aj, j ∈ B, von A) darzustellen.

Hierzu eine anschauliche Verdeutlichung, wie die Darstellung der Nichtbasisvektoren und des Vektorsb durch die Basisvektoren geometrisch interpretiert werden kann1.

Dazu nehme man an, es liege ein Optimierungsproblem mitm= 2 Gleichungsbedingungen und n= 4 Unbekannten vor.

Abbildung 2.1: Vektor bmit Basis- und Nichtbasisvektoren

Von den Vektoren a1, . . . , a4 k¨onnen nun zwei zur Darstellung von b verwendet werden. Dabei ist aber nicht jede Kombination m¨oglich. Zum Beispiel istb nicht durch a1 und a4 darstellbar, wenn die Koeffizienten - wie bei einem zul¨assigen Basispunkt gefordert - nicht negativ sein sollen.

Dagegen w¨are eine Kombination ausa1 und a2 m¨oglich.

1Vgl. [1] Fig. 3.1 Seite 40.

(30)

30 2 Pivotisierung

Neue Linearkombinationen entstehen durch Ersetzen eines Basisvektors ¯aj, j ∈ B,durch einen Nicht-Basisvektor ¯al, l ∈ N, wobei der Wert der Zielfunktion f¨ur eine neue Linearkombination nicht gr¨oßer werden soll (im Falle eines Minimierungsproblems).

Der Hauptsatz der linearen Optimierung besagt, dass man sich bei der Bestimmung der opti- malen Linearkombination auf die zul¨assigen Basispunkte beschr¨anken kann.

Zun¨achst soll noch einmal zusammengetragen werden, welche Annahmen im Folgenden gelten sollen. Die Begr¨undungen hierf¨ur wurden bereits im ersten Kapitel gegeben, deshalb hier nur eine ¨Ubersicht:

Voraussetungen 2.1

• Es gelte stetsA∈Rm×n und b∈Rm.

• Die MatrixA habe vollen Rang rk(A) =m.

• Es geltem < n, m, n∈N.

• Die Komponenten des Vektorsb seien nichtnegativ:bi ≥0, i∈ {1, . . . , m}.

• Es werden Minimierungsaufgaben betrachtet.

In diesem Kapitel soll nun aufgezeigt werden, wie ein

”Basiswechsel“ konkret durchgef¨uhrt wird.

Die Nebenbedingungen (2.1) stellen m < nGleichungen dar:

a11x1+a12x2+. . .+a1nxn =b1

a21x1+a22x2+. . .+a2nxn =b2 ... ... ... ... am1x1+am2x2+. . .+amnxn=bm,

(2.2)

wobei man die Gleichungen auch vektorwertig auffassen kann:

x1¯a1+x2¯a2+. . .+xnn=

n

X

i=1

xi¯ai=b. (2.3)

Im ersten Kapitel wurde bereits diskutiert, dass es im Falle vonm < n keine eindeutige L¨osung gibt. Um b darzustellen, gen¨ugt es aus Dimensionsgr¨unden m linear unabh¨angige Spalten zu einer Linearkombination zu vereinigen. Dies hat zur Folge, dass die Koeffizienten der ¨ubrigen n−m Spalten Null gesetzt werden k¨onnen.

Oft sieht man auf den ersten Blick, welchemVektoren linear unabh¨angig sind, z. B. im Falle von Schlupfvariablen. Dann hat man m Einheitsvektoren, aus denen sich der Vektor b auf triviale Weise darstellen l¨asst. Allerdings beachtet man bei dieser Wahl der Vektoren nicht die eigentliche Minimierungsaufgabe. Im Allgemeinen nimmt der Wert der Zielfunktion f¨ur Basisvariablen einer anderen Kombination ab.

Das Simplex-Verfahren tauscht dann einen Basisvektor ¯aj, j ∈ B, durch eine andere Spalte

¯

al, l ∈ N, von A aus, die bisher noch nicht an der Darstellung von b beteiligt ist, sodass dabei insgesamt eine Reduktion der Zielfunktion garantiert wird bzw. zumindest keine Zunahme im Funktionswert auftritt. Da es sich bei dem Vorgehen um eine Bewegung von einem Basispunkt zum n¨achsten handelt, da nur ein Basisvektor ausgetauscht wird, spricht man auch von einem

”Eckenmarsch“.

(31)

31

Um dieses Vorgehen mathematisch beschreiben zu k¨onnen, m¨ussen zun¨achst noch wenige Begriffe eingef¨uhrt werden, um ¨uber die Situation sprechen zu k¨onnen.

Definition 2.2 (Zeilenstufenform)

Das Gleichungssystem (2.2) ist inZeilenstufenform(canonical form), falls es folgende Gestalt hat:

x1 +a1,m+1xm+1+. . .+a1nxn =b1

x2 +a2,m+1xm+1+. . .+a2nxn =b2

. .. ... ... ...

xm+ym,m+1xm+1+. . .+amnxn=bm.

(2.4)

♦ Bemerkung 2.3

• Nach der Definition aus Kapitel 1 erh¨alt man aus (2.4) einen trivialen Basispunkt durch x= (x1, . . . , xn)T = (b1, . . . , bm,0, . . . ,0)T ∈Rn,

das heißt, die ersten m Spalten in (2.4) definieren eine BasisB={1, . . . , m}und die rest- lichen Spalten k¨onnen jeweils als Linearkombination der Basisvektoren dargestellt werden:

¯

aj =a1j¯a1+. . .+amj¯am=

m

X

i=1

aij¯ai, j∈ {m+ 1, . . . , n}

und b=b1¯a1+. . .+bm¯am=

m

X

i=1

bi¯ai.

(2.5)

• Ist einbi, i∈ {1, . . . , m},zu Beginn negativ, so kann die zugeh¨orige Zeile mit−1 multipli- ziert werden. Allerdings ist dann in der trivialen L¨osung

x= (x1, . . . , xn)T = (b1, . . . , bm,0, . . . ,0)T ∈Rn,

die entsprechende Komponente negativ. Es liegt also kein zul¨assiger Basispunkt mehr vor.

In diesem Fall muss zun¨achst noch ein solcher gefunden werden. Dazu sp¨ater in Abschnitt 3.2.2 mehr.

• Man kann den Begriff der Zeilenstufenform erweitern, indem man auch Gleichungssysteme so bezeichnet, f¨ur die die Einheitsvektoren nicht unbedingt in den erstenmSpalten stehen, sondern auf beliebige Spalte verteilt sind. Insbesondere ist dann auch

a11x1+. . .+ a1,n−mxn−m+xn−m+1 =b1 a21x1+. . .+ a2,n−mxn−m+ xn−m+2 =b2

... ... . .. ...

am1x1+. . .+am,n−mxn−m+ xn=bm

(2.6)

in Zeilenstufenform.

Referenzen

ÄHNLICHE DOKUMENTE

lyse, und viele weitere Laboratorien, in denen über freie Radikale, Strahlenchemie, Strahlenbiologie und Photochemie gearbeitet wird, erhoffen sich wertvolle

Eidgenössisches Departement für Umwelt, Verkehr, Energie und Kommun Das UVEK überwacht und steuert die Arbeiten am Sachplan.. Website: www.uvek.admin.ch Bundesamt für

Damit kann der Benutzer (Landwirt/Berater) in einer Datenbank nach verschiedenen Kriterien selek- tieren und sich zusätzlich zu einer Liste von Herbiziden auch noch

Ist Controlling ein Konzept oder Unternehmensführung oder geht Controlling alle Angehörige des Unternehmens an?. Was bedeutet operatives, was

Wenn (es nicht der Fall ist, dass Melly einflussreiche Leute kennt und es nicht der Fall ist, dass Rita einflussreiche Freude hat), dann Erhält Nana den Posten. Wenn es nicht der

public class MehrereButtons extends JFrame { private JPanel contentPane;. private boolean flag_enable

Oft werden rechtwinklig zueinander ste- hende Einzelkräfte gesucht, weil diese sich gegenseitig nicht beeinflussen.. Beispiele dafür sind Hangabtriebskraft und Normalkraft an

Sommersemester 2010 Universität Bielefeld. Ubungsaufgaben zur Analysis II ¨ Blatt III