137
Operations Research ur Wirtschaftsinformatiker Vorlesungsskript von Richard Mohr Fachhochschule Esslingen, SS 2005

Operations Research f˜ur Wirtschaftsinformatikermohr/praes/or.pdf · Operations Research f˜ur Wirtschaftsinformatiker Vorlesungsskript von Richard Mohr Fachhochschule Esslingen,

Embed Size (px)

Citation preview

Operations Research

fur Wirtschaftsinformatiker

Vorlesungsskript

von

Richard Mohr

Fachhochschule Esslingen, SS 2005

INHALTSVERZEICHNIS i

Inhaltsverzeichnis

1 Lineare Optimierung 1

1.1 Graphische Losung des linearen Optimierungsproblems . . . . . . . . . . . 1

1.2 Austauschverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Simplexverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Bestimmung einer zulassigen Basislosung . . . . . . . . . . . . . . . . . . . 13

1.5 Sonderfalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5.1 Probleme, die keine Losung besitzen . . . . . . . . . . . . . . . . . 17

1.5.2 Probleme mit unbeschranktem zulassigem Bereich . . . . . . . . . . 18

1.5.3 Probleme mit mehreren optimalen Basislosungen . . . . . . . . . . 19

1.5.4 Probleme mit degenerierter optimaler Basislosung . . . . . . . . . . 20

1.6 Erganzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.6.1 Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.6.2 Opportunitatskosten . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2 Transportprobleme 29

2.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2 Transportalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.2.1 Rechenschema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.2.2 Nord-West-Ecken-Regel . . . . . . . . . . . . . . . . . . . . . . . . 34

2.2.3 Optimalitatstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.2.4 Fiktive Quellen und Senken . . . . . . . . . . . . . . . . . . . . . . 43

2.2.5 Abweichende Problemstellungen . . . . . . . . . . . . . . . . . . . . 46

2.3 Umladeprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.4 Zuordnungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3 Dynamische Optimierung 56

3.1 Darstellung mehrstufiger Entscheidungsprozesse . . . . . . . . . . . . . . . 57

3.2 Losungsprinzip der dynamischen Optimierung . . . . . . . . . . . . . . . . 59

3.3 Stochastische Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4 Nichtlineare Optimierung 70

4.1 Losungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

ii INHALTSVERZEICHNIS

5 Warteschlangentheorie 86

5.1 Klassifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.2 Modellierung von Wartesystemen . . . . . . . . . . . . . . . . . . . . . . . 90

5.3 Das Wartesystem M|M|1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5.3.1 Gleichgewichtsfall des Systems M|M|1 . . . . . . . . . . . . . . . . . 97

5.4 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.4.1 Endlicher Warteraum . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.4.2 Das Wartesystem M|M|s . . . . . . . . . . . . . . . . . . . . . . . . 106

5.4.3 Das Wartesystem M|Ek|1 . . . . . . . . . . . . . . . . . . . . . . . . 108

5.4.4 Einschwingverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.4.5 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6 Simulation 114

6.1 Begriff Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.2 Erzeugen und Testen von Zufallszahlen . . . . . . . . . . . . . . . . . . . . 115

6.2.1 Erzeugung und Test gleichverteilter Zufallszahlen . . . . . . . . . . 115

6.2.2 Erzeugung diskret verteilter Zufallszahlen . . . . . . . . . . . . . . 118

6.2.3 Erzeugung kontinuierlich verteilter Zufallszahlen . . . . . . . . . . . 119

6.3 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

6.3.1 Satzgewinn beim Tennis . . . . . . . . . . . . . . . . . . . . . . . . 123

6.3.2 Simulation eines M|M|1-Warteschlangenmodells . . . . . . . . . . . 125

6.3.3 Ein Entscheidungsproblem . . . . . . . . . . . . . . . . . . . . . . . 127

Literaturverzeichnis 123

Index 124

1

1 Lineare Optimierung

Ein Programm zur linearen Optimierung ist fester Bestandteil jedes Software-Pakets zum

Thema Operations Research. Hier soll nur die grundsatzliche Vorgehensweise erlautert

werden. Zunachst wollen wir fur den Fall von zwei Variablen einen grahpischen Losungs-

weg skizzieren. Bei der Formulierung des allgemeinen Losungsverfahrens benotigen wir

eine Umformulierung des Gauß-Algorithmus zur Losung linearer Gleichungssysteme, das

sogenannte”Austauschverfahren“. Dies wird in einem Unterabschnitt bereitgestellt.

1.1 Graphische Losung des linearen Optimierungs-

problems

Zunachst machen wir uns die Problematik an einem einfachen Beispiel klar:

Eine Schuhfabrik stellt Damen- und Herrenschuhe her. Der beim Verkauf erzielte Gewinn

(Deckungsbeitrag) betrage bei Herrenschuhen 32 C, bei Damenschuhen nur 16 C. Die

Herstellung der Schuhe unterliegt bestimmten (stark vereinfachten) Nebenbedingungen,

welche die monatlich zur Verfugung stehende Zahl der Arbeitsstunden und Maschinenlauf-

zeiten sowie die in diesem Zeitraum verfugbare Ledermenge betreffen. Diese Annahmen

sind in der folgenden Tabelle zusammengefasst:

Damenschuh Herrenschuh verfugbar

Herstellungszeit [h] 20 10 800

Maschinenbearbeitung [h] 4 5 200

Lederbedarf [dm2] 6 15 450

Gewinn [ C] 16 32

Wir fuhren als Variable ein:

x1 = Zahl der produzierten Damenschuhe

x2 = Zahl der produzierten Herrenschuhe .

Damit konnen wir unsere Optimierungsaufgabe wie folgt formulieren:

20x1 + 10x2 ≤ 800 (1) g1 : 20x1 + 10x2 = 80

4x1 + 5x2 ≤ 200 (2) g2 : 4x1 + 5x2 = 200

6x1 + 15x2 ≤ 450 (3) g3 : 6x1 + 15x2 = 450

x1 ≥ 0 (4) g4 : x1 = 0

x2 ≥ 0 (5) g5 : x2 = 0

16x1 + 32x2 = Max! .

2 1 Lineare Optimierung

Die ersten drei Ungleichungen berucksichtigen die zu beachtenden Nebenbedingungen, die

beiden weiteren Ungleichungen den Tatbestand, dass die Zahl der produzierten Schuhe

nicht negativ sein kann. Die letzte Zeile gibt die zu maximierende Zielfunktion an.

Da unser Problem nur zwei Variable enthalt, kann es graphisch in der (x1, x2)-Ebene gelost

werden. Die Menge der Punkte (x1, x2), die eine der linearen Ungleichungen

ai1x1 + ai2x2 ≤ bi

erfullt, besteht aus einer Halbebene, d.h. aus allen Punkten oberhalb oder unter der Grenz-

gerade gi (je nach Vorzeichen der ai1, ai2)

ai1x1 + ai2x2 = bi .

Die funf Ungleichungen unseres Beispiels definieren auf diese Weise funf Halbebenen. Ein

zulassiger Punkt muss demnach im Durchschnitt dieser funf Halbebenen liegen.

A B

C

D

E

10

10

g1

g2

g316x1 + 32x2 = const.

Eckpunkte des zulassigen Bereichs

A(0|0) : (4) ∩ (5)

B(40|0) : (1) ∩ (5)

C(1003|40

3) : (1) ∩ (2)

D(25|20) : (2) ∩ (3)

E(0|30) : (3) ∩ (4)

Die Zielfunktion z = 16x1 + 32x2 ist zu maximieren.

Die Gerade 16x1 + 32x2 = c enthalt alle Punkte mit konstantem Gewinn c.

Damit c maximal wird, verschieben wir diese Gerade moglichst weit parallel nach oben, so

dass noch mindestens ein zulassiger Punkt darauf liegt. Man erkennt unschwer, dass der

Punkt D(25|20) zu optimalem Gewinn fuhrt:

z = 16 · 25 + 32 · 20 = 1040 .

1.1 Graphische Losung des linearen Optimierungsproblems 3

Aus der graphischen Losung entnehmen wir noch eine zusatzliche Information. Der Losungs-

punkt liegt auf den beiden Geraden g2, g3 wahrend g1 nicht tangiert wird. Dies bedeutet,

dass die verfugbare Maschinenzeit und die Ledermenge aufgebraucht sind, wahrend bei

den Arbeitsstunden noch freie Kapazitat vorhanden ist.

Dieses Verfahren lasst sich auf beliebig viele Ungleichungen anwenden.

m Lineare Ungleichungen in zwei Variablen

a11 · x1 + a12 · x2 ≤ b1

a21 · x1 + a22 · x2 ≤ b2

......

......

...

am1 · x1 + am2 · x2 ≤ bm

Die Losungsmenge jeder Ungleichung ist eine

Halbebene – je nach Vorzeichen von ai2 der

Bereich”unter“ oder

”uber“ der Grenzgerade

ai1 · x1 + ai2 · x2 = ci .

Die Festlegung”unter“ oder

”uber“ geschieht am besten durch eine Punktprobe. So kann

man zum Beispiel durch Einsetzen des Koordinatenursprungs in die Ungleichung uber-

prufen, ob dieser Punkt zur gesuchten Halbebene gehort.

Bemerkung: Auch Ungleichungen der Form1

ak1 · x1 + ak2 · x2 ≥ bk

lassen sich durch Multiplikation mit dem Faktor (−1) in die gewunschte Form bringen.

−ak1 · x1 − ak2 · x2 ≤ − bk

Als Losungsmenge eines solchen linearen Un-

gleichungssystems ergibt sich ein durch Gera-

denstucke begrenztes Gebiet (zulassiger Bereich)

in der (x, y)-Ebene. Die Eckpunkte ergeben sich

als Schnitt von zwei Geraden, d.h. als Losung ei-

nes linearen Gleichungssystems in zwei Variablen.

ai · x + bi · y = bi

aj · x + bj · y = bj

Um Eckpunkt des Gebiets zu sein, mussen auch

alle ubrigen Ungleichungen erfullt sein.

x

y

Optimierung der Zielfunktion z(x1, x2) = c1 · x1 + c2 · x2 + d!= Max

Die Zielfunktion ist eine lineare Funktion der Variablen x1 und x2. Ihre Niveaulinien

z(x1, x2) = constant bestehen aus einer Schar paralleler Geraden.

1Die Darstellungsform des Ungleichungssystems ist leider nicht einheitlich geregelt.

4 1 Lineare Optimierung

Die optimale Lage der Geraden

c1 · x1 + c2 · x2 = γ

ergibt sich durch Parallelverschiebung.

Ist die Losungsmenge des Ungleichungssystems beschrankt, so liegt die optimale Losung

in einem Eckpunkt. Sind zwei benachbarte Eckpunkte Losung des Optimierungsproblems,

so auch die gesamte Verbindungsstrecke.

Rechenstrategie: Man berechnet die Zielfunktion an allen Eckpunkten, vergleicht deren

Werte und bestimmt so den optimalen Punkt (x∗1|x∗2).

1.2 Austauschverfahren

In diesem Abschnitt wollen wir einen Algorithmus fur die Losung von linearen Glei-

chungssystemen entwickeln. Der im Folgenden dargestellte Algorithmus entspricht inhalt-

lich dem bekannten Gauß-Algorithmus, ergibt aber formal eine andere Datenorganisation.

Die grundlegenden Schritte seien bei der Losung eines 2× 2-Systems erlautert.

a11x1 + a12x2 = b1 (1)

a21x1 + a22x2 = b2 (2)

Die direkte Anwendung des Gauß-Algorithmus fuhrt auf die folgenden Umformungen: a11 a12 b1

a21 a22 b2

1 a12

a11

b1a11

a21 a22 b2

| ·(−a21)

¾∼

1 a12

a11

b1a11

0 a22 − a12a21a11

b2 − b1a21a11

Wir erhalten dasselbe Ergebnis, wenn wir das aus der Schule bekannte”Einsetzverfahren“

anwenden. Dazu losen wir die erste Gleichung nach x1 auf.

a11x1 + a12x2 = b1 ; x1 = b1a11

− a12a11

x2

Eingesetzt in die zweite Gleichung ergibt sich:

a21

(b1a11

− a12a11

x2

)+ a22x2 = b2 bzw. 0 ·x1 +

(a22 − a12a21

a11

)·x2 = b2− b1a21

a11

Dies entspricht genau der zweiten Zeile des Matrix-Schemas.

Wir wollen nun analog zum Vorgehen beim Invertieren einer Matrix das lineare Gleichungs-

system vollstandig nach den Variablen xi auflosen. Bezeichnen wir die Koeffizienten des

neuen Schemas mit αij bzw. βk, so erhalten wir: 1 α12 β1

0 α22 β2

1 α12 β1

0 1β2α22

|·(−α12)

¾

∼ 1 0 β1 − β2α12

α22

0 1β2α22

1.2 Austauschverfahren 5

Dieser Schritt entspricht wieder dem Auflosen der zweiten Gleichung nach x2 und anschlie-

ßendem Einsetzen in die erste Gleichung.

α22x2 = β2 ; x2 =β2α22

; x1 + α12

(β2α22

)= β1 ;

x1 + 0 · x2 = β1 − α12β2α22

In der letzten Spalte steht nun die Losung des linearen Gleichungssystems. Wir begreifen

die Division durch das Element a11 bzw. α22 und anschließendes Einsetzen in die verblie-

benene Gleichungen als einen Rechenschritt. Die Rechenregeln fur das Umstellen wollen

wir im Folgenden allgemein formulieren. a11 a12 b1

a21 a22 b2

1 a12

a11

b1a11

0 a22 − a12a21a11

b2 − b1a21a11

1 α12 β1

0 α22 β2

1 0 β1 − β2α12

α22

0 1β2α22

Das eingerahmte Element nennt man Pivotelement. Bezogen auf dieses Element apq erge-

ben sich die folgenden Regeln.

Rechenregeln

a) Das Pivotelement geht in 1 uber.

b) Die ubrigen Elemente der Pivotzeile sind durch das Pivotelement zu dividieren.

c) Die verbleibenden Elemente der Pivotspalte sind mit 0 zu belegen.

d) Die restlichen Elemente werden nach der sogenannten Rechteckregel transformiert.

Ist apq das Pivotelement, so ergeben sich die neuen Elemente durch:

a′ik = 1apq

aik aiq

apk apq

= aik − aiq · apkapq

i 6= p ; k 6= q .

Dieses Schema,”Austauschverfahren“ genannt, lasst sich auch auf nichtquadratische Sys-

teme ubertragen. Zur Unterscheidung zum Gauß-Algorithmus benutzen wir eine andere

außere Form.

Beispiel 1.1:x1 − x2 + 3x3 = 5

2x1 + 3x2 + x3 = −10

x1 x2 x3 b

1 −1 3 5

2 3 1 −10

x1 x2 x3 b

1 −1 3 5

0 5 −5 −20

x1 x2 x3 b

1 0 2 1

0 1 −1 −4

6 1 Lineare Optimierung

Als lineares Gleichungssystem geschrieben erhalt man aus dem letzten Tableau:

x1 + 0 · x2 + 2x3 = 1

0 · x1 + x2 − x3 = −4bzw. mit x3 = t

x1 = 1 − 2t

x2 = −4 + t

x3 = t

Es ist uns gelungen, die Variablen x1 und x2 in Abhangigkeit von x3 darzustellen. Wir

nennen in Zukunft diese Variable, deren Spalten in obigem Schema Einheitsvektoren sind,

Basisvariable. Es ist ublich, diese Variable in der ersten Spalte des Schemas zu notieren.

Das Austauschverfahren eignet sich auch zur Inversion einer Matrix.

Beispiel 1.2:y1 = 2x1 + x2

y2 = 5x1 + 3x2

BV x1 x2 y1 y2

y1 2 1 1 0

y2 5 3 0 1

BV x1 x2 y1 y2

x1 1 12

12

0

y2 0 12

−52

1

BV x1 x2 y1 y2

x1 1 0 3 −1

x2 0 1 −5 2

Nun wird auch die Bezeichnung”Austauschverfahren“ plausibel. Die Basisvariablen y1, y2

wurden gegen die Basisvariablen x1, x2 ausgetauscht.

Das Austauschverfahren lasst sich auch auf ein eindeutig bestimmtes lineares Gleichungs-

system anwenden.

Beispiel 1.3: x1 + 2x2 + 3x3 + 4x4 = 3

5x1 + 6x2 + 7x3 + 8x4 = 7

7x1 + 6x2 + 6x3 + 4x4 = 7

8x1 + 4x2 − 5x4 = 1

BV x1 x2 x3 x4 bi

1 2 3 4 3

5 6 7 8 7

7 6 6 4 7

8 4 0 −5 1

BV x1 x2 x3 x4 bi

x1 1 2 3 4 3

0 -4 −8 −12 −8

0 −8 −15 −24 −14

0 −12 −24 −37 −23

BV x1 x2 x3 x4 bi

x1 1 0 −1 −2 −1

x2 0 1 2 3 2

0 0 1 0 2

0 0 0 −1 1

BV x1 x2 x3 x4 bi

x1 1 0 0 −2 1

x2 0 1 0 3 −2

x3 0 0 1 0 2

0 0 0 -1 1

BV x1 x2 x3 x4 bi

x1 1 0 0 0 −1

x2 0 1 0 0 1

x3 0 0 1 0 2

x4 0 0 0 1 −1

x1 = −1

x2 = 1

x3 = 2

x4 = −1

1.3 Simplexverfahren 7

Bemerkung: Unter numerischen Gesichtspunkten wird man wegen Rundungsfehlern bei der

Auswahl der Pivotelemente nicht unbedingt entlang der”Hauptdiagonale“ vorgehen. Man

versucht durch Vertauschen von Zeilen (und gegebenenfalls auch Spalten) ein betragsmaßig

großes Element als Pivotelement festzulegen.

1.3 Simplexverfahren

Optimierungsprobleme fur mehr als zwei Variable lassen sich prinzipiell wie im Abschnitt

1.1 losen. Auch hier muss der optimale Punkt eine”Ecke“ des zulassigen Bereichs sein.

Bei n Variable werden die zulassigen Bereiche durch”Hyperebenen“ im IRn begrenzt. Um

diese Eckpunkte zu bestimmen mussen zunachst n lineare Gleichungen (entstanden aus n

linearen Ungleichungen durch Ubergang zum Gleichheitszeichen) gelost werden. Anschlie-

ßend ist zu uberprufen, ob auch die ubrigen Ungleichungen erfullt sind. Danach muss

die Zielfunktion in allen zulassigen Eckpunkten berechnet werden um das Optimum zu

bestimmen. Da die Anzahl der Eckpunkte rasch mit der Anzahl der Variablen und der

Nebenbedingungen wachst, ist diese Vorgehensweise nicht effektiv2. Ein sinnvolles Verfah-

ren sollte nur wenige Eckpunkte uberprufen und gezielt den optimalen Punkt suchen. Es

sollte

• nie von einer Ecke zu einer anderen mit geringerem Zielfunktionswert ubergehen;

• ein Abbruchkriterium besitzen, welches es gestattet zu entscheiden, ob der gegenwartig

uberprufte Eckpunkt optimal ist oder weiter gesucht werden soll, oder ob das Pro-

blem unlosbar ist.

Das bekannteste Verfahren, dass obige Kriterien erfullt, ist das Simplexverfahren. Es wird

im Folgenden vorgestellt.

Die Grundidee des Verfahrens wollen wir an dem eingangs behandelten Beispiel der Opti-

mierung der Schuhproduktion deutlich machen. (vgl. Abschnitt 1.1)

Die Zielfunktion z = 16x1 + 32x2 war unter den nachfolgenden Nebenbedingungen zu

maximieren. Zunachst wollen wir uns nur mit den Ungleichungen beschaftigen.

Durch Einfuhrung von drei”Schlupfvariablen“ x3, x4, x5 kann das Ungleichungssystem

in ein Gleichungssystem uberfuhrt werden. Fur alle Variable gilt dann die einheitliche

Zusatzbedingung xi ≥ 0.

2Bei n Entscheidungsvariablen und m Ungleichungen gibt es(mn

)potenzielle Schnittpunkte der zu-

gehorigen ”Hyperebenen“. (Zahlenbeispiel:(103

)= 120 !)

8 1 Lineare Optimierung

20x1 + 10x2 ≤ 800

4x1 + 5x2 ≤ 200

6x1 + 15x2 ≤ 450

x1,2 ≥ 0

20x1 + 10x2 + x3 = 800

4x1 + 5x2 + x4 = 200

6x1 + 15x2 + x5 = 450

xi ≥ 0

Die Schnittpunkte der Begrenzungsgeraden

g1 : 20x1 + 10x2 = 800 bzw. x3 = 0

g2 : 4x1 + 5x2 = 200 bzw. x4 = 0

g3 : 6x1 + 15x2 = 450 bzw. x5 = 0

g4 : x1 = 0 bzw. x1 = 0

g5 : x2 = 0 bzw. x2 = 0

werden dadurch beschrieben, dass man zwei der funf Variablen x1, x2, . . . , x5 zu Null

macht und die restlichen Variablen aus dem linearen Gleichungssystem bestimmt. Das

Austauschverfahren gestattet nun diese Losungen aus dem umgeformten Schema einfach

abzulesen. Dazu macht man drei Variable zu Basisvariablen und setzt die Nichtbasisvaria-

blen zu Null. Der zugehorige Wert fur die Basisvariablen lasst sich dann aus der rechten

Spalte ablesen. Ob ein Schnittpunkt zum zulassigen Bereich gehort kann am Vorzeichen

der rechten Spalte abgelesen werden. Sind alle Werte positiv, so gehort der Eckpunkt zum

zulassigen Bereich.

BV x1 x2 x3 x4 x5 bi

x3 20 10 1 0 0 800

x4 4 5 0 1 0 200

x5 6 15 0 0 1 450

⇔ L1(0|0|800|200|450) : g4 ∩ g5 bzw. A(0|0)

BV x1 x2 x3 x4 x5 bi

x1 1 12

120

0 0 40

x4 0 3 −15

1 0 40

x5 0 12 − 310

0 1 210

⇔ L2(40|0|0|40|210) : g1 ∩ g5 bzw. B(40|0)

BV x1 x2 x3 x4 x5 bi

x1 1 0 116

0 − 124

3114

x4 0 0 −18

1 −14

−1212

x2 0 1 − 140

0 112

1712

⇔ L3(3114|171

2|0|−121

2|0) : g1∩g3 unzulassig!

Tauscht man im vorangegangenen System x4 gegen x2 aus, so ergibt sich:

1.3 Simplexverfahren 9

BV x1 x2 x3 x4 x5 bi

x1 1 12

120

0 0 40

x4 0 3 −15

1 0 40

x5 0 12 − 310

0 1 210

⇔ L2(40|0|0|40|210) : g1 ∩ g5 bzw. B(40|0)

BV x1 x2 x3 x4 x5 bi

x1 1 0 112

−16

0 3313

x2 0 1 − 115

13

0 1313

x5 0 0 12

−4 1 50

⇔ L4(3313|131

3|0|0|50) : g2 ∩ g3 bzw. C(331

3|131

3)

Wie kann man nun im Vorfeld sicher stellen, dass bei einem Austausch der zulassige Bereich

nicht verlassen wird? Soll die q-te Variable Basisvariable werden, so mussen wir aus der

q-ten Spalte des Tableaus eine geeignete Zeile auswahlen. Zunachst nehmen wir an, dass –

wie in obigem Beispiel – nur positive Werte in der ausgewahlten Spalte vorkommen. Wir

betrachten nun die Quotienten von Elementen der rechten Seite und der Pivotspalte

biaiq

in obigem Beispiel: 4012

= 80, 403 = 13

1

3, 210

12 = 171

2.

Wir wahlen nun diejenige Zeile p mit dem kleinsten Quotienten

bpapq

≤ biaiq

fur i = 1, 2, . . . n ; 0 ≤ biaiq

− bpapq

; 0 ≤ bi − aiqbpapq

.

Auf der rechten Seite des Ungleichheitszeichens steht genau die Rechteckregel fur die

Transformation der rechten Seite bi .

Tritt nun in der Pivotspalte auch ein negatives Element akq auf, so ist der Ausdruck

akqbpapq

negativ. Damit kann das transformierte Element

b′k = bk − akqbpapq

nur großer werden. D. h. bei der Suche nach dem kleinsten Quotienten mussen nur die

positiven Elemente der Pivotspalte einbezogen werden.

Ein negatives Element in der Pivotspalte selbst kommt niemals als Pivotelement in Frage.

Die rechte Seite bp der Pivotzeile muss ja durch apq dividiert werden und wurde dadurch

negativ. Es ergabe sich ein unzulassiger Punkt! Somit sind negative Eintrage in der Pivot-

spalte nicht zum Austausch geeignet.

Regel: Sind in einer Pivotspalte alle Elemente negativ, fuhrt ein Austausch stets zu einem

unzulassigen Punkt. Fur die positiven Elemente der Pivotspalte untersuchen wir die Quo-

tienten der Elemente der rechten Seite und den verbleibenden Elementen der Pivotspalte.

Als Pivotzeile wird der Index mit dem minimalen Quotienten bestimmt.

10 1 Lineare Optimierung

Obige Auswahlregel fur die Pivotzeile stellt sicher, dass nur”Eckpunkte“ des zulassigen

Bereichs errechnet werden. Nur solche Schnittpunkte der begrenzenden”Hyperebenen“

werden berechnet, die tatsachlich Eckpunkte des zulassigen Bereichs sind.

Es ware schon, den Wert der Zielfunktion nicht fur samtliche”Eckpunkte“ des zulassigen

Gebiets berechnen zu mussen. Dazu benutzen wir einen Suchalgorithmus fur die Pivotspal-

te, der eine Zunahme der Zielfunktion garantiert. Wir nehmen die Zielfunktion als weitere

Gleichung in unser Tableau auf. Wir stellen die Zielfunktion

z = c1x1 + c2x2 + . . . + cnxn

um und fugen z − c1x1 − c2x2 − . . . − cnxn = 0 als letzte Zeile im Tableau an.

Nichtbasisvariable Basisvariable

BV x1 x2 . . . xn xn+1 xn+2 . . . xn+m z bi

xn+1 a11 a12 . . . a1n 1 0 . . . 0 0 b1

xn+2 a21 a22 . . . a2n 0 1 . . . 0 0 b2

... ... ... . . . ... 0 0 .. . 0 0 ...xn+m am1 am2 . . . amn 0 0 . . . 1 0 bm

−c1 −c2 . . . −cn 0 0 . . . 0 1 0

Die Variable z wird

als Basisvariable inter-

pretiert. Da z die Ba-

sis nie verlasst, lassen

wir die letzte Spalte weg

und erhalten das folgen-

de Rechenschema:

BV x1 x2 . . . xn−1 xn xn+1 xn+2 . . . xn+m−1 xn+m bi

xn+1 a1,1 a1,2 . . . a1,n−1 a1,n 1 0 . . . 0 0 b1

xn+2 a2,1 a2,2 . . . a2,n−1 a2,n 0 1 . . . 0 0 b2

... ... ... . . . ... ... 0 0 ... 0 0 ...

xn+m−1 am−1,1 am−1,2 . . . am−1,n−1 am−1,n 0 0 . . . 1 0 bm−1

xn+m am,1 am,2 . . . am,n−1 am,n 0 0 . . . 0 1 bm

z −c1 −c2 . . . −cn−1 −cn 0 0 . . . 0 0 zw

Soll im nachsten Auistauschschritt wieder ein zulassiger Randpunkt erreicht werden, muss

das Pivotelement apq positiv sein. Nach Voraussetzung (zulassiger Randpunkt) sind samt-

liche bi positiv. Damit tritt eine Zunahme des Zielwerts zw nur dann ein, wenn cq postiv

ist. (D. h. wenn der Eintrag in der letzten Zeile negatives Vorzeichen hat.)

zw′ = zw − (−cq) · bpapq

= zw +cq · bpapq

Wir haben damit eine Kriterium gefunden, das bei der Auswahl der Spalte eine Zunahme

des Zielfunktionswerts garantiert. Zusammen mit der zuvor behandelten Strategie bei der

Auswahl der Zeile lasst sich der Simplex-Algorithmus wie folgt formulieren.

Voraussetzung: Das Ausgangstableau stellt eine zulassige Basislosung dar, d. h. alle Ein-

trage bi sind positiv.

1.3 Simplexverfahren 11

1. Schritt: Sind alle Eintrage in der z-Zeile positiv, so lasst sich durch einen Austausch-

schritt keine Zunahme des Zielwerts zw erreichen, d. h. die Basislosung ist bereits optimal.

Ansonsten bestimmen wir diejenige Spalte q mit dem kleinsten (negativen) Wert in der

z-Zeile. Stehen mehrere Spalten zur Wahl, so wahlen wir eine beliebige Spalte aus.

Die ausgewahlte Spalte ergibt die Pivotspalte. Die zugehorige Variable xq wird neu in die

Basis aufgenommen.

2. Schritt: Sind in der Pivotspalte alle Elemente negativ, so wurde ein Austausch zu einem

unzulassigen Punkt fuhren. Der Algorithmus ist in einer solchen Situation abzubrechen.

Ansonsten betrachten wir fur positive aiq die Quotiienten

bkakq

; akq > 0 .

Die Zeile p mit kleinstem Quotienten wird Pivotzeile. Die zur Zeile p gehorende Basisva-

riable verlasst die Basis.

3. Schritt: Wir fuhren nun zum Pivotelement apq gehorigen Austauschschritt durch.

a) Die Pivotzeile ist durch das Pivotelement apq zu dividieren.

b) Die vom Pivotelement verschiedenen Elemente der Pivotspalten werden Null.

c) Die ubrigen Elemente des Tableaus werden mittels der Rechteckregel transformiert.

a′ik = aik − aqkaipapq

Diese Regel ist auch auf die b-Spalte und die z-Zeile anzuwenden.

Wir wenden nun den Algorithmus auf unser Ausgangsbeispiel an.

BV x1 x2 x3 x4 x5 bi

x3 20 10 1 0 0 800

x4 4 5 0 1 0 200

x5 6 15 0 0 1 450

z −16 −32 0 0 0 0

⇔ S1(0|0|800|200|450) : g4∩g5 bzw. A(0|0)

Begrundung fur die Auswahl des Pivotelements a32 = 15 : Der kleinste Eintrag in der

z-Zeile ist -32, d. h. die zweite Spalte ist auszuwahlen. Die Quotienten zwischen b-Spalte

und Elementen der Pivotspalte ergeben: 80010

= 80, 2005

= 40, 45015

= 30 . Damit ist die

dritte Zeile auszuwahlen.

BV x1 x2 x3 x4 x5 bi

x3 16 0 1 0 −23

500

x4 2 0 0 1 −13

50

x225

1 0 0 115

30

z −165

0 0 0 3215

960

⇔ S2(0|30|500|50|0) : g3 ∩ g4 bzw. E(0|30)

12 1 Lineare Optimierung

Begrundung fur die Auswahl des Pivotelements a21 = 2 : Der einzige negative Eintrag

in der z-Zeile ist −165, d. h. die erste Spalte ist auszuwahlen. Die Quotienten zwischen

b-Spalte und Elementen der Pivotspalte ergeben: 50016

= 3114, 50

2= 25, 30

0.4= 75 . Damit ist

die zweite Zeile auszuwahlen.

BV x1 x2 x3 x4 x5 bi

x3 0 0 1 −8 2 100

x1 1 0 0 12

−16

25

x2 0 1 0 −15

215

20

z 0 0 0 85

83

1040

⇔ S3(25|20|100|0|0) : g2 ∩ g3 bzw. D(25|20)

Im letzten Tableau sind alle Elemente der z-Zeile positiv, d. h. ein weiterer Austausch-

schritt wurde zu einer Verringerung des Zielwerts fuhren. Wir haben damit die optimale

Losung gefunden. Die obigen Umformungen lassen sich mittels der Skizze auf Seite 2 ver-

anschaulichen.

Wie kann man nun sicher sein, dass der Algorithmus stets den optimalen Punkt findet?

Dazu wollen wir uns zunachst Gedanken uber die Struktur des zulassigen Bereichs eines

linearen Ungleichungssystems machen. Der auf Seite 2 skizzierte zulassige Bereich hat die

Eigenschaft, dass mit zwei Punkten aus dieser Menge auch die gesamte Verbindungsgerade

zur Menge gehort. Eine solche Menge nennt man konvex. Beim Nachweis fur die Existenz

eines optimalen Punkts spielt diese Eigenschaft eine zentrale Rolle. Ist das zulassige Ge-

biet nicht konvex, so kann der oben beschriebene Algorithmus nicht in allen Fallen den

optimalen Punkt finden.

Lauft z. B. im nebenstehend skizzierten Bereich

der Algorithmus in den Punkt P , so kann er sich

nicht mehr von diesem Punkt”losen“ um den

eventuell besseren Punkt P ∗ zu erreichen. Der

Algorithmus hat zwar ein relatives, aber nicht

das absolute Optimum erreicht.

Lineare Ungleichungssysteme mit beliebig vie-

len Variablen bestimmen ein konvexes Gebiet.

Dazu die folgende Uberlegung:

P

P ∗

c1x1 + c2x2 = const.

x1

x2

Erfullt x und y die Ungleichung

a · x =n∑

i=1

aixi ≤ c

a · y =n∑

i=1

aiyi ≤ c

1.4 Bestimmung einer zulassigen Basislosung 13

so auch der Verbindungsvektor z = x+ (1− λ)(y− x

)= (1− λ)x+ λy ; 0 ≤ λ ≤ 1

a · z = (1− λ) a · x+ λ a · y ≤ (1− λ)c + λc = c

D. h. der durch eine lineare Ungleichung bestimmte Bereich ist konvex. Da der Schnitt

konvexer Mengen wieder konvex ist, ist der zulassige Bereich eines Ungleichungssystems –

interpretiert als Schnittmenge der zu den einzelnen Ungleichungen gehorenden Mengen –

stets eine konvexe Menge. Wenn einige Zusatzbedingungen erfullt sind, kann man zeigen,

dass eine lineare Zielfunktion in einem konvexen Gebiet stets ein globales Optimum besitzt.

Auf Problemsituationen gehen wir in Abschnitt 1.5 ein.

1.4 Bestimmung einer zulassigen Basislosung

Ausgangspunkt des Simplex-Algorithmus ist die Kenntnis einer zulassigen Basislosung.

Bei unseren bisher betrachteten Beispielen war der Nullpunkt im zulassigen Bereich und

konnte daher als Startpunkt fur den Simplex-Algorithmus benutzt werden. Dies ist immer

dann der Fall, wenn bei den zu betrachtenden Ungleichungen

ai1x1 + ai2x2 + . . . + ainx2 ≤ bi

alle bi positiv sind. Treten jedoch Ungleichungen der Form

2x1 + x2 ≥ 7 ; −2x1 − x2 ≤ − 7

auf, so erhalt man in der b-Spalte negative Eintrage und der Nullpunkt gehort nicht zum

zulassigen Bereich.

Wir wollen uns die Problematik an einem einfachen Beispiel klarmachen.

Die Zielfunktion z = x1 + 3x2 ist unter den folgenden Nebenbedingungen zu maximieren.

g1 : x1 + 2x2 ≥ 8

g2 : 2x1 + x2 ≥ 7

g3 : x1 + x2 ≤ 6

x1,2 ≥ 0

−x1 − 2x2 + x3 = −8

−2x1 − x2 + x4 = −7

x1 + x2 + x5 = 6

xi ≥ 0

14 1 Lineare Optimierung

BV x1 x2 x3 x4 x5 bi

x3 -1 −2 1 0 0 −8

x4 −2 −1 0 1 0 −7

x5 1 1 0 0 1 6

z −1 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x1 1 2 −1 0 0 8

x4 0 3 −2 1 0 9

x5 0 -1 1 0 1 −2

z 0 −1 −1 0 0 8

BV x1 x2 x3 x4 x5 bi

x1 1 0 1 0 2 4

x4 0 0 1 1 3 3

x2 0 1 −1 0 −1 2

z 0 0 −2 0 −1 10

Um zu einem zulassigen Punkt zu kommen,

mussen wir erreichen, dass samtliche Eintrage in

der b-Spalte positiv werden. Wir wahlen zunachst

die erste Zeile als Pivotzeile aus. Befinden sich in

dieser Zeile negative Eintrage, so ist sichergestellt,

dass der Austauschschritt zu einem positiven b-

Glied fuhrt. (Die Elemente der Pivotzeile werden

durch das Pivotelement dividiert!)

Zwischen den in der ersten Zeile stehenden Ele-

menten −1 und −2 entscheiden wir uns fur −1;

hier wird – analog zur Strategie beim direkten

Simplex-Algorithmus – der Quotient zwischen Zei-

lenglied und entspechendem Eintrag in der z-

Spalte minimal.

Der nach dem ersten Austauschschritt verbleiben-

de negative Eintrag −2 in der b-Spalte wird durch

den Austausch x5 → x2 beseitigt.

Wir haben nun einen Punkt des zulassigen Bereichs erreicht. Da jedoch ein Koeffizient der

z-Zeile noch negativ ist, muss der originare Simplex-Algorithmus angewandt werden.

BV x1 x2 x3 x4 x5 bi

x1 1 0 0 −1 −1 1

x3 0 0 1 1 3 3

x2 0 1 0 1 2 5

z 0 0 0 2 5 16

In der nebenstehenden Skizze

konnen die Iterationsschritte nach-

vollzogen werden. Die ersten beiden

Schritte P0 → P1 → P2 fuhren

zu einer zulassigen Basislosung.

Die Optimierung der Zielfunktion

erfolgt im dritten Schritt. P2 → P3

1

1

P0

P1(8|0)

P2(4|2)

P3(1|5)

x

y

x + 3y = 16g1

g2 g3

1.4 Bestimmung einer zulassigen Basislosung 15

Die am vorangegangenen Beispiel deutlich gewordene Strategie verlauft analog zum ori-

ginaren Simplex-Algorithmus, wenn man die Bedeutung der z-Zeile und b-Spalte miteinan-

der vertauscht. Entsprechend verandert sich auch die Reihenfolge bei der Wahl von Pivot-

zeile und Pivotspalte. Man nennt deshalb diese Strategie zur Bestimmung einer zulassigen

Basislosung”dualer Simplex-Algorithmus“.

Voraussetzung: Das Ausgangstableau stellt eine Basislosung dar.

1. Schritt: Sind alle Eintrage in der b-Zeile positiv, so liegt bereits eine zulassige Basislosung

vor.

Ansonsten bestimmen wir diejenige Zeile p mit dem kleinsten (negativen) Wert in der

b-Spalte. Stehen mehrere Spalten zur Wahl, so wahlen wir eine beliebige Spalte aus.

Die ausgewahlte Zeile ergibt die Pivotzeile. Die zur Zeile p gehorende Basisvariable verlasst

die Basis.

2. Schritt: Sind in der Pivotzeile alle Elemente positiv, so besitzt das Problem keine zulassi-

ge Basislosung. Der Algorithmus ist in einer solchen Situation abzubrechen.

Ansonsten betrachten wir fur negative api die Quotienten

ziapi

; api < 0 .

Die Spalte q mit kleinstem Quotienten wird Pivotspalte. Die zugehorige Variable xq wird

neu in die Basis aufgenommen.

3. Schritt: Wir fuhren nun zum Pivotelement apq gehorigen Austauschschritt durch.

a) Die Pivotzeile ist durch das Pivotelement apq zu dividieren.

b) Die vom Pivotelement verschiedenen Elemente der Pivotspalten werden Null.

c) Die ubrigen Elemente des Tableaus werden mittels der Rechteckregel transformiert.

a′ik = aik − aqkaipapq

Diese Regel ist auch auf die b-Spalte und die z-Zeile anzuwenden.

An einem abschließenden Beispiel soll die Effizienz des Verfahrens demonstriert werden.

Beispiel 1.4: Zielfunktion: z = z(x1, x2, x3) = 4x1 + 5x2 + 9x3!= Max

Ungleichungssystem:

x1 + x2 − 3x3 ≤ 1 (1)

−x1 + 3x2 − x3 ≤ 3 (2)

3x1 − x2 − x3 ≤ 3 (3)

3x1 − 5x2 + 3x3 ≤ 3 (4)

−5x1 + 3x2 + 3x3 ≤ 3 (5)

x1 + x2 + x3 ≥ 1 (6)

xi ≥ 0 (7), (8), (9)

16 1 Lineare Optimierung

Das zulassige Gebiet wird durch Ebenen begrenzt. Die Eckpunkte des Gebiets ergeben sich

als Schnitt von jeweils drei Ebenen unter Beachtung der ubrigen Ungleichungen. Bei neun

Ungleichungen im IR3 sind 3 aus 9, d.h.(93

)= 84 Moglichkeiten zu untersuchen. Unser

Simplex-Algorithmus liefert nach vier Schritten bereits den optimalen Punkt. Es ergeben

sich die folgenden Eckpunkte: A(0|0|0), B(1|0|0), C(0|1|0), D(0|0|1), E(3|3|3)

BV x1 x2 x3 x4 x5 x6 x7 x8 x9 bi

x4 1 1 −3 1 0 0 0 0 0 1

x5 −1 3 −1 0 1 0 0 0 0 3

x6 3 −1 −1 0 0 1 0 0 0 3

x7 3 −5 3 0 0 0 1 0 0 3

x8 −5 3 3 0 0 0 0 1 0 3

x9 -1 −1 −1 0 0 0 0 0 1 −1

z −4 −5 −9 0 0 0 0 0 0 0

BV x1 x2 x3 x4 x5 x6 x7 x8 x9 bi

x4 0 0 −4 1 0 0 0 0 1 0

x5 0 4 0 0 1 0 0 0 −1 4

x6 0 −4 −4 0 0 1 0 0 3 0

x7 0 −8 0 0 0 0 1 0 3 0

x8 0 8 8 0 0 0 0 1 −5 8

x1 1 1 1 0 0 0 0 0 −1 1

z 0 −1 −5 0 0 0 0 0 −4 4

BV x1 x2 x3 x4 x5 x6 x7 x8 x9 bi

x4 0 4 0 1 0 0 0 12

−32

4

x5 0 4 0 0 1 0 0 0 −1 4

x6 0 0 0 0 0 1 0 12

12

4

x7 0 −8 0 0 0 0 1 0 3 0

x3 0 1 1 0 0 0 0 18

−58

1

x1 1 0 0 0 0 0 0 −18

−38

0

z 0 4 0 0 0 0 0 58

−578

9

BV x1 x2 x3 x4 x5 x6 x7 x8 x9 bi

x4 0 0 0 1 0 0 12

12

0 4

x5 0 43

0 0 1 0 13

0 0 4

x6 0 43

0 0 0 1 −16

12

0 4

x9 0 −83

0 0 0 0 13

0 1 0

x3 0 −23

1 0 0 0 524

18

0 1

x1 1 −1 0 0 0 0 18

−18

0 0

z 0 −15 0 0 0 0 198

58

0 9

Der Ursprung A(0|0|0) ist

unzulassig, da das letzte Ele-

ment der b-Spalte negativ ist.

Zur Auswahl der Spalte be-

trachtet man die Quotienten−4−1

= 4, −5−1

= 5, −9−1

= 9

; a6,1 = −1 : Pivotelement

B(1|0|0) ist zulassiger Punkt.

Die dritte Spalte wird Pivot-

spalte. Die Quotienten 88

=

1, 11

= 1 lassen die Wahl

zwischen funfter und sechster

Zeile.

; a5,3 = 8 : Pivotelement

C(0|1|0) ist zulassiger Punkt.

Es gibt noch einen negati-

ven Eintrag in der z-Zeile.

Die Quotienten 40.5

= 8, 03

=

0 bestimmen das Pivotele-

ment.

; a4,9 = 3 : Pivotelement

D(0|0|1) ist zulassiger

Punkt. Das zweite Element

der z-Zeile ist negativ . Die

Quotienten 4/43

= 3, 4/43

= 3

lassen die Wahl zwischen

zweiter und dritter Zeile.

; a2,2 : Pivotelement

1.5 Sonderfalle 17

BV x1 x2 x3 x4 x5 x6 x7 x8 x9 bi

x4 0 0 0 1 0 0 12

12

0 4

x2 0 1 0 0 34

0 14

0 0 3

x6 0 0 0 0 −1 1 −12

12

0 0

x9 0 0 0 0 2 0 1 0 1 8

x3 0 0 1 0 12

0 38

18

0 3

x1 1 0 0 0 34

0 38

−18

0 3

z 0 0 0 0 454

0 498

58

0 54

Der Punkt E(3|3|3) ist bereits der

optimale Punkt, da alle Eintrage in

der z-Zeile positiv sind. Ein weite-

rer Austauschschritt wurde zu ei-

nem kleineren Wert der Zielfunkti-

on fuhren. Der optimale Wert der

Zielfunktion ergibt sich aus dem

Eintrag im”Kreuzungspunkt“ von

z-Zeile und b-Spalte mit 54.

1.5 Sonderfalle

Im Folgenden untersuchen wir einige Sonderfalle, die beim Losen linearer Optimierungs-

probleme auftreten konnen. Wir versuchen vor allem aufzuzeigen, woran diese bei der

Anwendung des Simplex-Algorithmus erkennbar sind.

Die verschiedenen Falle wollen wir uns an ausgewahlten Beispielen klarmachen und im

Zweidimensionalen durch eine Skizze verdeutlichen.

1.5.1 Probleme, die keine Losung besitzen

Beispiel 1.5:

x1 + x2 ≤ 10 (A)

x1 − x2 ≥ 10 (B)

x1 + 4x2 ≥ 25 (C)

xi ≥ 0

z = 2x1 + x2!= Max.

Wir versuchen mittels des dualen Simplex-Algorithmus eine zulassige Losung zu finden:

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 10

x4 −1 1 0 1 0 −10

x5 −1 -4 0 0 1 −48

z −1 −1 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0.75 0 1 0 0.25 −2

x4 -1.25 0 0 1 0.25 −22

x2 0.25 1 0 0 −0.25 12

z −0.75 0 0 0 −0.25 12

BV x1 x2 x3 x4 x5 bi

x3 0 0 1 0.6 0.4 −15.2

x1 1 0 0 −0.8 −0.2 17.6

x2 0 1 0 0.2 −0.2 7.6

z 0 0 0 −0.6 −0.4 25.2

In der ersten Zeile der b-Spalte befindet sich

noch ein negativer Wert. Die als Pivotele-

ment in Frage kommenden Werte sind alle

positiv. Somit kann kein weiterer Austausch-

schritt durchgefuhrt werden und der Algo-

rithmus bricht ab.

18 1 Lineare Optimierung

Die Geltungsbereiche der drei Unglei-

chungen (A, B, C) sind in der neben-

stehenden Skizze verschieden schraf-

fiert. Sie macht deutlich, dass alle

drei Ungleichungen nicht gleichzeitig

erfullbar sind.

Beobachtung: Sich widersprechende

Ungleichungen machen sich dadurch

bemerkbar, dass der duale Simplex-

Algorithmus zur Bestimmung einer

zulassigen Ausgangslosung abbricht.

x1

x2

P1

P2

P3

AB

C

1.5.2 Probleme mit unbeschranktem zulassigem Bereich

Bei solchen Bereichen kann eine endliche optimale Losung nicht garantiert werden.

Beispiel 1.6:

−x1 + x2 ≤ 10 (A)

x1 − x2 ≤ 10 (B)

xi ≥ 0

z = x1 + 2x2!= Max.

BV x1 x2 x3 x4 bi

x3 −1 1 1 0 10

x4 1 −1 0 1 10

z −1 −2 0 0 0

BV x1 x2 x3 x4 bi

x2 −1 1 1 0 10

x4 0 0 1 1 20

z −3 0 2 0 20

Das umgeformte Tableau ist nicht optimal, da die z-Zeile noch den negativen Wert −3

enthalt. Trotzdem kann in der ersten Spalte kein Pivotelement bestimmt werden, da dort

keine positiven Koeffizienten stehen. Die Variable x1 kann beliebig vergroßert werden;

dabei wachst auch die Zielfunktion z = 20 + 3x1 − 2x2 unbeschrankt an.

Verandern wir die Zielfunktion, so lasst sich ein optimaler Wert bestimmen!

Beispiel 1.7:

−x1 + x2 ≤ 10 (A)

x1 − x2 ≤ 10 (B)

xi ≥ 0

z = − 2x1 + x2!= Max.

BV x1 x2 x3 x4 bi

x3 −1 1 1 0 10

x4 1 −1 0 1 10

z 2 −1 0 0 0

BV x1 x2 x3 x4 bi

x2 −1 1 1 0 10

x4 0 0 1 1 20

z 1 0 1 0 10

Das Tableau ist op-

timal; es existiert ein

Optimum in der Ecke

P (0|10). Dort ist

z = 10

1.5 Sonderfalle 19

Der Geltungsbereiche der zwei Un-

gleichungen (A, B) ist in der ne-

benstehenden Skizze schraffiert. Er ist

unbeschrankt und kann fur manche

Zielfunktionen (z1(x1, x2)) zu beliebig

großen Werten fuhren. Fur andere Ziel-

funktionen (z2(x1, x2)) kann dagegen

ein Optimum existieren.

Beobachtung: Bei unbeschrankten

zulassigen Gebieten kann der Simplex-

Algorithmus abbrechen, ohne eine op-

timale Losung gefunden zu haben.

x1

x2 z2 = −2x1 + x2

z1 = x1 + 2x2

A

B

P

Eine solche Situation zeigt sich darin, dass es zwar noch negative Eintrage in der z-Zeile

vorliegen, aber trotzddem kein weiterer Austauschschritt vollzogen werden kann. (Z. B.

wenn in der zugehorigen Spalte nur negative Eintrage stehen.)

In der Praxis durften haufig Eingabefehler die Ursache fur solche Verhaltensweisen sein.

1.5.3 Probleme mit mehreren optimalen Basislosungen

Beispiel 1.8:

4x1 + 3x2 ≤ 48 (A)

4x1 + x2 ≤ 40 (B)

x1 + 3x2 ≤ 30 (C)

xi ≥ 0

z = 4x1 + 3x2!= Max.

BV x1 x2 x3 x4 x5 bi

x3 4 3 1 0 0 48

x4 4 1 0 1 0 40

x5 1 3 0 0 1 30

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 2 1 −1 0 8

x1 1 14

0 14

0 10

x5 0 114

0 −14

1 20

z 0 −2 0 1 0 40

BV x1 x2 x3 x4 x5 bi

x2 0 1 12

−12

0 4

x1 1 0 −18

38

0 9

x5 0 0 −118

98

1 9

z 0 0 1 0 0 48

Mit dem Punkt P1(9|4) wurde ein optimaler

Punkt gefunden. Wegen der 0 in der vierten Spal-

te der Zielfunktionszeile kann ein weiterer Aus-

tauschschritt vorgenommen werden, ohne dass

sich der Wert der Zielfunktion andert. Wir tau-

schen noch x4 gegen x5 aus und erhalten einen

weiteren optimalen Wert.

20 1 Lineare Optimierung

BV x1 x2 x3 x4 x5 bi

x2 0 1 −19

0 49

8

x1 1 0 13

0 −13

6

x4 0 0 −119

1 89

8

z 0 0 1 0 0 48

Durch diesen weiteren Austauschschritt ergab sich

eine weitere zulassige Losung P2(6|8) mit demsel-

ben Wert fur die Zielfunktion.

Ein weiterer moglicher Austauschschritt (grau un-

terlegt) ergabe wieder die ursprungliche Losung

P1(9|4).

Aus nebenstehender Skizze wird deut-

lich, dass die Begrenzungsgerade fur die

Ungleichung (A) parallel zur Isoquan-

te der Zielfunktion verlauft. Damit sind

die Punkte auf der Strecke zwischen P1

und P2 ebenfalls optimal.

Beobachtung: Sind im Optimaltableau

Zielfunktionskoeffizienten von Nichtba-

sisvariablen Null, so existieren meh-

rere optimale Losungen. Man erhalt

die Eckpunkte durch weitere Aus-

tauschschritte. Alle Konvexkombina-

tionen optimaler Punkte sind wieder

optimal.

x1

x2

C

AB

P1

P2

z = const.

1.5.4 Probleme mit degenerierter optimaler Basislosung

Es sind Falle denkbar, dass fur einen optimalen Eckpunkt mehrere Tableaus existieren.

Damit erhalt man kein wohlbestimmtes Ende des Simplex-Algorithmus.

Beispiel 1.9:

4x1 + 3x2 ≤ 48 (A)

4x1 + x2 ≤ 40 (B)

x1 + 3x2 ≤ 30 (C)

x1 + x2 ≤ 14 (D)

xi ≥ 0

z = 3x1 + 4x2!= Max.

BV x1 x2 x3 x4 x5 x6 bi

x3 4 3 1 0 0 0 48

x4 4 1 0 1 0 0 40

x5 1 3 0 0 1 0 30

x6 1 1 0 0 0 1 14

z −3 −4 0 0 0 0 0

BV x1 x2 x3 x4 x5 x6 bi

x3 3 0 1 0 −1 0 18

x4113

0 0 1 −13

0 30

x213

1 0 0 13

0 10

x623

0 0 0 −13

1 4

z −53

0 0 0 43

0 40

1.5 Sonderfalle 21

BV x1 x2 x3 x4 x5 x6 bi

x3 0 0 1 0 12

−92

0

x4 0 0 0 1 32

−112

8

x2 0 1 0 0 12

−12

8

x1 1 0 0 0 −12

32

6

z 0 0 0 0 12

52

50

BV x1 x2 x3 x4 x5 x6 bi

x6 0 0 −29

0 −19

1 0

x4 0 0 −119

1 89

0 8

x2 0 1 −19

0 49

0 8

x1 1 0 13

0 −13

0 6

z 0 0 59

0 79

0 50

BV x1 x2 x3 x4 x5 x6 bi

x5 0 0 2 0 1 −9 0

x4 0 0 −3 1 0 8 8

x2 0 1 −1 0 0 4 8

x1 1 0 1 0 0 −3 6

z 0 0 −1 0 0 7 50

Die erste Komponente der b-Spalte ist Null.

Damit kann ein weiterer Austauschschritt

durchgefuhrt werden, ohne dass sich der

Wert der Zielfunktion andert. Tauschen wir

x3 gegen x6 aus, so ergibt ein weiterer op-

timaler Punkt mit denselben Werten fur

x1, x2.

Das obere Tableau kann als Schnitt der Ge-

raden C und D gedeutet werden, wahrend

sich das untere Tableau als Schnitt von A

und C interpretieren lasst. Die jeweils ande-

re Schlupfvariable nimmt dort den Wert Null

an. Dies bedeutet, dass ein Schnittpunkt mit

mehr als zwei Geraden vorliegt.

Tauschen wir nochmals x5 gegen x6 aus, so

erhalt man wieder eine optimale Losung. Der

negative Koeffizient in der z-Zeile stort nicht,

da er bei einer Nichtbasisvariablen steht. Das

entstehende Tableau ergibt sich beim Schnitt

der Geraden A und D.

Aus nebenstehender Skizze wird deut-

lich, dass die Begrenzungsgerade fur die

Ungleichung (A, C, D) sich im Punkt

P2 schneiden. Deswegen erhalten wir

fur den Punkt P2(6|8) drei verschiedene

”Zustande“ des Tableaus.

Beobachtung: Nimmt im Optimalta-

bleau eine Basisvariable den Wert Nulla

an (b-Spalte besitzt eine Null!), so kann

man zum selben Schnittpunkt weitere

Zustande des Tableaus mit optimalem

Wert der Zielfunktion erzeugen. Da-

durch besteht die Gefahr, dass der Al-

gorithmus in einen”Zyklus“ gerat. Dies

muss gegebenenfalls beim Programmie-

ren”abgefangen“ werden.

aHat eine Basisvariable den Wert Null, soist eine weitere Ungleichung ”zusatzlich“genauerfullt.

x1

x2

C

AB

D

z = 50P1

P2

22 1 Lineare Optimierung

1.6 Erganzungen

1.6.1 Gleichungen

Kommen bei einem Optimierungsproblem auch Gleichungen vor, so sind verschiedene

Losungsmoglichkeiten offen. Zunachst kann man diese linearen Gleichungen dazu benut-

zen, die Anzahl der Variablen zu reduzieren. Diese Transformation der Variablen kann

dazu fuhren, dass die Voraussetzung xi ≥ 0 verletzt wird und dann noch eine zusatzliche

Verschiebung des Koordinatensystems notwendig macht. Als zweite Moglichkeit bietet sich

an, die Gleichung zunachst wie eine Ungleichung zu behandeln und bei der Anwendung des

Simplex-Algorithmus die zugehorige Schlupfvariable zur Nichtbasisvariablen zu erklaren.

Diese wird dann stets Null gesetzt und so die Gleichung erfullt. Die geringste Abweichung

vom gewohnten Vorgehen ergibt sich bei folgendem Trick: Man behandelt die Gleichung

wie eine Ungleichung und bewertet sie kunstlich in der Zielfunktion mit einem”großen“

negativen Wert. Dies soll an folgendem Beispiel erlautert werden.

Beispiel 1.10:

5x1 + 2x2 + 3x3 ≤ 96 (A)

x1 + 5x2 ≤ 96 (B)

x1 + x2 ≤ 24 (C)

x1 − x3 = 4 (D)

xi ≥ 0

z = 5x1 + 8x2 + x3!= Max.

Nach Einfuhrung der Schlupfvariablen x4 . . . x7 ergibt sich das folgende lineare Gleichungs-

system:

5x1 + 2x2 + 3x3 + x4 = 96 (A)

x1 + 5x2 + x5 = 96 (B)

x1 + x2 + x6 = 24 (C)

x1 − x3 + x7 = 4 (D)

xi ≥ 0

Um den Simplex-Algorithmus zu”zwingen“ die Variable x7 zu Null zu machen, modifizie-

ren wir die Zielfunktion wie folgt:

z = 5x1 + 8x2 + x3 − 100x7!= Max.

Der ubliche Simplex-Algorithmus ergibt das gesuchte Optimum.

BV x1 x2 x3 x4 x5 x6 x7 bi

x4 5 2 3 1 0 0 0 96

x5 1 5 0 0 1 0 0 96

x6 1 1 0 0 0 1 0 24

x7 1 0 −1 0 0 0 1 4

z −5 −8 −1 0 0 0 100 0

1.6 Erganzungen 23

BV x1 x2 x3 x4 x5 x6 x7 bi

x4 4.6 0 3 1 −0.4 0 0 57.6

x2 0.2 1 0 0 0.2 0 0 19.2

x6 0.8 0 0 0 −0.2 1 0 4.8

x7 1 0 −1 0 0 0 1 4

z −3.4 0 −1 0 1.6 0 100 153.6

BV x1 x2 x3 x4 x5 x6 x7 bi

x4 0 0 7.6 1 −0.4 0 −4.6 39.2

x2 0 1 0.2 0 0.2 0 −0.2 18.4

x6 0 0 0.8 0 −0.2 1 −0.8 1.6

x1 1 0 −1 0 0 0 1 4

z 0 0 −4.4 0 1.6 0 103.4 167.2

BV x1 x2 x3 x4 x5 x6 x7 bi

x4 0 0 0 1 1.5 −9.5 3 24

x2 0 1 0 0 0.25 −0.25 0 18

x3 0 0 1 0 −0.25 1.25 −1 2

x1 1 0 0 0 −0.25 1.25 0 6

z 0 0 0 0 0.5 5.5 99 176

1.6.2 Opportunitatskosten

Zum Abschluss wollen wir das Resultat einer linearen Optimierungsaufgabe interpretieren.

Die Bedeutung der Koeffizienten soll an folgendem Beispiel im Abschlusstableau veran-

schaulicht werden.

Beispiel 1.11:

x1 + x2 ≤ 8 (A)

2x1 + x2 ≤ 14 (B)

x1 + 2x2 ≤ 14 (C)

xi ≥ 0

z = 4x1 + 3x2!= Max.

;

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 8

x4 2 1 0 1 0 14

x5 1 2 0 0 1 14

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 0.5 1 −0.5 0 1

x1 1 0.5 0 0.5 0 7

x5 0 1.5 0 −0.5 1 7

z 0 −1 0 2 0 28

BV x1 x2 x3 x4 x5 bi

x2 0 1 2 −1 0 2

x1 1 0 −1 1 0 6

x5 0 0 −3 1 1 4

z 0 0 2 1 0 30

Wir wollen nun die Koeffizienten der z-Zeile des Schlusstableaus interpretieren. Zu den

Schlupfvariablen x3, x4, x5 gehoren die Koeffizienten 2, 1, 0. Dies bedeutet, dass die Un-

24 1 Lineare Optimierung

gleichungen (A) und (B) aktiv sind, wahrend (C) keine Rolle spielt. Hatte x3 den Wert

1, so erhohte sich der Wert der Zielfunktion um 2. Dies bedeutet, dass eine Erhohung der

Grenze fur die Ungleichung (A) um eine Einheit einen Zuwachs fur die Zielfunktion um

zwei Einheiten nach sich zieht. In der nachfolgenden Skizze ist die zu dieser Veranderung

gehorende Vergroßerung des zulassigen Gebiets dunkel schraffiert. Die zur Zielfunktion

gehorende Gerade 4x1 + 3x2 = 30 kann vom Punkt P1 in den Punkt P1 verschoben wer-

den. Entsprechend ergabe sich bei der Erhohung der Grenze fur die Ungleichung (B) ein

Zuwachs von einer Einheit fur die Zielfunktion. Dies fuhrt jedoch nur so lange zu einer

Erhohung der Zielfunktion, wie die ubrigen Restriktionen nicht greifen. In unserem Bei-

spiel hatte eine Erhohung der Restriktion (A) um mehr als 43

keine Auswirkung mehr.

In der Skizze wurde dies eine Parallelverschiebung von (A) in den Punkt P ∗ bedeuten.

Wird umgekehrt die Restriktion (A) um eine Einheit verkleinert, so vermindert sich die

Zielfunktion um 2. Man nennt diese Großen, die als entgangener Gewinn gedeutet werden

konnen, Opportunitatskosten.

A B

C

C

AP1

P2

P1

P2

z1 z2

Begrenzungsgeraden

mod. Begrenzungsgeraden

Zielfunktion

x1

x2

P ∗

1.6 Erganzungen 25

Die zur nichtaktiven Ungleichung (C) gehorende Variable x5 hat den Wert 4 (dritte Kom-

ponente der b-Spalte). Dies bedeutet, dass eine Verkleinerung der Grenze fur die Unglei-

chung (C) um vier Einheiten keinen Einfluss auf die optimale Losung hat. In der Skizze

ist diese Begrenzung mit C gekennzeichnet.

Erhohung von (A) um 1 Einheit

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 9

x4 2 1 0 1 0 14

x5 1 2 0 0 1 14

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 0.5 1 −0.5 0 2

x1 1 0.5 0 0.5 0 7

x5 0 1.5 0 −0.5 1 7

z 0 −1 0 2 0 28

BV x1 x2 x3 x4 x5 bi

x2 0 1 2 −1 0 4

x1 1 0 −1 1 0 5

x5 0 0 −3 1 1 1

z 0 0 2 1 0 32

Erhohung von (A) um 2 Einheiten

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 10

x4 2 1 0 1 0 14

x5 1 2 0 0 1 14

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 0.5 1 −0.5 0 3

x1 1 0.5 0 0.5 0 7

x5 0 1.5 0 −0.5 1 7

z 0 −1 0 2 0 28

BV x1 x2 x3 x4 x5 bi

x3 0 0 1 −13

−13

23

x1 1 0 0 23

−13

143

x2 0 1 0 −13

23

143

z 0 0 0 53

23

3223

Verminderung von (A) um 0.5 Einheiten

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 7.5

x4 2 1 0 1 0 14

x5 1 2 0 0 1 14

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 0.5 1 −0.5 0 0.5

x1 1 0.5 0 0.5 0 7

x5 0 1.5 0 −0.5 1 7

z 0 −1 0 2 0 28

BV x1 x2 x3 x4 x5 bi

x2 0 1 2 −1 0 1

x1 1 0 −1 1 0 6.5

x5 0 0 −3 1 1 5.5

z 0 0 2 1 0 29

Verminderung von (C) um 4 Einheiten

BV x1 x2 x3 x4 x5 bi

x3 1 1 1 0 0 8

x4 2 1 0 1 0 14

x5 1 2 0 0 1 10

z −4 −3 0 0 0 0

BV x1 x2 x3 x4 x5 bi

x3 0 0.5 1 −0.5 0 1

x1 1 0.5 0 0.5 0 7

x5 0 1.5 0 −0.5 1 3

z 0 −1 0 2 0 28

BV x1 x2 x3 x4 x5 bi

x2 0 1 2 −1 0 2

x1 1 0 −1 1 0 6

x5 0 0 −3 1 1 0

z 0 0 2 1 0 30

26 1 Lineare Optimierung

Wir formuliern allgemein:

Die Zielfunktionskoeffizienten der Nichtbasisvariablen im optimalen Simplextableau-

geben an, um wieviele Einheiten sich der Zielfunktionswert andert, wenn

• bei einer Entscheidungsvariablen eine Einheit eines bisher nicht produzierten

Erzeugnisses produziert wird.

• bei einer Schlupfvariablen eine bisher voll ausgelastete Restriktion um eine

Einheit verandert wird. (unter Beachtung der ubrigen Beschrankungen!)

Beispiel 1.12: Ein Unternehmen stellt drei Produkttypen I, II, II her. Zur Produktion

wird ein Rohstoff verwendet; jedes Produkt muss zwei Fertigungsstellen durchlaufen. Roh-

stoffmenge und die beiden Fertigungsstellen sind durch Kapazitatsschranken begrenzt.

Verfugbare Kapazitaten und die Deckungsbeitrage fur die Produkte sind der folgenden

Tabelle zu entnehmen:

Produkttyp verfugbare

I II III Kapazitat

Fertigungsstelle A 4 h1/ME1 22 h1/ME2 7 h1/ME3 180 h1

Fertigungsstelle B 1 h2/ME1 4 h2/ME2 1 h2/ME3 30 h2

Rohstoff 1 kg/ME1 5 kg/ME2 2 kg/ME3 30 kg

Deckungsbeitrage 8 C/ME1 35 C/ME2 13 C/ME3

Die Entscheidungsvariablen x1, x2, x3 bezeichnen produzierten Mengen in Mengeneinhei-

ten MEi3. Damit ergibt sich das folgende Optimierungsproblem:

z = 8x1 + 35x2 + 13x3!= Max unter den Nebenbedingungen:

4x1 + 22x2 + 7x3 ≤ 180

x1 + 4x2 + x3 ≤ 30

x1 + 5x2 + 2x3 ≤ 50

xi ≥ 0

Der Simplexalgorithmus fuhrt zu den folgenden Tableaus.

3Die Mengeneinheiten (ME) werden entsprechend dem Produktionstyp indiziert. Damit ist aus derAngabe einer Einheit sofort ewrsichtlich, um welches Produkt es sich handelt. Analog sind die ubrigenEinheiten-Indicex zu verstehen (z. B. 12 h1 = 12 Stunden in der Fertigungsstelle 1 usw.).

1.6 Erganzungen 27

BV x1 x2 x3 x4 x5 x6 bi

x4 4 22 4 1 0 0 180

x5 1 4 1 0 1 0 30

x6 1 5 2 0 0 1 50

z −8 −35 −13 0 0 0 0

BV x1 x2 x3 x4 x5 x6 bi

x4 −1.5 0 −1.5 1 −5.5 0 15

x2 0.25 1 0.25 0 0.25 0 7.5

x6 −0.25 0 0.75 0 −1.25 1 12.5

z 0.75 0 −4.25 0 8.75 0 262.5

BV x1 x2 x3 x4 x5 x6 bi

x4 −2 0 0 1 −8 2 40

x213

1 0 0 23

−13

103

x3 −13

0 1 0 −53

43

1623

z −23

0 0 0 53

173

33313

BV x1 x2 x3 x4 x5 x6 bi

x4 0 6 0 1 −4 0 60

x1 1 3 0 0 2 −1 10

x3 0 1 1 0 −1 1 20

z 0 2 0 0 3 5 340

Zur Deutung der Koeffizienten der Zielfunktionszeile schreiben wir die letzte Zeile des

Tableaus als Gleichung:

2x2 + 3x5 + 5x6 + z = 340 ; z = 340− 2x2 − 3x5 − 5x6

Verandert man nun irgendeine Nichtbasisvariable um eine Einheit, so verandert sich der

Deckungsbeitrag z genau in Hohe des entsprechenden Zielfunktionskoeffizienten. Im folgen-

den Tableau erhohen wir die Schranken fur die beiden letzten Bedingungen um 1 Einheit.

Rechentechnisch bedeutet dies fur die Variablen x5 und x6 den Wert −1 .

BV x1 x2 x3 x4 x5 x6 bi

x4 4 22 4 1 0 0 180

x5 1 4 1 0 1 0 31

x6 1 5 2 0 0 1 51

z −8 −35 −13 0 0 0 0

BV x1 x2 x3 x4 x5 x6 bi

x4 0 6 0 1 −4 0 56

x1 1 3 0 0 2 −1 11

x3 0 1 1 0 −1 1 20

z 0 2 0 0 3 5 348

28 1 Lineare Optimierung

Der optimale Wert hat sich auf z = 340− 3 · (−1)− 5 · (−1) = 348 erhoht.

Fuhren wir einen weiteren Austauschschritt durch, um zu Erzwingen, dass sich x2 6= 0

ergibt, so erhalten wir:

BV x1 x2 x3 x4 x5 x6 bi

x4 −2 0 0 1 −8 2 34

x213

1 0 0 23

−13

113

x3 −13

0 1 0 −53

43

1613

z −23

0 0 0 53

173

34023

Fur die zulassigen Produktionsmengen erhielten wir x1 = 0, x2 = 113, x3 = 151

3. Der Wert

der Zielfunktion hat sich um den entsprechenden Betrag vermindert:

z = 348− 2 · 113 = 3402

3

29

2 Transportprobleme

Transportmodelle stellen eine spezielle, aber sehr wichtige Klasse von linearen Optimie-

rungsaufgaben dar. Es handelt sich dabei nicht nur um Probleme auf dem Transportsektor,

sondern um einen formalen Typ von Optimierungsaufgaben, die sich auch in anderen Be-

reichen (z. B. Produktionsplanung) ergeben.

Zur Optimierung von Transportmodellen ist das zuvor behandelte Verfahren, das Simplex-

Verfahren, relativ aufwendig. Unter Ausnutzung der speziellen Struktur verwendet man

Spezialverfahren, die mit weniger Aufwand das Optimum ergeben.

2.1 Problemstellung

Ein Gut ist an m Standorten in den Mengen a1, a2, . . . am vorhanden und soll zu n Orten

in den Mengen b1, b2, . . . bn transportiert werden. Dabei wird zunachst unterstellt, dass

die Summe der Bestande genau der Summe der Bedarfsmengen entspricht. Die Transport-

kosten sollen linear mit den versandten Mengen ansteigen. Die Kosten fur den Transport

je Einheit des Guts von jedem Liefer- zu jedem Bedarfsort seien bekannt. Gesucht ist

derjenige Transportplan, der zu minimalen Kosten fuhrt.

Fur die mathematische Formulierung des Problems fuhren wir folgende Großen ein:

ai : Bestand am Lieferort i ; i = 1, 2, . . . m

bj : Bedarf am Bedarfsort j ; j = 1, 2, . . . n

cij : Transportkosten je Einheit vom Lieferort i zum Bedarfsort j

xij : Transportmenge vom Lieferort i zum Bedarfsort j (Entscheidungsvariable)

K : gesamte Transportkosten (Entscheidungskriterium)

Die zu minimierende Zielfunktion ergibt sich als Summe der Produkte aus Transportkosten

je Einheit und transportierte Menge auf allen moglichen Routen.

K =m∑

i=1

n∑j=1

cij · xij!= Min

Die Annahme, dass im gesamten System die verfugbare Menge der benotigten Menge ent-

spricht, wird durch die folgende Beziehung zwischen den Großen ai und bj wiedergegeben:

m∑i=1

ai =n∑

j=1

bj (?)

Diese”Gleichgewichtsbedingung“ wird implizit eingehalten, wenn sicher gestellt wird, dass

von jedem Lieferort genau die dort verfugbare Menge abtransportiert und an jedem Be-

30 2 Transportprobleme

darfsort genau die dort benotigte Menge angeliefert wird. Daraus ergibt sich fur jeden

Liefer- bzw. Bedarfsort eine Gleichung der folgenden Art.

n∑j=1

xij = ai ; i = 1, 2, . . . m : Lieferort

m∑i=1

xij = bj ; j = 1, 2, . . . n : Bedarfsort

Wegen der Gleichgewichtsbedingung (?) sind die obigen (n+m) Gleichungen linear abhangig,

d. h. es genugt, wenn wir nur (n + m− 1) dieser Nebenbedingungen berucksichtigen.

Da nur nichtnegative Mengen sinnvoll sind, muss zusatzlich gelten:

xij ≥ 0 ; i = 1, 2, . . .m, j = 1, 2, . . . n

Es handelt sich um ein spezielles lineares Optimierungsproblem. Dies soll an folgendem

Zahlenbeispiel verdeutlicht werden.

Wir wollen annehmen, dass von drei Fabrikationsstatten eines Unternehmens vier Abneh-

mer zu beliefern sind. In der nachstehenden Tabelle sind die Transportkosten je Mengen-

einheit auf jeder moglichen Route sowie die Produktions- und Bedarfsmengen festgehalten.

Abnehmer Nr.

1 2 3 4

Fabrik Nr. Transportkosten/Einheit Kapazitat

1 5 5 2 7 9

2 8 3 1 8 15

3 2 4 4 5 14

Bedarf 10 12 9 7∑

38

Die Summe der Produktionsmengen betragt ebenso wie die Summe der Verbrauchsmen-

gen 38 Einheiten. Mit den angegebenen Daten lasst sich das folgende Transportmodell

formulieren:

Die Funktion

K = 5x11 + 5x12 + 2x13 + 7x14 +

8x21 + 3x22 + 1x23 + 8x24 +

2x31 + 4x32 + 4x33 + 5x34

ist zu minimieren unter den Nebenbedingungen

x11 + x12 + x13 + x14 = 9

x21 + x22 + x23 + x24 = 15

x31 + x32 + x33 + x34 = 14

Fabrik-Restriktionen

2.1 Problemstellung 31

x11 + x21 + x31 = 10

x12 + x22 + x32 = 12

x13 + x23 + x33 = 9

x14 + x24 + x34 = 7

Kunden-Restriktionen

und den Nichtnegativitatsbedingungen

xij ≥ 0 ; i = 1, 2, . . . 3, j = 1, 2, . . . 4

Formuliern wir dieses Problem im Stile des vorangegangenen Abschnitts, so erhalten wir

ein Tableau mit 12 Entscheidungsvariablen und 6 Schlupfvariablen1. Zunachst mussen

wir das Minimum-Problem in ein Maximumproblem umformulieren. Wenn wir von allen

Koeffizienten der Kostenmatrix dieselbe Zahl addieren oder subtrahieren, so verandert sich

unser Ausgangsproblem nicht. Wenn wir das Vorzeichen der Koeffizienten verandern, so

ergibt sich ein aquivalentes Maximumproblem.

F (x) = c · [x11 + x12 + . . . + x34]−K(x)

= (c− 5)x11 + (c− 5)x12 + (c− 2)x13 + (c− 7)x14 + (c− 8)x21 + (c− 3)x22 + . . .

(c− 1)x23 + (c− 8)x24 + (c− 2)x31 + (c− 4)x32 + (c− 4)x33 + (c− 5)x34

!= Maximum

Weiter besteht das Tableau aus 6 Gleichungszeilen fur die (Un)gleichungen sowie der z-

Zeile. Da die 6 (Un)gleichungen genau erfullt sind, mussen die entsprechenden Eintrage in

der z-Zeile mit großen”Straffaktoren“ versehen werden. Wegen der Straffaktoren werden

die 6 Schlupfvariable stets Nichtbasisvariable. Damit mussen von den 12 Entscheidungsva-

riablen stets 6 Basis- und 6 Nichtbasisvariable sein. Das nachfolgende Tableau zeigt diesen

Austausch von Basisvariablen. Fur die Konstante wurde c = 10 gewahlt und die Schlupf-

variablen mit dem Straffaktor 50 versehen. Weiter wurde die letzte Kindenrestriktion nicht

ins Tableau aufgenommen.

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 9

x14 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 15

x15 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 14

x16 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x17 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x18 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 9

z −5 −5 −8 −3 −2 −7 −9 −2 −8 −6 −6 −5 50 50 50 50 50 50 0

1Die 3 Fabrik- und 7 Kundenrestriktionen sind linear unabhangig. Deshalb sind nur 6 Gleichungen zuberucksichtigen.

32 2 Transportprobleme

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 9

x14 0 0 −1 0 1 1 0 1 0 0 −1 0 0 1 0 0 0 −1 6

x15 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 14

x16 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x17 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x2,3 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 9

z −5 −5 1 −3 −2 −7 0 −2 −8 −6 3 −5 50 50 50 50 50 59 81

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 9

x14 0 0 −1 0 1 1 0 1 0 0 −1 0 0 1 0 0 0 −1 6

x15 −1 0 0 0 −1 0 0 0 0 1 1 1 0 0 1 −1 0 0 4

x3,1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x17 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x2,3 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 9

z 3 −5 1 −3 6 −7 0 −2 0 −6 3 −5 50 50 50 58 50 59 161

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 9

x2,2 0 0 −1 0 1 1 0 1 0 0 −1 0 0 1 0 0 0 −1 6

x15 −1 0 0 0 −1 0 0 0 0 1 1 1 0 0 1 −1 0 0 4

x3,1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x17 0 1 1 0 −1 0 0 −1 0 1 1 0 0 −1 0 0 1 1 6

x2,3 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 9

z 3 −5 −6 −3 13 0 0 5 0 −6 −4 −5 50 57 50 58 50 52 203

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 0 0 1 1 0 0 1 0 −1 −1 0 1 1 0 0 −1 −1 3

x2,2 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x15 −1 0 0 0 −1 0 0 0 0 1 1 1 0 0 1 −1 0 0 4

x3,1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0 0 −1 0 0 1 1 6

x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0 0 1 0 0 −1 0 3

z 3 1 0 −3 7 0 0 −1 0 0 2 −5 50 51 50 58 56 58 239

2.2 Transportalgorithmus 33

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x13 1 0 0 1 1 0 0 1 0 −1 −1 0 1 1 0 0 −1 −1 3

x2,2 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x3,4 −1 0 0 0 −1 0 0 0 0 1 1 1 0 0 1 −1 0 0 4

x3,1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0 0 −1 0 0 1 1 6

x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0 0 1 0 0 −1 0 3

z −2 1 0 −3 2 0 0 −1 0 5 7 0 50 51 55 53 56 58 259

BV x1,1 x1,2 x1,3 x1,4 x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4 x13 x14 x15 x16 x17 x18 bi

x1,4 1 0 0 1 1 0 0 1 0 −1 −1 0 1 1 0 0 −1 −1 3

x2,2 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 12

x3,4 −1 0 0 0 −1 0 0 0 0 1 1 1 0 0 1 −1 0 0 4

x3,1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 10

x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0 0 −1 0 0 1 1 6

x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0 0 1 0 0 −1 0 3

z 1 1 0 0 5 0 0 2 0 2 4 0 53 54 55 53 53 55 268

Damit erhalten wir als optimale Losung:

x1,1 = 0 x1,2 = 0 x1,3 = 6 x1,4 = 3

x2,1 = 0 x2,2 = 12 x2,3 = 3 x2,4 = 0

x3,1 = 10 x3,2 = 0 x3,3 = 0 x3,4 = 4

Die minimalen Kosten K(x∗) ergeben sich aus dem Maximum F (x∗) durch

K(x∗) = c ·∑

xi,j − F (x∗) = 10 · 38− 262 = 112

Die allgemeine Theorie sagt, dass das Optimum stets an einem Eckpunkt angenommen

wird. Dies bedeutet, dass wir bei unserem Optimierungsalgorithmus stets voraussetzen

konnen, dass hochstens (n+m− 1) Entscheidungsvariable (im obigen Beispiel 6) ungleich

Null sind. Oder anders ausgedruckt: beim optimalen Transport werden nur (n + m − 1)

Wege (=Entscheidungsvariable ungleich Null) benotigt. Daher genugt es bei dem nun

zu besprechenden speziellen Transportalgorithums eine Strategie zu entwickeln, die nur

(n + m− 1) Transportwege ins Kalkul einbezieht.

2.2 Transportalgorithmus

Der Ablauf des Rechenverfahrens entspricht im Prinzip dem des Simplex-Algorithmus.

Man berechnet zunachst eine zulassigen Basislosung. Dann fuhrt man einen Optimalitats-

test durch und geht gegebenenfalls zu einer besseren Basislosung uber. Hier soll nur eine

heuristische Vorgehensweise dargestellt werden, bei der im Wesentlichen nur Addition und

Subtraktion benotigt wird.

34 2 Transportprobleme

2.2.1 Rechenschema

Die Durchfuhrung der einzelnen Rechenschritte erfolgt in einem speziellen Tableau, das

fur unser obiges Zahlenbeispiel angeschrieben wird.

1 2 3 4 ai

5 5 2 7

1x11 x12 x13 x14 9

8 3 1 8

2x21 x22 x23 x24 15

2 4 4 5

3x31 x32 x33 x34 14

bj 10 12 9 7∑

38

Die Kopfzeile enthalt die Indizes der Bedarfsorte, die Kopfspalte die der Lieferorte. In der

letzten Spalte bzw. Zeile sind die Liefer- bzw. Bedarfsmengen eingetragen. Das Innere des

Feldes ist in 3 ·4 Kastchen aufgeteilt. In der linken oberen Ecke eines Kastchens werden die

Kostenkoeffizienten cij eingetragen. Die Liefermenge xij vom Lieferort i zum Bedarfsort

j wird im entsprechenden Kastchen unten rechts eingetragen. Wird von i nach j nichts

transportiert, so bleibt das zugehorige Feld leer. Wie wir sehen werden, sind immer genau

m + n − 1 Felder belegt. Durch Aufsummieren der Zeilen- bzw. Spaltenwerte kann die

Einhaltung der Nebenbedingunen uberpruft werden.

2.2.2 Nord-West-Ecken-Regel

Zunachst wollen wir uberlegen, wie eine Basislosung des Transportproblems aussieht, d.

h. wieviele der insgesamt m · n Entscheidungsvariablen ungleich Null sind. Aus der allge-

meinen Fragestellung bei linearen Optimierungsproblemen wissen wir, dass die Anzahl der

Basisvariablen (Zahl der Variablen mit positiven Werten) gleich der Zahl der Nebenbe-

dingungen ist. Ein Transportproblem besitzt m + n Nebenbedingungen, von denen jedoch

eine wegen der Gleichgewichtsbedingung

m∑i=1

ai =n∑

j=1

bj

uberflussig ist. Es liegen also m + n − 1 linear unabhangige Nebenbedingungen vor. Bei

einer nichtentarteten Basislosung nehmen daher (m+n− 1) Variable Werte ungleich Null

an; die ubrigen sind Null. Zur Bestimmung einer solchen zulassigen Losung gibt es mehrere

2.2 Transportalgorithmus 35

Methoden. Hier sei nur die einfachste Methode, die sogenannte Nord-West-Ecken- Regel

erlautert.

Das Verfahren beginnt damit, dass man zuerst dem linken oberen Feld (nordwestliche

Ecke!) diejenige Menge zuordnet, die auf dieser Route maximal transportiert werden kann.

Diese Menge ist gleich dem Minimum von a1 und b1. Bei unserem Beispiel ist dieses

Minimum gleich a1, also 9 Einheiten. Wir tragen diese Menge in unser Tableau ein. Damit

ist die erste Zeile erledigt und wir gehen in die erste Spalte der zweiten Zeile. Wenn wir

hier die Erganzung zu b1 eintragen, ist auch die erste Spalt erledigt. Dabei ist zu beachten,

dass durch diesen Eintrag nicht die zweite Zeilenbedingung verletzt wird. Wir konnen

also in Feld (2,1) das Minimum der notwendigen Differenz zu b1 und dem Wert von a2

eintragen, also min(a2, b1−a1)=min(15,1). Damit ist die Nebenbedingung der ersten Zeile

und Spalte erfullt und wir konnen zum Feld (2,2) ubergehen. Hatte sich bei der Belegung

des ersten Feldes (1,1) als Minimum min(a1, b1) = b1 ergeben, so hatte man in der oben

beschriebenen Prozedur nur die Bedeutung von Zeile und Spalte vertauscht.

Wichtig ist, dass bei jedem Schritt die maximal mogliche Menge zugeordnet wird. Damit

ist gewahrleistet, dass bei jedem Schritt genau eine Zeilen- oder Spaltenbedingung erfullt

wird. Tritt einmal, außer bei der Belegung des rechten unteren Feldes, der Fall ein, dass

mit einer Zuteilung gleichzeitig eine Zeilen- und Spaltenbedingung erfullt wird, so liegt

eine Entartung vor2. Ansonsten erhalt man bei dieser Vorgehensweise genau m + n − 1

belegte Felder.

Im Entartungsfall werden zunachst weniger Felder belegt. Wir markieren dann noch”Null-

felder“ um formal (m + n − 1) linear unabhangige Basislosungen zu erhalten. Dies ist

Voraussetzung fur die spater zu behandelnde”Stepping-Stone-Methode“ bei der Losung

des Optimierungsproblems.

1 2 3 4 ai

5 5 2 7

19 9

8 3 1 8

21 12 2 15

2 4 4 5

37 7 14

bj 10 12 9 7∑

38

Es handelt sich, wie man leicht kontrollieren kann, um eine zulassige Basislosung. Die

2Entartung: auch eine der Basisvariablen nimmt den Wert Null an.

36 2 Transportprobleme

Zielfunktion fur diese Losung hat den Wert

K = 5 · 9 + 8 · 1 + 3 · 12 + 1 · 2 + 4 · 7 + 5 · 7 = 154 .

2.2.3 Optimalitatstest

Wir wollen nun feststellen, ob sich die gefundene Losung noch verbessern lasst. Zu die-

sem Zweck berechnen wir fur jedes nicht besetzte Feld die Anderung der Zielfunktion

K, die sich beim Transport einer Einheit uber die betreffende Route ergeben wurde. Da-

bei ist zu beachten, dass eine Veranderung der Besetzung in einem zunachst leeren Feld

Veranderungen in anderen Feldern nach sich ziehen wird. Es sind ja die diversen Zeilen-

und Spaltenbedingungen einzuhalten. Innerhalb einer Zeile (Spalte) kann die Zuteilung

zu einem Feld nur erhoht werden, wenn bei einem anderen Feld derselben Zeile (Spal-

te) eine entsprechende Verminderung erfolgt. Da bei jeder Veranderung aber stets eine

Zeilen- und Spaltenbedingung beruhrt wird, kann eine zulassige Umverteilung nur auf ei-

nem geschlossenen Verteilweg erfolgen. Die Konstruktion eines geschlossenen Verteilwegs

fur ein bestimmtes Nichtbasisfeld erfolgt so, dass man von einem Feld ausgehend abwech-

selnd in horizontaler bzw. vertikaler Richtung ausschließlich Basisfelder (d. h. besetzte

Felder)”anspringt“, bis man am Ende wieder zum Ausgangsfeld zuruckkommt. Ist man

vom Ausgangsfeld waagrecht auf ein Basisfeld gesprungen, so muss der Rucksprung zum

Ausgangsfeld vertikal erfolgen und umgekehrt. Fur jedes Nichtbasisfeld (leeres Feld) exis-

tiert genau ein solcher geschlossener Verteilweg. Man uberlegt sich nun zunachst, welche

Stationen bei einem solchen geschlossenen Weg anzusteuern sind. Da durch die Belegung

eines vorher leeren Feldes mit einem positiven Wert ein neues Basisfeld entsteht, muss ein

anderes Feld auf dem geschlossenen Verteilweg die Basis verlassen, d. h. zu Null werden.

Da alle angesprungenen Felder um dieselbe Große verandert werden, ergibt sich die auf

der”neuen“ Route mogliche Transportmenge aus dem Minimum der beim Ansprung zu

reduzierenden Felder. Damit ist auch gewahrleistet, dass ein bisher belegtes Feld zu Null

wird, d. h. die Basis verlasst.

Das folgende Tableau zeigt, welche Felder beim geschlossenen Verteilweg anzuspringen

sind, wenn das Feld (1,4) X verandert werden soll. Die anzuspringenden Felder sind

grau unterlegt. Dabei sind die dunkelgrau unterlegten Felder zu vermindern, wahrend die

hellgrauen Felder vergroßert werden.

Prinzipiell waren auch noch andere Umverteilungen moglich, bei denen Nichtbasisfelder

angesprungen werden. Die hier beschriebene Methode garantiert, dass auch bei dieser

”Selbstbeschrankung“ das Optimum erreicht wird. Damit ist es moglich fur alle leeren

Felder genau einen moglichen Verteilweg anzugeben und die dabei entstehenden Kosten

zu bestimmen.

2.2 Transportalgorithmus 37

1 2 3 4 ai

5 5 2 7

19 X 9

8 3 1 8

21 12 2 15

2 4 4 5

37 7 14

bj 10 12 9 7∑

38

Die Veranderung des Zielfunktionswerts K bei Belegung des betreffenden Feldes um eine

Einheit erhalt man, indem man die Kostenkoeffizienten der angesprungenen Felder ab-

wechselnd addiert und subtrahiert – je nachdem ob das betreffende Feld vergroßert oder

verkleinert wird. Fur unser Feld (1,4) ergibt sich:

∆1,4 = 7− 5 + 8− 1 + 4− 5 = + 8

Das angewandte Bewertungsverfahren wird auch als”Stepping-Stone-Methode“ bezeich-

net, wohl weil es dem Uberqueren eines Baches auf herausragenden Steinen ahnelt.

Fur die anderen Nichtbasisfelder (leeren Felder) ergeben sich folgende Wege und Kosten-

differenzen.

Feld geschlossener Verteilweg Kostendifferenz

(1, 2) (1, 2) ; (1, 1) ; (2, 1) ; (2, 2) ; (1, 2) ∆1,2 = 5− 5 + 8− 3 = +5

(1, 3) (1, 3) ; (1, 1) ; (2, 1) ; (2, 3) ; (1, 3) ∆1,3 = 2− 5 + 8− 1 = +4

(2, 4) (2, 4) ; (2, 3) ; (3, 3) ; (3, 4) ; (2, 4) ∆2,4 = 8− 1 + 4− 5 = +6

(3, 1) (3, 1) ; (3, 3) ; (2, 3) ; (2, 1) ; (3, 1) ∆3,1 = 2− 4 + 1− 8 = −9

(3, 2) (3, 2) ; (3, 3) ; (2, 3) ; (2, 2) ; (3, 2) ∆3,2 = 4− 4 + 1− 3 = −2

Da es sich bei der vorliegenden Fragestellung um ein Minimierungsproblem handelt,

signalisieren die negativen ∆-Werte noch vorhandene Verbesserungsmoglichkeiten. Aus

den Feldern mit negativer Bewertung wahlen wir das mit dem absolut hochsten Betrag3

aus. Dem neuen Basisfeld soll nun die maximal mogliche Menge zugeordnet werden. Dies

ist die kleinste Transportmenge, die in einem waagrecht angesprungenen Feld auf dem

3Diese Auswahlverfahren garantiert keineswegs das schnellste Erreichen des Optimum. Es gibt auf-wendigere, dafur aber effizientere Auswahlverfahren. Ebenso kann bereits beim Bestimmen einer erstenBasislosung die Kostenmatrix berucksichtigt werden.

38 2 Transportprobleme

zugehorigen Verteilweg zur Verfugung steht.

min(x3,3; x2,1) = min(7; 1) = 1

Die neue Basislosung erhalt man, indem man das ermittelte Minimum (1) in das neue Ba-

sisfeld einsetzt und die auf dem geschlossenen Verteilweg angesprungenen Felder verandert.

Dabei werden die waagrecht angesprungenen Felder um diese Menge vermindert und die

vertikal angesprungenen Felder entsprechend erhoht. Das waagrecht angesprungene Feld

mit der kleinsten Menge wird zu Null und scheidet damit aus der Basis aus. Alle nicht auf

dem Verteilweg liegenden Felder bleiben unverandert.

Man beginnt nun wieder mit dem Optimaltitatstest und setzt das Verfahren so lange fort,

bis keine negativ bewerteten Felder mehr vorhanden sind. Das betreffende Tableau stellt

dann die optimale Losung des Transportproblems dar. Wir wollen diese Schritte fur unser

Ausgangsproblem nochmals im Zusammenhang darstellen. Dabei wird auch der theore-

tische Hintergrund sichtbar. Es werden stets genau 4+3-1 = 6 Transportwege benutzt.

Dies entspricht genau der Anzahl der Freiheitsgrade des zugehorigen linearen Gleichungs-

systems. Bei n Kunden und m Lieferanten gibt es zunachst n · m Variable. Bei einem

geschlossenen Trtansportproblem mussen (n + m− 1) Nebenbedingungen erfullt sein. Da-

her besitzt das Problem n ·m−(n+m−1) Freiheitsgrade. Damit konnen n ·m−(n+m−1)

Variable Null gesetzt werden. Die ubrigen (n + m − 1) sind dann Basisvariable, die i. A.

Werte ungleich Null annehmen.

1 2 3 4 ai

5 5 2 7

19 5 4 8 9

8 3 1 8

21 12 2 6 15

2 4 4 5

3-9 -2 7 7 14

bj 10 12 9 7∑

38

K1 = 5 · 9 + 8 · 1 + 3 · 12 + 1 · 2 + 4 · 7 + 5 · 7 = 154 .

Die Bewertungen sind in die rechte untere Ecke der Nichtbasisfelder (Felder ohne Trans-

port) eingetragen. Wir wahlen unter den negativ bewerteten Feldern dasjenige mit dem

hochsten Absolutbetrag, also Feld (3,1), aus. Auf dem zugehorigen Verteilweg liegen die

Basisfelder (3,3), (2,3) und (2,1). Sie sind in der Skizze grau unterlegt. Bei den dunkelgrau

unterlegten Feldern wird die umzuverteilende Menge abgezogen; das hellgrau unterlegte

2.2 Transportalgorithmus 39

Feld wird um die entsprechende Menge vergroßert. Die umzuverteilende Menge bestimmt

sich aus dem Minimum der dunkelgrau unterlegten Felder: min(x3,3; x2,1) = min(7;1) = 1

Die Variable x2,1 verschwindet damit aus der Basis. Dafur wird x3,1 Basisvariable.

Die Bewertungen der neuen Basislosung sind wieder in der rechten unteren Ecke der Nicht-

basisfelder vermerkt.

1 2 3 4 ai

5 5 2 7

19 -4 -5 -1 9

8 3 1 8

29 12 3 6 15

2 4 4 5

31 -2 6 7 14

bj 10 12 9 7∑

38

K2 = 5 · 9 + 3 · 12 + 1 · 3 + 2 · 1 + 4 · 6 + 5 · 7 = 145 .

Feld (1,3) zeigt die hochste Einsparung pro umverteilte Einheit. Die Felder auf dem zu-

gehorigen Verteilweg sind grau unterlegt. Die zu verteilende Menge bestimmt sich wieder

aus dem Minimum der dunkelgrau unterlegten Felder: min(x1,1; x3,3) = min(9;6) = 6

1 2 3 4 ai

5 5 2 7

13 1 6 -1 9

8 3 1 8

24 12 3 1 15

2 4 4 5

37 3 5 7 14

bj 10 12 9 7∑

38

K3 = 5 · 3 + 2 · 6 + 3 · 12 + 1 · 3 + 2 · 7 + 5 · 7 = 115 .

Das einzige Feld mit negativer Bewertung ist (1,4). Es konnen maximal min(x1,1; x3,4) =

min(3;7) = 3 Einheiten umverteilt werden. Der Umverteilweg ist wieder grau unterlegt.

x1,1 verlasst die Basis.

40 2 Transportprobleme

1 2 3 4 ai

5 5 2 7

11 1 6 3 9

8 3 1 8

25 12 3 2 15

2 4 4 5

310 2 4 4 14

bj 10 12 9 7∑

38

Im letzen Tableau sind nur noch positive Bewertungen zu finden, d. h. das Tableau re-

prasentiert die optimale Losung x∗.

x∗1,3 = 6 Einheiten x∗1,4 = 3 Einheiten

x∗2,2 = 12 Einheiten x∗2,3 = 3 Einheiten

x∗3,1 = 10 Einheiten x∗3,4 = 4 Einheiten

Alle anderen x∗i,j sind Null!

;

K∗ = 2 · 6 + 7 · 3 + 3 · 12 + 1 · 3 + 2 · 10 + 5 · 4 = 112 .

2.2 Transportalgorithmus 41

Die nachfolgende Skizze soll die sechs Transportwege von den drei Fabriken Fi zu den vier

Kunden Kj nochmals deutlich machen. Die Pfeile reprasentieren die transporte von den

Fabriken Fi zu den Kunden Kj. Liegt kein Entartungsfall vor, so sind zur Beschreibung

genau (m + n− 1) Pfeile notwendig.

F1 F2 F3

K4 K3 K2 K1

O 7 K ¸ 6i

3 6 3 12 4 10

Mit etwas Phantasie konnen wir versuchen, die gegenseitige Lage der Kunden und Fabriken

auf einer fiktiven Landkarte aufzuzeichnen. Es ist”auffallig“, dass jede der drei Fabriken

zwei Kunden in ihrer”Nahe beliefert. Wenn wir jede Fabrik zwischen zwei Kunden plat-

zieren, erhalten wir folgende Landkarte. Dabei ist die von der Fabrik Fi zum Kunden Kj

transportierte Menge auf dem Verbindungsweg in quadratischen Kastchen vermerkt.

42 2 Transportprobleme

K1

10

F3

4

K4 3 F1 6

K2

12

F2

3

K3

optimale Losung

K212

F1

9

K1

1

F2

2

K3

7

F3

7

K4

Startlosung

An dieser Stelle ergeben sich Verbin-

dungen zur sogenannten Graphentheo-

rie. Ein Graph besteht aus einer Kno-

tenmenge (Fabriken und Kunden) und

einer Menge von verbindenden Kan-

ten (Transportwege). Die hier interes-

sierende Struktur besitzt fur n Knoten

genau n − 1 Kanten. Werden zusatz-

lich geschlossene Wege (Zyklen) aus-

geschlossen, so bezeichnet man diese

Struktur als Baum.

Man kann zeigen, dass sich jede Ba-

sislosung des Transportproblems als

Baum darstellen lasst. Dies folgt aus

der Tatsache, dass zu den n − 1 li-

near unabhangigen Nebenbedingungen

des Transportproblems n − 1 Basisva-

riable gehoren. Diese sind als Kanten in

einem Graph deutbar.

Fur die Startlosung in unserem Beispiel

hat der zugehorige Baum die nebenste-

hende Struktur.

Aus einer vorgebenen Struktur von

Knoten und Kanten, die abwechselnd

als Fabriken und Kunden gedeutet wer-

den, lassen sich auch die zur Erfullung

der Nebenbedingungen notwendigen

Transportmengen bestimmen. Wegen

der Nichtnegativitatsbedingung sind

naturlich nicht alle Baume als Trans-

portprobleme bei vorgegebenen Re-

striktionen deutbar.

2.2 Transportalgorithmus 43

2.2.4 Fiktive Quellen und Senken

Haufig ist die zur Anwendung des Transportalgorithmus notwendige Bedingung

m∑i=1

ai =n∑

j=1

bj

nicht erfullt. Die im System verfugbare Menge ist also entweder großer (Fall 1) oder kleiner

(Fall 2) als die insgesamt benotigte Menge. Man kann diese Ungleichheit jedoch mit einem

einfachen Trick beheben, indem man fiktive Abnehmer bzw. Fabriken einfuhrt.

Fall 1: Uberkapazitat

Die liefernden Fabriken produzieren mehr als die Kunden abnehmen konnen. Wir fuhren

deshalb einen fiktiven Kunden ein, der den Uberschuss der Produktion aufnimmt. Die beim

fiktiven Kunden gelandeten Mengen verbleiben in Wirklichkeit bei den Produzenten als

Lagerbestand. Wenn wir die Transportkosten zum fiktiven Abnehmer mit Null bewerten

hat dieser Trick keinerlei Einfluss auf unser Optimierungsproblem.

In unserem oben diskutierten Beispiel wollen wir annehmen, dass die Fabrik Nr. 3 statt

14 Einheiten nun 17 Einheiten produziere. Wir fuhren deshalb einen fiktiven Kunden Nr.

5 ein, dessen Bedarfsmenge der Differenz

m∑i=1

ai −n∑

j=1

bj = 41 − 38 = 3

entspricht. Wenn wir die zugehorigen Kostenkoeffizienten Null setzen, ergibt sich mit der

Nord-West-Ecken-Regel die folgende zulassige Basislosung.

1 2 3 4 5 ai

5 5 2 7 0

19 9

8 3 1 8 0

21 12 2 15

2 4 4 5 0

37 7 3 17

bj 10 12 9 7 3∑

41

Die Optimierung kann nun wie im Standardfall durchgefuhrt werden und liefert als opti-

male Losung:

44 2 Transportprobleme

1 2 3 4 5 ai

5 5 2 7 0

16 3 9

8 3 1 8 0

212 3 15

2 4 4 5 0

310 7 17

bj 10 12 9 7 3∑

41

Fur minimalen Kosten K∗ ergibt sich daraus:

K∗ = 2 · 6 + 0 · 3 + 3 · 12 + 1 · 3 + 2 · 10 + 5 · 7 = 106 .

Die dem fiktiven Kunden K5 zugeteilten drei Mengeneinheiten verbleiben in Wirklichkeit

in der Fabrik F1 als Lagerbestand.

Dieses Minimum fallt kleiner aus als beim ursprunglichen Transportproblem ohne den

fiktiven Kunden Nr. 5. Durch Uberkapazitat ergibt sich zusatzlicher planerischer Spiel-

raum, der zu einer Minimierung der Kosten fuhrt. Dabei werden die eventuell anfallenden

Lagerkosten nicht berucksichtigt.

Fall 2: Unterkapazitat

Die liefernden Fabriken produzieren weniger als die Kunden abnehmen konnen. Wir fuhren

deshalb eine fiktive Fabrik ein, die den Fehlbedarf erzeugt. Die den Kunden von der fiktiven

Fabrik gelieferten Mengen sind fur die entsprechenden Kunden Fehlmengen. Wenn wir die

Transportkosten von der fiktiven Fabrik zum Abnehmer mit Null bewerten, hat dieser

Trick keinerlei Einfluss auf unser Optimierungsproblem.

In unserem oben diskutierten Beispiel wollen wir annehmen, dass die Kunde Nr. 1 statt

10 Einheiten nun 14 Einheiten abnimmt. Wir fuhren deshalb eine fiktive Fabrik Nr. 4 ein,

dessen Produktionsmenge der Differenz

n∑j=1

bj −m∑

i=1

a1 = 42 − 38 = 4

entspricht. Wenn wir die zugehorigen Kostenkoeffizienten Null setzen, ergibt sich mit der

Nord-West-Ecken-Regel die folgende zulassige Basislosung.

2.2 Transportalgorithmus 45

1 2 3 4 ai

5 5 2 7

19 9

8 3 1 8

25 10 15

2 4 4 5

32 9 3 14

0 0 0 0

44 4

bj 14 12 9 7∑

42

Wir optimieren wieder mit dem Standardverfahren und erhalten als optimale Losung das

Tableau:

1 2 3 4 ai

5 5 2 7

16 3 9

8 3 1 8

212 3 15

2 4 4 5

314 14

0 0 0 0

44 4

bj 14 12 9 7∑

42

Fur minimalen Kosten K∗ ergibt sich daraus:

K∗ = 2 · 6 + 7 · 3 + 3 · 12 + 1 · 3 + 2 · 14 + 0 · 4 = 100 .

Die dem Kunden K4 von der fiktiven fabrik F4 zugeteilten vier Mengeneinheiten sind in

Wirklichkeit der Fehlbestand beim Abnehmer K4.

Auch hier ergibt sich durch die Auswahl des Kunden, der mit Fehlmengen bedacht wird, ein

zusatzlicher planerischer Spielraum. Dies fuhrt ebenso zur Kostenreduktion, wenn eventu-

elle Fehlbedarfskosten nicht berucksichtigt werden.

46 2 Transportprobleme

Bemerkung: Die in den beiden vorangegangenen Beispielen angegebene Strategie umfasst

den Fall, dass die anfallenden Lagerkosten im Fall 1 und die entstehenden Fehlmengenkos-

ten beim Fall 2 fur alle Produktionsstatten bzw. Abnehmer gleich hoch sind. Sind diese

Kosten unterschiedlich, so muss ein entsprechender Eintrag in die Kostenmatrix gemacht

werden. Es sind dann die Gesamtkosten, d. h. Transport- und Lagerhaltungskosten bzw.

Fehlmengenkosten zu minimieren.

2.2.5 Abweichende Problemstellungen

In der Praxis unterliegen Transportprobleme haufig zusatzlichen einschrankenden Bedin-

gungen, welche mit dem Transportalgorithmus nicht unmittelbar berucksichtigt werden

konnen. Durch Manipulation der Kostenmatrix lassen sich jedoch einige dieser Restriktio-

nen auf einfache Weise erfassen. Dies sei an zwei Beispielen erlautert.

Eine oder mehrere Routen sollen nicht benutzt werden

Wir ersetzen die Kostenkoeffizienten der gesperrten Routen durch fiktive, sehr hohe Werte.

Der Algorithmus liefert uns dann die optimale Losung, welche die betreffenden Felder

(wegen der hohen Kosten) nicht belegt.

Zur Illustration nehmen wir bei unserem Eingangsbeispiel an, dass die Route von der Fa-

brik F2 zum Kunden K2 gesperrt ist. Wir ersetzen den entspechenden Kostenkoeffizienten

c2,2 durch den Wert 30 und erhalten das folgende Tableau.

1 2 3 4 ai

5 5 2 7

19 9

8 30 1 8

21 12 2 15

2 4 4 5

37 7 14

bj 10 12 9 7∑

38

Durch Anwendung des Optimierungs-Algorithmus ergibt sich die Losung:

2.2 Transportalgorithmus 47

1 2 3 4 ai

5 5 2 7

19 9

8 30 1 8

29 6 15

2 4 4 5

310 3 1 14

bj 10 12 9 7∑

38

Wie zu erwarten war, ist das Feld (2,2) nicht belegt. Die minimalen Kosten K∗ bestimmen

sich zu:

K∗ = 5 · 9 + 1 · 9 + 8 · 6 + 2 · 10 + 4 · 3 + 5 · 1 = 139 .

Diese zusatzliche Bedingung, eine Route nicht zu benutzen, schrankt den planerischen

Spielraum ein und fuhrt deshalb zu hoheren Kosten.

Bevorzugte Belieferung eines Kunden bei Fehlbedarf

Falls die Gesamtproduktion der Fabriken den Gesamtverbrauch der Kunden nicht decken

kann, soll ein bestimmter Kunde unter allen Umstanden vollstandig beliefert werden.

Der formale Ausgleich zwischen Angebot und Nachfrage erfolgt wieder durch Einfuhrung

einer fiktiven Fabrik. Die von dieser Fabrik gelieferten Mengen stellen in Wirklichkeit Fehl-

mengen beim belieferten Kunden dar. Wir konnen somit die Forderung nach vollstandiger,

realer Belieferung eines bestimmten Kunden umwandeln in ein Verbot der Route von der

fiktiven Fabrik zu diesem Kunden. Wir erzwingen die Einhaltung dieser Bedingung (ana-

log zur vorangegangenen Problematik) dadurch, indem wir das betreffende Kostenfeld mit

einem fiktiven hohen Wert belegen.

Dies sei wieder am Eingangsbeispiel erlautert. Soll z. B. der Kunde K4 vollstandig beliefert

werden, so mussen wir die Route von der fiktiven Fabrik F4 zum Kunden K4 sperren. Wir

weisen deshalb dem Kostenkoeffizienten c4,4 den Wert 50 zu.

48 2 Transportprobleme

1 2 3 4 ai

5 5 2 7

16 3 9

8 3 1 8

212 3 15

2 4 4 5

314 14

0 0 0 50

44 4

bj 14 12 9 7∑

42

Das optimale Tableau hat die folgende Gestalt:

1 2 3 4 ai

5 5 2 7

14 5 9

8 3 1 8

210 5 15

2 4 4 5

312 2 14

0 0 0 50

42 2 4

bj 14 12 9 7∑

42

Wie zu erwarten war, ist das Feld (4,4) nicht belegt. Fur die minimalen Kosten K∗ gilt:

K∗ = 2 · 4 + 7 · 5 + 3 · 10 + 1 · 5 + 2 · 12 + 5 · 2 0 · 2 + 0 · 2 = 112 .

Bemerkung In manchen Situationen ist auch die folgende Uberlegung bezuglich der Kos-

tenmatrix hilfreich: Addiert oder subtrahiert man bei der Kostenmatrix von samtlichen

Elementen einer Zeile oder Spalte dieselbe Zahl, so erhalt man ein aquivalentes Optimie-

rungsproblem. Dadurch verandern sich die Kosten aller Wege von einer Fabrik bzw. zu

einem Kunden um denselben Betrag. Die Auswahl der Entscheidungsvariablen wird davon

nicht beruhrt, da ja die gesamte Kapazitat einer Fabrik bzw. Nachfrage eines Kunden

gleichmaßig betroffen ist.

2.3 Umladeprobleme 49

2.3 Umladeprobleme

Wir betrachten nun ein Transportproblem mit Zwischenlagern Zr. Mit einem kleinen Trick

konnen wir diese Fragestellung mit den zuvor behandelten Methoden losen. Wir betrach-

ten die Zwischenlager gleichzeitig als Fabriken und Kunden. Fur jedes Zwischenlager muss

die”aufgenommene“ Menge gleich der

”abgegebenen“ Menge sein. Ein fiktiver Trans-

port innerhalb desselben Zwischenlagers ist vorgesehen und wird in der Kostenmatrix mit

Null bewertet. Diese Durchflussmenge kann zudem beschrankt sein. Wir erlautern diese

Vorgehensweise an unserem Eingangsbeispiel auf Seite 30, indem wir zwei Zwischenla-

ger hinzufugen. Transporte zwischen Z1 und Z2 seien verboten. Dies wird durch einen

entsprechend hohen Eintrag (20) in der Kostenmatrix erreicht.

Abnehmer Nr. Zwischenlager Nr.

1 2 3 4 1 2

Fabrik/Lager Nr. Transportkosten/Einheit Kapazitat

1 5 5 2 7 1 1 9

2 8 3 1 8 2 1 15

3 2 4 4 5 1 2 14

1 2 1 3 4 0 20 10

2 1 2 1 3 20 0 50

Bedarf 10 12 9 7 10 50∑

98

Das Standardverfahren zur Optimierung ergibt das nachfolgende Tableau.

K1 K2 K3 K4 Z1 Z2 ai

5 5 2 7 1 1

F1 9 9

8 3 1 8 2 1

F2 2 9 4 15

2 4 4 5 1 2

F3 4 10 14

2 1 3 4 0 20

Z1 10 10

1 2 1 3 20 0

Z2 6 7 37 50

bj 10 12 9 7 10 50∑

98

50 2 Transportprobleme

Der Eintrag 37 im Feld (5,5) stellt einen fiktiven Transport innerhalb des Zwischlagers

Z2 dar, um die Kapazitat von 50 zu erfullen. Da die Kostenmatrix an dieser Stelle den

Eintrag Null hat, ist dies ohne Einfluss auf die Transportkosten. Der Eintrag von 50 fur

die Kapazitat von Z2 soll eine fur unsere Fragestellung unbeschrankte Aufnahmekapa-

zitat ausdrucken. Die vorgegebene Kapazitat von 10 fur Z1 wird voll ausgeschopft. Die

minimalen Kosten K∗ bestimmen sich zu:

K∗ = 1 · 9 + 3 · 2 + 1 · 9 + 1 · 4 + 2 · 4 + 1 · 10 + 1 · 10 + 1 · 6 + 3 · 7 + 0 · 37 = 83 .

2.4 Zuordnungsproblem

Das Zuordnungsproblem stellt eine spezielle Variante der linearen Optimierung dar, welche

bereits in das Gebiet der kombinatorischen Optimierung hinein reicht. Diese Fragestellung

lasst sich wie folgt skizzieren:

Fur die Erledigung von n Aufgaben stehen genauso viele Mittel (Arbeiter, Maschinen, etc.)

zur Verfugung. Grundsatzlich kann jedes Mittel zur Erfullung jeder Aufgabe eingesetzt

werden. Doch ist nicht jedes Mittel fur jede Aufgabe gleich gut geeignet. Diese spezifische

Eignung sei quantitativ fassbar und wird durch eine Matrix analog der Kostenmatrix

ausgedruckt. Gesucht ist diejenige Zuordnung der n Mittel zu den n Aufgaben, bei der

die Summe der Eignungskoeffizienten ihr Optimum erreicht. Dabei ist zu berucksichtigen,

dass jede Aufgabe erledigt werden muss und jedes Mittel genau einmal eingesetzt werden

kann.

Intuitiv wurde man zunachst versuchen, jeder Aufgabe das fur sie am besten geeignete

Mittel zuzuordnen. Da es aber bei dieser Strategie in der Regel Zielkonflikte gibt (ein Mit-

tel ist z. B. fur mehrere Aufgaben am besten geeignet) fuhrt diese Vorgehensweise in der

Regel zu keiner optimalen Losung. Auch der Gedanke, die beste Losung durch Aufzahlen

aller Moglichkeiten und anschließendem Kostenvergleich zu ermitteln, lasst sich bei große-

ren Problemen in der Praxis nicht durchfuhren. Die Anzahl der zulassigen Losungen fur

ein n · n-Problem betragt n! und ubersteigt damit auch fur leistungsfahige Rechner die

Kapazitat. (z.B. 20! = 2 432 902 008 176 640 000) Die Notwendigkeit eines effizienten

Optimierungsverfahren kann wohl nicht eindringlicher demonstriert werden.

Mathematische Formulierung

Z : Entscheidungskriterium

ci,j : Eignungskoeffizienten

(Eignung des Mittels i = 1, 2, . . . , n fur die Aufgabe j = 1, 2, . . . , n)

xi,j : Entscheidungsvariable i, j = 1, 2, . . . , n

2.4 Zuordnungsproblem 51

Wir setzen wieder voraus, dass die Eignungskoeffizienten alle nicht negativ sind. (Andern-

falls lasst sich dies durch Addition einer Konstanten zur gesamten Eignungsmatrix errei-

chen.) Die xi,j sind Auswahlvariable, die nur die Werte Null und Eins annehmen konnen.

Wir legen fest:

xi,j = 1 ⇔ wenn das Mittel i der Aufgabe j zugeordnet wird, andernfalls xi,j = 0

Damit lasst sich die Aufgabenstellung wie folgt beschreiben:

Man bestimme das Minimum der Funktion

Z =n∑

i=1

n∑j=1

ci,j · xi,j

unter den Nebenbedingungen

n∑i=1

xi,j = 1 fur alle j = 1, 2, . . . , n

n∑j=1

xi,j = 1 fur alle i = 1, 2, . . . , n

xi,j =

1

0

Die Nebenbedingungen bewirken, dass nur solche Losungen des Zuordnungsproblems zu-

lassig sind, bei denen jede Zeile und jede Spalte der Entscheidungsmatrix genau mit einem

Einselement belegt ist. Dies entspricht der Forderung, dass jede Aufgabe mit genau einem

Mittel erledigt wird.

Beispiel 2.1: Zur Eignungsmatrix

C = (cij) =

2 5 1 3

4 4 5 2

5 2 1 1

2 1 4 5

stellt die Entscheidungsmatrix

X = (xi,j) =

0 1 0 0

1 0 0 0

0 0 1 0

0 0 0 1

entspricht der Zuordnung

Mittel 1 2 3 4

m m m mAufgabe 2 1 3 4

eine zulassige Losung dar – in jeder Zeile und Spalte steht genau eine Eins.

Der (keineswegs optimale) Wert der Zielfunktion fur diese Losung betragt:

Z = 5 + 4 + 1 + 5 = 15

52 2 Transportprobleme

In der oben formulierten Gestalt kann das Zuordnungsproblem als spezielles Transport-

problem interpretiert werden. Man setzt m = n und ai = 1 fur i = 1, 2, . . . , n sowie bj = 1

fur j = 1, 2, . . . , n. Die grundsatzlich mogliche Losung des Zuordnungsproblems mit dem

Transportalgorithmus ist jedoch vergleichsweise muhsam. Ein spezieller Algorithmus fur

das Zuordnungsproblem ist wesentlich schneller.

Die Losung des Zuordnungsproblems besteht in der Aufgabe, aus den n · n Koeffizienten

der Eignungsmatrix C diejenigen n Elemente auszuwahlen, deren Summe das erreichbare

Minimum darstellt. Dabei mussen die ci,j so gewahlt werden, dass aus jeder Zeile und jeder

Spalte genau ein Element stammt. Man geht nun von der folgenden Idee aus: Unter der

Voraussetzung ci,j ≥ 0 ist das Minimum erreicht, wenn es gelingt, n Nullelemente ci,j = 0

zu finden. Diese Idee allein bringt uns noch nicht weiter, denn es werden wohl in den

wenigsten Fallen n Nullelemente in der Eignungsmatrix stehen. Zuhilfe kommt uns hier

die schon erwahnte Tatsache, dass die Addition einer Konstanten zu allen Koeffizienten

einer Spalte bzw. Zeile ein aquivalentes Minimierungsproblem ergibt. Wir versuchen nun

mit dieser Erkenntnis unsere Beispielmatrix umzuformen.

Beispiel 2.2: C = (cij) =

2 5 1 3

4 4 5 2

5 2 1 1

2 1 4 5

Wir subtrahieren von der ersten Spalte die Zahl Zwei, von den ubrigen Spalten wird Eins

abgezogen.

C1 = (cij) =

0 4 0 2

2 3 4 1

3 1 0 0

0 0 3 4

Es sind zwar genugend Nullen entstanden, aber leider nicht in der verwertbaren Anord-

nung. Die in der zweiten Zeile befindet sich keine Null. Deshalb subtrahieren wir noch von

der zweiten Zeile die Zahl Eins.

C2 = (cij) =

0 4 0 2

1 2 3 0

3 1 0 0

0 0 3 4

Die als Basiselemente ausgewahlten Variablen sind eingerahmt. Dies entspricht der folgen-

den Entscheidungsmatrix:

2.4 Zuordnungsproblem 53

X = (xi,j) =

1 0 0 0

0 0 0 1

0 0 1 0

0 1 0 0

entspricht der Zuordnung

Mittel 1 2 3 4

m m m mAufgabe 1 4 3 2

Das Minimum erhalten wir durch Einsetzen der Zuordnung in die ursprungliche Eignungs-

matrix:

Z∗ = 2 + 2 + 1 + 1 = 6

Es stellt sich nun die Frage, ob diese Strategie stets zum Ziel fuhrt. Wie wir beim nachsten

Beispiel sehen werden, muss diese Subtraktionsmethode noch etwas modifiziert werden.4

Beispiel 2.3: C = (cij) =

8 7 2 5 3

3 5 11 12 7

10 8 6 4 6

2 1 6 9 8

15 14 11 9 12

Schritt 1: Von allen Elementen einer jeden Zeile subtrahieren wir das kleinste Element

der betreffenden Zeile. Es sind dies der Reihe nach die Zahlen 2, 3, 4, 1, 9. Damit ergibt

sich in jeder Zeile mindestens ein Nullelement.

C1 = (cij) =

6 5 0 3 1

0 2 8 9 4

6 4 2 0 2

1 0 5 8 7

6 5 2 0 3

Schritt 2: Von allen Elementen einer jeden Spalte (der durch Schritt 1 umgeformten

Matrix) subtrahieren wir das kleinste Element der betreffenden Spalte. Es sind dies der

Reihe nach die Zahlen 0, 0, 0, 0, 1. Schritt 2 wird nur fur solche Spalten aktuell, die noch

keine Null enthalten. Damit ergibt sich auch in der vierten Spalte ein Nullelement.

C2 = (cij) =

6 5 0 3 0

0 2 8 9 3

6 4 2 0 1

1 0 5 8 6

6 5 2 0 2

Schritt 3: Es ist nun zu prufen, ob in jeder Spalte und Zeile genau eine Null ausgewahlt

werden kann, d. h. ob n linear unabhangige Entscheidungsvariable mit Eins belebt werden

4In der Literatur wird dieses Verfahren als ungarische Methode bezeichnet; benannt nach den ungari-schen Mathematikern Egervary und Konig.

54 2 Transportprobleme

konnen. Dies ist bei der Matrix C2 nicht der Fall. Die weiß eingerahmten Nullen sind

linear unabhangig, wahrend die beiden grau unterlegten Nullen davon abhangig sind.

Die Prufung auf lineare Unabhangigkeit erfolgt

mittels eines sogenannnten Deckliniensystems. Die

ausgewahlten Nullen werden mit horizontalen und

vertikalen”Decklinien“ uberdeckt. Werden dazu

genau n Linien benotigt, so liegt lineare Un-

abhangigkeit vor. In unserem Fall ist dies offen-

sichtlich nicht der Fall. Es reichen vier Linien aus

um alle Nullelemente zu uberdecken.6 5 2 0 2

1 0 5 8 6

6 4 2 0 1

0 2 8 9 3

6 5 0 3 0

Schritt 4: Durch geschicktes Subtrahieren mussen weitere Nullen erzeugt werden. Wir

gehen dazu nach folgendem Schema vor:

• Man sucht das kleinste von keiner Linie bedeckte Element und subtrahiert diese Zahl

von allen Elementen der Eignungsmatrix. (bei unserem Beispiel: 1)

• Um die auf den Deckungslinien vorhandenen Nullen nicht zu verlieren, addiert man

zu allen Elementen auf den Linien dieselbe Zahl. Dies hat zur Konsequenz, dass

alle Elemente, die nur auf einer Linie (vertikal oder horizontal) stehen unverandert

bleiben und die Elemente auf den Kreuzungspunkten um die im vorangegangenen

Schritt bestimmte Zahl (bei unserem Beispiel: 1) vergroßert werden.

C3 = (cij) =

7 5 0 4 0

0 1 7 9 2

6 3 1 0 0

2 0 5 9 6

6 4 1 0 1

6 4 1 0 1

2 0 5 9 6

6 3 1 0 0

0 1 7 9 2

7 5 0 4 0

Schritt 4 ergab eine zusatzliche Null. Der Test fur die lineare Unabhangigkeit mittels

Decklinien verlauft positiv. Wir wahlen die weiß unterlegten Nullen als Basis fur unsere

Entscheidungsmatrix

X =

0 0 1 0 0

1 0 0 0 0

0 0 0 0 1

0 1 0 0 0

0 0 0 1 0

entspricht der Zuordnung

Mittel 1 2 3 4 5

m m m m mAufgabe 3 1 5 2 4

2.4 Zuordnungsproblem 55

Die Kostensumme fur das Optimum ergibt sich zu:

Z∗ = 2 + 3 + 6 + 1 + 9 = 21

Falls sich keine n linear unabhangige”Nullvektoren“ ergeben, sind die Schritte 3 und 4 zu

wiederholen.

Maximierung statt Minimierung

Ein Zuordnungsproblem, dessen Zielfunktion zu maximieren ist, kann mit den vorhande-

nen Hilfsmitteln dadurch gelost werden, dass man die Maximierungsaufgabe durch eine

aquivalente Minimierungsaufgabe ersetzt.

z =∑i,j

xi,j · ci,j!= Max ⇔ z =

∑i,j

xi,j · (−ci,j)!= Min

Die Eignungsmatrix des aquivalenten Minimierungsproblems ist die mit dem Fakltor (−1)

multiplizierte Eignungsmatrix der Maximierungsaufgabe. Um wieder eine Matrix mit po-

sitiven Koeffizienten zu erhalten, addieren wir eine genugend große positive Konstante zu

allen Koeffizienten der Eignungsmatrix.

Beispiel 2.4: Gesucht ist eine Zuordnung, so dass die Bewertungsfunktion z bzgl. der

nachfolgenden Eignungsmatrix maximal wird.

z =∑i,j

xi,j · ci,j =!= Max

C = (cij) =

3 2 5

−1 2 3

6 4 4

; (−1) · C =

−3 −2 −5

1 −2 −3

−6 −4 −4

(−1) · C + 6 ·

1 1 1

1 1 1

1 1 1

= C =

3 4 1

7 4 3

0 2 2

Zeilen- und Spaltenreduktion ergibt bereits die optimale Matrix:

3 4 1

7 4 3

0 2 2

;

2 3 0

4 1 0

0 2 2

; C∗ =

2 2 0

4 0 0

0 1 2

Die zugehorige Entscheidungsmatrix

X =

0 0 1

0 1 0

1 0 0

entspricht der Zuordnung

Mittel 1 2 3

m m mAufgabe 3 2 1

Das Maximum der Bewertungsfunktion z ergibt sich zu: z = 6 + 2 + 5 = 13

56 3 Dynamische Optimierung

3 Dynamische Optimierung

Mit Hilfe der bisher entwickelten Verfahren sind wir in der Lage, sogenannte einstufige

Entscheidungsprozesse zu optimieren. Einstufig heißen Entscheidungsprobleme, wenn es

moglich ist, sie in zeitlicher und sachlicher Hinsicht von anderen Entscheidungsproblemen

zu isolieren. In zunehmendem Maße sieht man sich jedoch mit immer komplexeren Proble-

men konfrontiert, welche eine Abfolge von einander wechselseitig beeinflussenden Entschei-

dungen notwendig macht. Die dynamische Optimierung (DO) bietet Losungsmoglichkeiten

fur Entscheidungsprobleme bei denen eine Folge voneinander abhangiger Entscheidungen

getroffen werden muss. Die Folge dieser Entscheidungen soll ein Optimum fur den Ge-

samtprozess ergeben. Das Besondere an der dynamischen Optimierung liegt also in der

sequentiellen Losung eines in mehrere Perioden (Stufen) aufgeteilten Entscheidungsprozes-

ses, wobei auf jeder Stufe nur die dort existierende Entscheidungsalternativen betrachtet

werden. Bei diesen Stufen muss es sich nicht immer um zeitlich strukturiertes Problem

handeln.

Die Problematik derartiger Entscheidungen liegt darin, dass die Optimalitat einer jeden

Einzelentscheidung nicht unmittelbar, sondern erst im Zusammenhang mit den ubrigen

Entscheidungen beurteilt werden kann. Fur Anwender ist die dynamische Optimierung ein

weitaus schwierigeres Teilgebiet des Operation Research als etwa die lineare Optimierung.

Die Grunde hierfur liegen sowohl in der geeigneten Modellwahl als auch in der Auwahl des

geeigneten Losungsverfahrens fur die Optimierung.

Beispiel 3.1: Wir betrachten ein Bestellmengenproblem. Hierbei sind die Stufen, in die

der Losungsprozess unterteilt werden kann, Zeitperioden. Die Einkaufsabteilung eines Un-

ternehmens muss fur vier aufeinanderfolgende Perioden eine bestimmte, in jeder Periode

gleiche Menge eines Rohstoffes bereitstellen.

Die Einkaufspreise unterliegen saisonalen Schwankungen; sie

seien aber fur jede Periode bekannt und konnen der neben-

stehenden Tabelle entnommen werden. Der Lieferant kann,

Periode k 1 2 3 4

Preis qk 7 9 12 8

Bedarf bk 1 1 1 1

bei vernachlassigbarer Lieferzeit, in einer Periode maximal den Bedarf fur zwei Perioden

liefern. Die Lagerkapazitat ist ebenfalls auf den Bedarf von zwei Perioden beschrankt. Zu

Beginn der Periode 1 sei das Lager leer; am Ende der vierten Periode soll der Bestand

wieder Null betragen.

Problemstellung: Welche Mengen sind zu den verschiedenen Zeitpunkten einzukaufen, so

dass moglichst geringe Beschaffungskosten entstehen?

3.1 Darstellung mehrstufiger Entscheidungsprozesse 57

3.1 Darstellung mehrstufiger Entscheidungsprozesse

Der Einfachheit halber wollen wir von einer zeitlichen Strukturierung der Entscheidungs-

prozesse ausgehen. Wir betrachten einen Entscheidungsprozess in den diskreten Zeitpunk-

ten i ; i = 0, 1, 2, . . . , n und verwenden zu seiner Beschreibung die folgenden Begriffe:

a) Der Zustand des Prozesses zum Zeitpunkt i wird durch die Zustandsvariablen

z1i , z2

i , . . . , zMi , zusammengefasst im Zustandsvektor zi, beschrieben. Die Zustands-

variablen mussen so gewahlt werden, dass in ihren Werten zu jedem Zeitpunkt die

gesamte Vorgeschichte des Prozesses festgeschrieben ist. Weiter darf es keine Rolle

spielen, auf welche Weise der Prozess in diesen Zustand gelangt ist.

b) Zwischen den Zeitpunkten i− 1 und i konnen wir den Prozess durch eine Entschei-

dung beeinflussen. Zur Beschreibung dieser Entscheidung dienen die Entscheidungs-

variablen x1i , x2

i , . . . , xNi , zusammengefasst im Entscheidungsvektor xi. Durch die

Entscheidung xi geht das System vom Zustand zi−1 in den Zustand zi uber. Da der

Endzustand zi der Stufe i vom Anfangszustand zi−1 und von der Entscheidung xi

abhangt, konnen wir formal schreiben:

zi = hi( zi−1, xi)

c) Auf der Stufe i liefert der Prozess einen Beitrag Ki zum Gesamtkriterium K. Analog

zum Verhalten des Zustands zi unterstellen wir, dass Ki eine gegebene Funktion gi

des Anfangszustands zi−1 und der Entscheidung xi ist:

Ki = gi( zi−1, xi)

In der folgenden Skizze sind diese Strukturelemente mit Hilfe einer Zustands- und einer

Entscheidungsvariablen veranschaulicht.

SystemAnfangszustand zi−1 Endzustand zi = hi( zi−1, xi)

Beitrag zum Kriterium

Ki = gi( zi−1, xi)

Entscheidung

xi

- -

?

?

58 3 Dynamische Optimierung

Die Verkettung der Stufen (Perioden) uber den gesamten Prozessverlauf soll die nachfol-

gende Skizze deutlich machen.

1 2 i n−1 n

? ? ? ? ?

? ? ? ? ?- - - - - - - -

x1 x2 xi xn−1 xn

K1 K2 Ki Kn−1 Kn

z0 z1 z3 zi−1 zi zn−2 zn−1 zn. . . . . .

Fur unser Eingangsbeispiel ergibt sich folgende Konkretisierung als Graph. An den Ent-

scheidungspfeilen ist die Entscheidungsvariable xi und Beitrag Ki zum Entscheidungskri-

terium als Wertepaar (xi, Ki) vermerkt. Die Zustande zi sind in den Knoten vermerkt.

R

µ µ

µ

R

R

µ

R- -

-

-

-

-0 0

1

0

1

00

1

2

-

1 2 3 4 k

(2,14)

(1,7) (1,9)

(1,9)

(2,18)

(2,18)

(0,0)

(1,12)

(1,12)

(2,24)

(0,0)

(0,0)

(1,8)

(0,0)

Die Darstellung spiegelt folgende Gegebenheiten wieder:

• Jeder Knoten des Graphen entspricht einem Zustand, den das betrachtete System

(in unserem Fall das Lager) in der Periode k = 0, , 1, . . . , 4 annehmen kann.

• Jeder Pfeil veranschaulicht den durch eine Entscheidung xi (Zukauf) und eine Storgroße

bi (Abgang) hervorgerufenen Ubergang des Systems von einem Zustand zi−1 in einen

Zustand zi. Dieser Ubergang wird durch die Beziehung

zi = hi(zi−1, xi, bi)

dargestellt. (In unserem Beispiel ist bi konstant.)

3.2 Losungsprinzip der dynamischen Optimierung 59

3.2 Losungsprinzip der dynamischen Optimierung

Eine Folge von Entscheidungen, die einen Zustand z0 in einen Zustand zn uberfuhrt,

bezeichnet man als eine Politik. Eine Politik, die diese Anderung unter Minimierung der

Zielfunktion K erreicht, nennt man eine optimale Politik.

Da die Entscheidung auf der Stufe i nicht nur den Einzelertrag Ki, sondern auch die

anderen Zustande und damit die Beitrage zur Zielfunktion aller Stufen beeinflusst, fin-

det man die optimale Gesamtpolitik im Allgemeinen nicht dadurch, dass man auf jeder

Stufe des Prozesses den Einzelbeitrag Ki optimiert. Ein Wegweiser fur das Auffinden des

Gesamtoptimums ist das Bellmansche Optimaltitatsprinzip. Es lautet verkurzt:

Jede Unterpolitk einer optimalen Gesamtpolitik ist in ihrem Teilbereich wieder optimal.

oder in der Sprechweise der Mathematik ausgedruckt:

Satz: Sei x∗1, x∗2, . . . , x∗i−1, x∗i , . . . , x∗n eine optimale Gesamtpolitik, die den Anfangszu-

stand z0 in den Endzustand zn uberfuhrt. Sei ferner z∗i−1 der Zustand, den das System

bei optimaler Politik in der Periode i− 1 annimmt. Dann gilt:

• Die Folge von Entscheidungen xi, . . . , x∗n ist eine optimale Teilpolitik, die das System

vom Zustand z∗i−1 in Stufe i− 1 in den vorgegebenen Endzustand uberfuhrt.

• Die Folge von Entscheidungen x∗1, . . . , x∗i−1 ist eine optimale Teilpolitik, die das Sys-

tem vom Anfangsstand z0 in den Zustand z∗i−1 in Stufe i− 1 uberfuhrt.

Diese Optimalitatsprinzip wird rekursiv angewendet. Man bildet dabei entweder vom be-

kannten Ausgangszustand (Vorwartsrechnung) oder vom geforderten Endzustand (Ruckwarts-

rechnung, haufiger angewandt) ausgehend sukzessive optimale Unterpolitiken, zu deren

Konstruktion nur optimale Unterpolitiken niedrigerer Ordnung benutzt werden.

Fur jede Einzelentscheidung xi in der Periode i, die den Zustand zi−1 in den Zustand zi

uberfuhrt, bestimmen wir eine Bewertungsfunktion Fi−1(zi−1). Sie berechnet sich aus dem

aktuellen Beitrag Ki(xi, zi−1) und dem im vorangegangenen Schritt bestimmten Optimum

F ∗i (zi).

Fi−1(zi−1) = Fi∗(zi) + Ki(xi, zi−1)

Anschließend wird wieder das Optimum von Fi−1(zi−1) bestimmt.

Zur Illustration wollen wir unser Eingangsbeispiel durch”Ruckwartsrechnen“ optimieren.

Schritt 1: i = 4 Die Entscheidungsvaria-

ble x4 ist in Abhangigkeit der moglichen

Zustande z3 so festzulegen, dass der Endzu-

stand erreicht wird. Die optimale Entschei-

dung ist mit ∗ markiert.

z3 x4 z4 K4(z3, x4)) F3(z3) optimal

1 0 0 0 0 ∗0 1 0 8 8 ∗

60 3 Dynamische Optimierung

Schritt 2: i = 3 Die Entscheidungs-

variable x3 ist in Abhangigkeit der

moglichen Zustande z2 so festzulegen,

dass der Endzustand erreicht wird.

Die optimale Entscheidung ist mit ∗markiert.

z2 x3 z3 K3(z2, x3) F ∗3 (z3) F2(z2) optimal

2 0 1 0 0 0 ∗1 1 1 12 0 12

1 0 0 0 8 8 ∗0 2 1 24 0 24

0 1 0 12 8 20 ∗

Schritt 3: i = 2 Die Entscheidungs-

variable x2 ist in Abhangigkeit der

moglichen Zustande z1 so festzulegen,

dass der Endzustand erreicht wird.

Die optimale Entscheidung ist mit ∗markiert.

z1 x2 z2 K2(z1, x2) F ∗2 (z2) F1(z1) optimal

1 2 2 18 0 18

1 1 1 9 8 17 ∗1 0 0 0 20 20

0 2 1 18 8 26 ∗0 1 0 9 20 29

Schritt 4: i = 1 Die Entscheidungs-

variable x1 ist in Abhangigkeit vom

Startzustand z0 so festzulegen, dass

der Endzustand erreicht wird. Die op-

timale Entscheidung ist mit ∗ mar-

kiert.

z0 x1 z1 K1(z0, x1) F ∗1 (z1) F0(z0) optimal

0 2 1 14 17 31 ∗0 1 0 7 26 33

Die Verkettung dieser Entscheidungen fuhrt zu der optimalen Gesamtpolitik

x1 = 2; x2 = 1; x3 = 0; x4 = 1 mit dem Optimum F ∗0 (z0) = 31

R

µ

µ

-

-

-

µ

-

µ

- -

R

R R

0 0

1

0

1

00

1

2

-

1 2 3 4 k

(2,14)

(1,7) (1,9)

(1,9)

(2,18)

(2,18)

(0,0)

(1,12)

(1,12)

(2,24)

(0,0)

(0,0)

(1,8)

(0,0)

3.2 Losungsprinzip der dynamischen Optimierung 61

Im vorangegangenen Beispiel haben wir die optimale Teilpolitik durch Auflisten aller Falle

bestimmt. Dies ist bei ganzzahligen Entscheidungsvariablen mit eingeschranktem Bereich

moglich. Sind die Entscheidungsvariable reelle Großen, so ist fur jede Stufe ein geeignetes

Optimierungsverfahren bereit zu stellen. Dies sei am nachfolgenden Beispiel erlautert.

Von einem Wirtschaftsgut werde jeweils zu Beginn einer Periode eine gewisse Menge ver-

kauft. Anschließend wachse der verbleibende Bestand bis zum Beginn der nachsten Periode

mit dem Faktor a > 1 an. Die Zustandsvariablen zi ≥ 0 sollen den Bestand am Ende der

Periode i beschreiben. Die Entscheidungsvariable xi gibt die in dieser Periode verkaufte

Menge an. Dann gilt der Zusdammenhang:

zi = a · (zi−1 − xi) mit 0 ≤ xi ≤ zi−1 , i = 1, 2, . . . , n

Der Einfachheit wollen wir zn = 0 voraussetzen. Der durch den Verkauf in der Periode i

erzielte Gewinn werde durch gi(zi−1, xi) beschrieben. Bei vorgegebenem Anfangsbestand

z0 ergibt sich daraus die folgende Problemstellung:

zi = a · (zi−1 − xi) mit 0 ≤ xi ≤ zi−1 , i = 1, 2, . . . , n

zn = 0

G(z0, x1, x2, . . . , xn) =n∑

i=1

gi(zi−1, xi)!= Max

Zahlenbeispiel: a = 2 ; n = 3 ; z0 = 1 ; gi(zi−1, xi) =√

xi (D.h. der Gewinn hangt nur

von xi ab.)

Wir schreiben die Ubergangsgleichungen und die zu optimierenden Ausdrucke exlizit an.

z0 = 1

z1 = 2 · (z0 − x1) 0 ≤ x1 ≤ z0 g1(z0, x1) =√

x1

z2 = 2 · (z1 − x2) 0 ≤ x2 ≤ z1 g2(z1, x2) =√

x2

z3 = 2 · (z2 − x3) 0 ≤ x3 ≤ z2 g3(z2, x3) =√

x3

Eine mogliche”Politik“ sei im nachfolgenden Tableau dargestellt.

Zustandsvariable zi Entscheidungsvariable xi Gewinnfunktion gi(xi)

z0 = 1

z1 = 2 ·(1− 1

2

)= 1 x1 = 1

2

√12

z2 = 2 ·(1− 1

2

)= 1 x2 = 1

2

√12

z3 = 2 · (1− 1) = 0 x3 = 1√

1

G(12, 1

2, 1) =

√12

+√

12

+ 1 ≈ 2.41 . . .

62 3 Dynamische Optimierung

t

z3

z2

z1

z0z0

z1

z2

z3

2

1x1

x2

x3

Lasst sich der Gewinn durch”geschicktere“ Wahl von x1 , x2 noch optimieren?

Wir optimieren durch Ruckwartsrechnen und benutzen dabei die Beziehung:

Fi−1(zi−1) = F ∗i (zi) + gi(zi−1, xi)

Nun gilt: F3(z3) = F3(0) = F ∗3 (0) = 0

Schritt 1

F2(z2) = F ∗3 (z3) + g3(z2, x3)

= 0 +√

x3

;F ∗

2 (z2) = max0≤x3≤z2

√x3

=√

z2 , x3 = z2

Schritt 2

F1(z1) = F ∗2 (z2) + g2(z1, x2)

=√

z2 +√

x2 mit z2 = 2(z1 − x2) erhalt man daraus

=√

2 · (z1 − x2) +√

x2

F ∗1 (z1) = max

0≤x2≤z1

√2 · (z1 − x2) +

√x2

Nebenrechnung: w(u) =√

c · (t− u) +√

u!= max in 0 ≤ u ≤ t

w′(u) = −c2√

c(t− u)+ 1

2√

u!= 0 ;

c2√

c(t− u)= 1

2√

u

c√

u =√

c(t− u)

c2u = c(t− u) ;

umax = tc + 1

wmax =

√c ·

(t− t

c + 1

)

︸ ︷︷ ︸= c2t

c + 1

+√

tc + 1 =

√t

c + 1 · (c + 1) =√

(c + 1)t

3.2 Losungsprinzip der dynamischen Optimierung 63

damit gilt:

F ∗1 (z1) =

√3z1 , x2 = z1

3Schritt 3

F0(z0) = F ∗1 (z1) + g1(z0, x1)

=√

3z1 +√

x1 mit z1 = 2(z0 − x1) erhalt man daraus

=√

6 · (z0 − x1) +√

x1

F ∗0 (z0) = max

0≤x1≤z0

√6 · (z0 − x1) +

√x1

Mittels obiger Nebenrechnung (c = 6) erhalt man:

F ∗0 (z0) =

√7z0 , x1 = z0

7Die optimale

”Politik“ ist im nachfolgenden Tableau dargestellt.

Zustandsvariable zi Entscheidungsvariable xi Gewinnfunktion gi(xi)

z0 = 1

z1 = 2 ·(1− 1

7

)= 12

7 x1 = z07 = 1

7

√17

z2 = 2 ·(

127 − 4

7

)= 16

7 x2 = z13 = 4

7

√47

z3 = 2 ·(

167 − 16

7

)= 0 x3 = z2 = 16

7

√167

Der optimale Gewinn errechnet sich zu:

Gmax(17, 4

7, 16

7 ) = F ∗0 (1) =

√7 · 1 =

√17

+√

47

+√

167≈ 2.65 . . .

Solche Fragestellungen konnen auch mit der Technik, das Maximum einer Funktion meh-

rerer Variabler zu bestimmen, angegangen werden. Dazu stellen wir die Gewinnfunktion

direkt in Abhangigkeit der Entscheidungsvariablen dar. Bei obigem Beispiel setzen wir

dazu die Transformationsgleichungen

z0 = 1

z1 = 2 · (z0 − x1) 0 ≤ x1 ≤ z0 g1(x1) =√

x1

z2 = 2 · (z1 − x2) 0 ≤ x2 ≤ z1 g2(x2) =√

x2

z3 = 2 · (z2 − x3)!= 0 0 ≤ x3 ≤ z2 g3(x3) =

√x3

ineinander ein:

z2 = 2 · (z1 − x2) = 2 · [2 · (z0 − x1)− x2] = 4− 4x1 − 2x2

Da x3 = z2 (alles wird in der dritten Periode verkauft!) erhalten wir die Gewinnfunktion

in Abhangigkeit der beiden Entscheidungsvariablen x1, x2.

F (x1, x2) =√

x1 +√

x2 +√

x3 =√

x1 +√

x2 +√

4− 4x1 − 2x2

da alle Verkaufe xi ≥ 0 sein mussen, gilt fur die beiden Entscheidungsvariablen x1, x2 die

64 3 Dynamische Optimierung

Einschrankung:

x1 ≥ 0 , 0 ≤ x2 ≤ 2− 2x1

Wir bestimmen die optimale Politik indem wir die partiellen Ableitungen Null setzen.

∂F∂x1

= 12√

x1+ −4

2√

4− 4x1 − 2x2

;

4√

x1 =√

4− 4x1 − 2x2

16x1 = 4− 4x1 − 2x2

20x1 + 2x2 = 4

∂F∂x2

= 12√

x2+ −2

2√

4− 4x1 − 2x2

;

2√

x2 =√

4− 4x1 − 2x2

4x2 = 4− 4x1 − 2x2

4x1 + 6x2 = 4

Als Losung des linearen Gleichungssystems

10x1 + x2 = 2

2x1 + 3x2 = 2

erhalt man die bekannten Werte x1 = 17 , x2 = 4

7 .

Die nachfolgenden Bilder sollen dieses Optimierungsprinzip deutlich machen. Auf die Pro-

blematik nichtlinearer Optimierung werden wir im nachsten Abschnitt genauer eingehen.

3.2 Losungsprinzip der dynamischen Optimierung 65

66 3 Dynamische Optimierung

3.3 Stochastische Probleme

Wir betrachten erneut unser Bestellmodell und beschranken uns auf die ersten drei Peri-

oden. Nun nehmen wir an, dass der Bedarf bi jeder Periode i gleich 1 ist mit der Wahr-

scheinlichkeit p1 = 0.6 und gleich 0 mit der Wahrscheinlichkeit p0 = 0.4 . Lagerbestand

und Liefermenge sind wie bisher auf zwei Einheiten beschrankt.

Periode k 1 2 3

Preis ck 7 9 12

Bedarf bk 1 0 1 0 1 0

Wahrscheinlichkeit 0.6 0.4 0.6 0.4 0.6 0.4

Wir unterstellen ferner, dass fur die Produktion bei nicht ausreichendem Bestand Fehl-

3.3 Stochastische Probleme 67

mengenkosten in Hohe von 20 Einheiten entstehen. Eine am Ende des Planungszeitraums

eventuell vorhandene Restmenge sei nicht verwertbar.

Bei stochastischen Modellen der dynamischen Optimierung ist es ublich eine Poltik zu

bestimmen, die den Kostenerwartungswert (Beschaffungs- und Fehlmengenkosten) mini-

miert. Der nachfolgende Graph soll die diversen Entscheidungen veranschaulichen.

0 0

1

2

0

1

2

0

1

2

-

-

-

U

U

-

-

-

U

U

¸

µ

µ

R

µ

±

-

-

-

U

U

¸

µ

-0

¸

1

º

2

-1

µ2

R0

-0

µ1

-0

-1

R0

-0

-0

Da die entstehenden Kosten nicht allein von Entscheidungen, sondern auch vom Zufall

(dem stochastischen Bedarf) abhangen, enthalt der Graph zwei Arten von Knoten. Zu-

standsknoten, in denen eine Entscheidung zu treffen ist, nennt man deterministisch; sie

sind als Kreise dargestellt. Die quadratischen Knoten nennt man stochastisch; die von

ihnen ausgehenden Pfeile entsprechen einer zufallsabhangigen Nachfrage.

Ausgehend von einem Zustand zi−1 gelangen wir durch eine Entscheidung xi eindeutig

zu einem stochastischen Knoten (dicker Pfeil). Von dort erreichen wir uber die zufalls-

abhangige Nachfrage bi einen von zwei moglichen deterministischen Knoten zi. Von je-

dem stochastischen Knoten (Quadrat) gehen zwei Pfeile aus (dunner Pfeil). Der obere

Pfeil symbolisiert den mit der Wahrscheinlichkeit p0 = 0.4 auftretenden Bedarf bi = 0,

der untere Pfeil kennzeichnet den mit der Wahrscheinlichkeit p1 = 0.6 anfallenden Bedarf

68 3 Dynamische Optimierung

bi = 1. In jeder Stufe i = 1, 2, , 3 kann man von jedem Zustand zi−1 durch eine Entschei-

dung xi in hochstens zwei Folgezustande gelangen.

zi = zi−1 + xi − bi

Mit diesen Ubergangen sind die deterministischen Beschaffungskosten ci · xi und die fol-

genden zufallsabhangigen Fehlmengenkosten verbunden:

fi(zi−1, xi, bi) =

20 falls zi−1 = xi = 0 und bi = 1

0 sonst

Im Laufe der Ruckwartsrechnung berechnen wir fur jeden Entscheidungsknoten zi−1 den

minimalen Kostenerwartungswert F ∗i−1(zi−1) gemaß der Beziehung:

F ∗i−1(zi−1) = min

xi

ci · xi +

1∑

k=0

pk · [ fi(zi−1, xi, k) + F ∗i (zi) ]

Die folgenden Tabellen geben den Losungsgang fur unser Ausgangsproblem wieder. Im

Gegensatz zu Abschnitt 3.2 sind zu jedem Anfangszustand zi−1 und jeder Entscheidung xi

zwei mogliche Endzustande zi (mit den Wahrscheinlichkeiten pk) ins Kalkul einzubeziehen.

Die Bewertung Fi−1 ergibt sich dann aus dem mit den Wahrscheinlichkeiten gewichteten

arithmetischen Mittel der beiden Wege. Die optimale Entscheidung ist wieder mit ∗ mar-

kiert.

Schritt 1: i = 3

z2 x3 z3 c3 · x3 pk f3(z2, x3, b3) F ∗3 (z3) F2(z2) optimal

2 0 2 0 0.4 0 0

2 0 1 0 0.6 0 00 *

1 0 1 0 0.4 0 0

1 0 0 0 0.6 0 00 *

0 1 1 1 · 12 0.4 0 0

0 1 0 1 · 12 0.6 0 012 *

0 0 0 0 0.4 0 0

0 0 0 0 0.6 20 012 *

3.3 Stochastische Probleme 69

Schritt 2: i = 2

z1 x2 z2 c2 · x2 pk f2(z1, x2, b2) F ∗2 (z2) F1(z1) optimal

2 0 2 0 0.4 0 0

2 0 1 0 0.6 0 00 *

1 1 2 1 · 9 0.4 0 0

1 1 1 1 · 9 0.6 0 09

1 0 1 0 0.4 0 0

1 0 0 0 0.6 0 127.2 *

0 2 2 2 · 9 0.4 0 0

0 2 1 2 · 9 0.6 0 018

0 1 1 1 · 9 0.4 0 0

0 1 0 1 · 9 0.6 0 1216.2 *

0 0 0 0 0.4 0 12

0 0 0 0 0.6 20 1224

Schritt 3: i = 1

z0 x1 z1 c1 · x1 pk f1(z0, x1, b1) F ∗1 (z1) F0(z0) optimal

0 2 2 2 · 7 0.4 0 0

0 2 1 2 · 7 0.6 0 7.218.32 *

0 1 1 1 · 7 0.4 0 7.2

0 1 0 1 · 7 0.6 0 16.219.6

0 0 0 0 0.4 0 16.2

0 0 0 0 0.6 20 16.228.2

In der nebenstehenden Ab-

bildung sind die optimalen

Teilpolitiken fett gezeichnet.

Bei Stufe 1 sind auf jeden

Fall zwei Mengeneinheiten

zu beschaffen. Im Anschluss

an die zufallige Realisation

einer Nachfrage ist auf Stu-

fe 2 sowohl in z1 = 2 als

auch in z1 = 1 die Entschei-

dung x2 = 0 zu treffen. Fur

z1 = 0 stellt x2 = 1 die

optimale Teilpolitik dar. Auf

Stufe 3 ist jede (hinsichtlich

der Nebenbedingungen sinn-

volle) Entscheidung optimal.

0 0

1

2

0

1

2

0

1

2

-

-

-

U

U

-

-

-

U

U

¸

µ

µ

R

µ

±

-

-

-

U

U

¸

µ-0

1

2

1

µ2

R0

0

µ1

0

1

0

0

0

¸

-

1 2 3 i

º--

-

- -

-

R

70 4 Nichtlineare Optimierung

4 Nichtlineare Optimierung

Bisher haben wir uns ausschließlich mit linearen Optimierungsaufgaben beschaftigt, d.

h. Fragestellungen bei denen Zielfunktion und Nebenbedingungen lineare Funktionen von

x1, x2, . . . , xn sind. In der Realitat sind aber auch Optimierungsaufgaben, bei denen Ziel-

funktion und/oder Nebenbedingungen nichtlinear eingehen, nicht allzu selten. Fur solche

Probleme ist die Differentialrechnung das klassische Instrument zur Berechnung von Ex-

tremwerten. Fur einfache Modelle der Unternehmensforschung kann damit das Optimum

explizit berechnet werden. Bereits bei mittlerer Große und mittlerem Komplexitatsgrad der

Entscheidungsmodelle scheitert die Differentialrechnung jedoch. Der Wert dieser Metho-

den liegt heute mehr in der theoretischen Fundierung moderner Optimierungsalgorithmen.

Beispiele fur haufig vernachlassigte nichtlineare Beziehungen sind:

• der Einfluss der Großendegression in der Fertigung bei Entscheidungen uber das

Produktionsprogramm

• mangelnde Additivitat einzelner Faktoren bei Mischungsproblemen

• wechselseitige Beeinflussung von Verkaufsmengen und -preisen, woraus die Nichtli-

nearitat des Umsatzes resultiert

• abnehmende Ertragszuwachse, z. B. im Absatzbereich (doppelter Werbeeinsatz er-

gibt nicht unbedingt den doppelten Ertrag), bei Rationalisierungsmaßnahmen etc.

In vielen Fallen ist das Ausmaß und/oder der Einfluss der Nichtlinearitat auf das Ergebnis

gering, so dass die Losung des linearisierten Modells als hinreichend gute Naherung des

Problems angesehen werden darf. Es bleiben jedoch genugend Problemstellungen, die eine

explizite Berucksichtigung von Nichtlinearitaten erforderlich machen.

Eine formale Beschreibung eines allgemeinen Optimierungsproblems lautet:

Man maximiere (oder minimiere) die Zielfunktion

z = z(x1, x2, . . . , xn)

wobei die Variablen x1, x2, . . . , xn die m Nebenbedingungen

gi(x1, x2, . . . , xn)

≤≥=

bi ; i = 1, 2, . . . ,m

erfullen mussen.

71

Bemerkung: Speziell wird bei der linearen Optimierung gefordert, dass die Zielfunktion

die Bauart

z(x1, x2, . . . , xn) =n∑

j=1

cj · xj

und alle Nebenbedingungen von der Art

gi(x1, x2, . . . , xn) =n∑

j=1

ai,j · xj

sind. Weiterhin wird Nichtnegativitat fur alle Variablen angenommen.

Alle Optimierungsprobleme, die nicht diese spezielle Form haben, bezeichnen wir als nicht-

lineare Probleme. In dieser allgemeinen Definition von”nichtlinear“ sind auch alle ganzzah-

ligen, kombinatorischen Optimierungsaufgaben enthalten. Ganzzahlige Problemstellungen

unterscheiden sich jedoch von den ubrigen nichtlinearen Problemen insoweit, dass eine

gemeinsame Behandlung keine Vorteile hatte. Wir beschranken uns daher im Folgenden

auf nichtlineare Optimierungsaufgaben im engeren Sinne, also auf solche, die nichtlineare,

aber kontinuierliche Funktionen enthalten. Ganzzahlige, kombinatorische Optimierungs-

probleme werden separat betrachtet.

Derzeit existiert kein, dem Simplex-Algorithmus entsprechendes Verfahren, das samtliche

nichtlineare Optimierungsaufgaben zuverlassig lost. Alle praktisch einsetzbaren Verfah-

ren stellen relativ strenge Forderungen an die Art und die zulassige Anzahl nichtlinearer

Funktionen. Aber selbst bei starken Beschrankungen kann nicht die Wirksamkeit und

Zuverlassigkeit des Simplex-Algorithmus erreicht werden. Der Grund hierfur liegt in der

erheblichen grundsatzlichen Verkomplizierung von Optimierungsaufgaben beim Auftreten

nichtlinearer Funktionen. Zur Verdeutlichung wollen wir nochmals die grundsatzlichen Ei-

genschaften linearer Optimierungsprobleme deutlich machen:

a) Die Menge der zulassigen Losungen bilden einen konvexen Bereich des n-dimensionalen

Raumes, welcher endlich viele Ecken besitzt.

b) Die optimale Losung liegt auf dem Rand des zulassigen Gebiets. Es gibt einen Eck-

punkt (Basislosung) mit Optimalitat.

c) Es gibt außer dem globalen Optimum keine lokalen Optima.

d) Sofern die zulassige Losungsmenge nicht leer ist und die Zielfunktion auf dem zulassi-

gen Bereich beschrankt ist, existiert stets eine globale optimale Losung.

Die folgenden Beispiele mit zwei Variablen sollen diese Schwierigkeiten bei nichtlinearen

Problemen deutlich machen.

72 4 Nichtlineare Optimierung

Beispiel 4.1: Optimum liegt zwar auf dem Rand, aber nicht in einem Eckpunkt des

zulassigen Bereichs.

Minimiere die Zielfunktion : z(x1, x2) = (x1 − 1)2 + (x2 − 1)2 − 0.4

unter der Nebenbedingung : g1(x1, x2) = x1 + x2 ≤ 1

Das Problem besitzt ein globales Minimum

bei (0.5, 0.5) mit z(0.5, 0.5) = 0.1 .

73

Beispiel 4.2: Optimum liegt im Inneren des zulassigen Bereichs.

Minimiere die Zielfunktion : z(x1, x2) = (x1 − 1)2 + (x2 − 1)2 − 0.4

unter der Nebenbedingung : g1(x1, x2) = x1 + x2 ≤ 3

Das Problem besitzt ein globales Minimum

bei (1, 1) mit z(1, 1) = −0.4 .

74 4 Nichtlineare Optimierung

Beispiel 4.3: Vier lokale Maxima auf dem Rand des zulassigen Bereichs.

Maximiere die Zielfunktion : z(x1, x2) = (x1 − 1)2 + (x2 − 2)2

unter den Nebenbedingungen :g1(x1, x2) = 2x1 + x2 ≤ 9

g2(x1, x2) = 0.4x1 + x2 ≤ 5

Das Problem besitzt vier lokale Maxima bei

(0, 0) mit z(0, 0) = 5

(0, 5) mit z(0, 5) = 10

(2.5, 4) mit z(2.5, 4) = 6.25

(4.5, 0) mit z(4.5, 0) = 16.25

75

Beispiel 4.4: Unendlich viele lokale Maxima im Inneren des zulassigen Bereichs.

Maximiere die Zielfunktion : z(x1, x2) = sin[(x1 − 1)2 + (x2 − 2)2

]+ 1.1

unter den Nebenbedingungen :g1(x1, x2) = 2x1 + x2 ≤ 8

g2(x1, x2) = −2(x1 − 1)2 + x2 ≤ 2

Das Problem besitzt lokale Maxima, die

durch Minima voneinander getrennt sind.

76 4 Nichtlineare Optimierung

Zum Abschluss wollen wir uns noch uberlegen, unter welchen Zusatzvoraussetzungen ein

lokales Extremum auch gleichzeitig global ist. Beim Kapitel”Lineare Optimierung“ haben

wir erkannt, dass das zulassige Gebiet konvex sein muss, wenn der Simplex-Algorithmus

eine globale Losung liefern soll. Von dieser Voraussetzung wollen wir auch hier ausgehen.

Zunachst gehen wir der Frage nach, unter welchen Zusatzvoraussetzungen lokale Extrema

einer Funktion y = f(x) bezuglich eines Intervalls [a, b] auch global sind.

a bx∗

x

y

f(x)

konkave Funktion

a x∗ b

x

y

f(x)

konvexe Funktion

Eine konkave Funktion hat bezuglich des Maximums diese Eigenschaft, wahrend bei einer

konvexe Funktion das lokale Minumum auch global ist.

Wir wollen fur konkave1 Funktion eine charakteristische Ungleichung fur diese Eigeschaft

herleiten.

Die Punkte der Verbindungsgerade zwischen (x1|f(x1)) und (x2|f(x2)) lassen sich wie folgt

darstellen:

x(t) = t · x1 + (1− t) · x2

y(t) = t · f(x1) + (1− t) · f(x2)0 ≤ t ≤ 1

Bei einer konkave Funktion gilt offensichtlich:

f(x(t)) > t · f(x1) + (1− t) · f(x2)︸ ︷︷ ︸y(t)

Entsprechend gilt bei einer konvexen Funktion:

f(x(t)) < t · f(x1) + (1− t) · f(x2)︸ ︷︷ ︸y(t)

In den nachfolgenden Skizzen sind die entsprechenden Großen visualisiert.

1Haufig wird diese Eigenschaft auch als streng konkav bezeichnet.

77

a x1 x(t) x2 b

x

y

f(x)

f(x1)

y(t)

f(x2)

f(x(t))

konkave Funktion

a x1 x(t) x2 b

x

f(x(t))

f(x2)

y(t)

f(x1)

y

f(x)

konvexe Funktion

78 4 Nichtlineare Optimierung

Fur Funktionen mehrerer Variabler f(x) wird die Eigenschaft konvex und konkav mit

denselben Ungleichungen erklart.

Bei der Optimierung von Funktionenn f(x) mehrerer Variabler spielen naturgemaß die

partiellen Ableitungen von f(x) eine zentrale Rolle. Zur ubersichtlichen Darstellung fassen

wir samtliche partiellen Ableitungen zu einem Vektor zusammen und bezeichnen diesen

Vektor mit ∇f(x); gesprochen Gradient von f .

∇f(x) =

∂f∂x1

(x)

∂f∂x2

(x)

...∂f∂xn

(x)

Der Gradientenvektor ist fur jeden Punkt des Definitionsbereichs von f erklart. Fur n = 2

kann der Gradient von f anschaulich gedeutet werden. Die zu optimierende Funktion

z = f(x) stellt dann eine Flache im Raum dar. Der Vektor ∇f(x) gibt dann in der

(x1, x2)-Ebene die Richtung des starksten Anstiegs an. In der folgenden Skizze sind fur die

Funktion

z = f(x1, x2) =√

1− x21 − 2.5x2

2

in der (x1, x2)-Ebene neben den Hohenlinien einige Gradienten eingezeichnet.

z = sqrt1− x2 − 2.5y2

x

y

4.1 Losungsverfahren 79

Es ist anschaulich klar, dass der Definitionsbereich von f(x) (Inneres einer Ellipse!)

konvex ist. Ebenso kann man durch Nachrechnen erkenne, dass die Funktion f(x) fur

x1, x1 ∈ D(f) die Eigenschaft

x(t) = (1− t) · x1 + t · x2; f(x(t)) > t · f(x1) + (1− t) · f(x2)︸ ︷︷ ︸y(t)

erfullt und damit konkav ist. Fur solche Funktionen gilt nun der Satz:

Satz: Es sei f(x) eine auf einer konvexen Menge erklarten Menge X ∈ IRn definierte

konkave Funktion. Dann gilt:

a) Ein lokales Maximum f(x∗) ist zugleich globales Maximum von f auf X.

b) Ist f(x) zweimal stetig differenzierbar, so stellt ∇f(x) = 0 eine notwendige und

zugleich hinreichende Bedingung fur ein globales Maximum dar.

Eine analoge Aussage gilt fur kovexe Funktionen bezuglich des Minimums.

Der obere Satz ist eine reine Existenzausssage. Er hat aber auch fur den Anwender ei-

ne gewisse Bedeutung. Liefert ein Naherungsverfahren unter den Voraussetzungen dieses

Satzes eine Losung, so kann man sicher sein, dass diese auch global ist. In allen anderen

Fallen mussen wir versuchen durch Zusatzbetrachtungen, Variation der Startbedingungen

des Algorithmus etc. eine globale Losung zu rechtfertigen.

4.1 Losungsverfahren

Wir versuchen hier nur einen Uberblick uber diverse Grundgedanken zu geben, die zu

Losungsverfahren fur nichtlineare Optimierungsprobleme fuhren. Zunachst seien einige

Spezialfalle erwahnt, die einer expliziten Losung zuganglich sind. Dabei sei die Nichtlinea-

ritat auf die Zielfunktion beschrankt. Der zulassige Bereich fur die Losungen bilde – wie

im linearen Fall – ein von Hyperebenen beschranktes konvexes Gebiet im IRn.

a) Probleme mit trennbarer Zielfunktion

Eine Zielfunktion von n Variablen heißt trennbar, wenn sie als Summe von n Funk-

tionen dargestellt werden kann, die jeweils nur von einer Variablen xj abhangen.

z = f(x1, x2, . . . , xn) =n∑

i=1

fi(xi)

Erfullen die Zielfunktionen fi zusatzlich Bedingungen ( z. B. konvex oder konkav),

so lassen sich die entsprechenden Optimierungsaufgaben auf die Einzelfunktionen

zuruckspielen.

80 4 Nichtlineare Optimierung

b) Probleme mit quadratischer Zielfunktion

Eine Zielfunktion heisst quadratisch, wenn sie nur Glieder erster und zweiter Ord-

nung enthalt.

z = f(x1, x2, . . . , xn) =n∑

i=1

ci xi +n∑

i=1

n∑j=1

di,j xi xj

In vektorieller Schreibweise lasst sich die Zielfunktion in die Form bringen:

z = f(x1, x2, . . . , xn) = cT · x + xT · D · x

Hierbei ist D eine symmetrische (n, n)-Matrix. Da partielle Ableitungen quadra-

tischer Ausdrucke linear sind, kann man dieses Optimierungsproblem unter einfa-

chen Zusatzvoraussetzungen (Matrix muss positiv semidefinit sein) durch Einfuhrung

zusatzlicher Schlupfvariabler auf den Simplex-Algorithmus zuruckspielen.

c) Probleme mit hyperbolischer Zielfunktion

z = f(x1, x2, . . . , xn) =

c0 +n∑

i=1

ci xi

d0 +n∑

i=1

di xi

Man spricht von einer hyperbolischen Zielfunktion, wenn die Zielfunktion als Quoti-

ent zweier linearer Ausdrucke dargestellt werden kann.

Zielfunktionen dieser Art treten in den Fallen auf, in denen relative Kriterien zu

optimieren sind, z. B bei Rentabilitat.

Durch einen kleinen Trick lasst sich dieses Problem auf eine lineare Fragestellung

zuruckfuhren. Man erweitert den Quotienten mit einer Hilfsvariablen t > 0 und

fuhrt neue Variable ein:

z = f(x1, x2, . . . , xn) =

c0 · t +n∑

i=1

ci xi · t

d0 · t +n∑

i=1

di xi · t

mit der zusatzlichen Nebenbedingung

d0 · t +n∑

i=1

di xi · t = 1

und den neuen Variablen yj = xj · t ergibt sich ein lineares Optimierungsproblem

z = f(y1, y2, . . . , yn, t) = c0 · t +n∑

i=1

ci yi

4.1 Losungsverfahren 81

Bezuglich der Losung allgemeiner nichtlinearer Optimierungsaufgaben wollen wir uns auf

wenige Grundgedanken beschranken. Im Zweidimensionalen wird die zu optimierende Ziel-

funktion F (x1, x2) durch eine Flache im IR3 dargestellt. Der Gradient von F ergibt einen

zweidimensionalen Vektor, der im Definitionsgebiet in Richtung des starksten Anstiegs

auf der Flache weist (Falllinie). Wir versuchen nun das Maximum iterativ zu erreichen.

Dazu bestimmen wir ausgehend von einer Naherung xn die Richtung des Gradienten und

bestimmen auf dieser Geraden den Punkt xn+1 mit maximalem Wert der Zielfunktion als

nachste Naherung. Auf diese Weise konnen wir den Gipfel des Berges ersteigen.

Soll das Minimum bestimmt werden, so geht man in Richtung des negativen Gradienten

zur nachsten Naherung.

Beispiel 4.5: Quadratische Zielfunktion mit globalem Minimum im Inneren des zulassigen

Bereichs.

Minimiere die Zielfunktion : z(x1, x2) = (x1 − 1)2 + 2(x2 − 2)2

unter den Nebenbedingungen :g1(x1, x2) = 2x1 + x2 ≤ 9

g2(x1, x2) = 0.4x1 + x2 ≤ 5

82 4 Nichtlineare Optimierung

Das Problem besitzt vier lokale Maxima und

ein globales Minimum bei

(0, 0) mit z(0, 0) = 9

(0, 5) mit z(0, 5) = 19

(2.5, 4) mit z(2.5, 4) = 10.25

(4.5, 0) mit z(4.5, 0) = 20.25

(1, 2) mit z(1, 2) = 0

Zur Losung gehen wir von einem Naherungspunkt in Richtung des negativen Gradienten

zur nachsten Naherung. Bereits nach zwei Iterationen haben wir das globale Minimum

erreicht.

xn grad(F (xn)) xn + t · [−grad(F (xn))] optimaler t-Wert xn+1

(1.6

1.2

) (1.2

−3.2

) (1.6

1.2

)+ t ·

(−1.2

3.2

)0.25

(1.3

2

)

(1.3

2

) (0.6

0

) (1.3

2

)+ t ·

(−0.6

0

)0.5

(1

2

)

Die folgende Skizze zeigt die Iteration in der (x1, x2)-Ebene.

4.1 Losungsverfahren 83

Wenden wir dasselbe Prinzip unverandert zur Bestimmung des maximalen Wertes an, so

erreichen wir schnell den Rand des zulassigen Bereichs und der Prozess bricht ab. Der

Algorithmus berucksichtigt nicht die Berandung des zulassigen Gebiets.

xn grad(F (xn)) xn + t · [grad(F (xn))] optimaler t-Wert xn+1

(0.95

1.95

) (−0.1

−0.2

) (0.95

1.95

)+ t ·

(−0.1

−0.2

)1

(0.85

1.75

)

(0.85

1.75

) (−0.3

−1

) (0.85

1.75

)+ t ·

(−0.3

−1

)1

(0.55

0.75

)

(0.55

0.75

) (−0.3

−1

) (0.85

1.75

)+ t ·

(−0.9

−5

)0.15

(0.415

0

)

Die folgende Skizze zeigt, wie schnell die Iteration zu einem Randpunkt fuhrt. Ein vernunf-

tiger Algorithmus muss die aus den Nebenbedingungen stammenden”zulassigen Richtun-

gen“ mit einbeziehen. Nur so sind die lokalen Maxima in den Eckpunkten erreichbar.

84 4 Nichtlineare Optimierung

Zum Abschluss wollen wir noch die Tucken bei der An-

wendung von Software (z. B. Excel, MATLAB) auf unser

Beispiel deutlich machen.

Bei der Suche nach dem Maximum ergeben sich bei obi-

gem Beispiel je nach Startwert verschiedene Losungen.

Solche Programme erkennen haufig nur lokale Extrema.

Aus diesem Grund ist es meist sehr wichtig zu wissen, in

welchem Bereich das zu bestimmende Optimum liegen

muss. Ein Anhaltspunkt liefert haufig auch ein verein-

fachtes lineares Modell.

x0 x∗ F (x∗)

(0.1

0.1

) (0

0

)9

(1

4

) (0

5

)19

(4

1

) (4.5

0

)20.25

Nachfolgendes Tabellenkalkulationsblatt (Excel) soll die Vorgehensweise erlautern. In Zelle

B6 ist die Zielfunktion in Abhangigkeit von x1, x2, d. h. von Zelle B5 bzw. C5 einzugeben.

Die Koeffizienten der Ungleichungen geben wir in den Zellbereich B9:C10 ein; die Schran-

ken tragen wir in D9:D10 ein. In der Berechnungtabelle B12:C13 berechnen wir die linken

Seiten der Ungleichungen.

4.1 Losungsverfahren 85

A B C D

1 Nichtlineare

2 Optimierung

3

4 Variable x1 x2

5 Werte 0 5,00000001486873

6 Funktion =(B5-1)ˆ2+2*(C5-2)ˆ2

7

8 Ungleichungen ai1 ai2 di

9 2 1 9

10 0,4 1 5

11

12 Berechnung =B5*B9 =C5*C9 =SUMME(B12:C12)

13 =B5*B10 =C5*C10 =SUMME(B13:C13)

Nun wird fur die Zelle B7 (Zielfunktion) der”Solver“ aufgerufen. In die Solver-Dialog-Box

machen wir folgende Eintrage:

Zielzelle : $B$6

Zielwert : Max anklicken

Veranderbare Zelle : $B$5: $C$5

Nebenbedingungen :$D$12: $D$13 <= $D$9: $D$10

$B$5: $C$5 >= 0

Wenn wir in die Zellen B5:C5 die verschiedenen Startwerte eintragen und anschließend

den Solver aufrufen, ergeben sich die erwahnten drei lokalen Maxima.

86 5 Warteschlangentheorie

5 Warteschlangentheorie

Warteschlangensituationen trifft man uberall an: Autos vor einer Ampel, Kunden vor

einer Kasse, Anrufe bei einer Telefonzentrale und Maschinen, die auf eine Reparatur war-

ten. Jedes Wartesystem besteht aus den Komponenten Inputprozess, Warteschlange und

Servicesystem. Warteschlangenmodelle werden mit Hilfe der charakteristischen Eigenschaf-

ten dieser drei Komponenten klassifiziert.

Kundenquelle-ankommende

Kunden-abgefertigte

Kunden

Wartesystem

Warte-schlange

Bedienungs-station

Die obige Abbildung zeigt den prinzipiellen Aufbau eines Wartesystems mit einer Bedie-

nungsstation, die aus zwei parallelen Schaltern besteht.

5.1 Klassifizierung

In diesem Abschnitt wollen wir, ohne auf konkrete Rechenstrukturen einzugehen, Warte-

schlangensysteme charakterisieren.

a) Inputprozess

Als Modell stellen wir uns dafur eine Quelle vor, die Einheiten (Kunden, Autos,

Maschinen etc.) fur unser System liefert. Dabei unterscheiden wir:

• Unbeschrankte Quelle (offenes System)

Beschrankte Quelle (geschlossenes System)

Beispiel fur offenes System: Kunde - Bankschalter

5.1 Klassifizierung 87

Beispiel fur geschlossenes System: Maschinenpark - Servicemonteur

• Einzelankunfte oder Gruppenankunfte

Beispiel fur Einzelankunfte: Friseur

Beispiel fur Gruppenankunfte: Restaurant

• Zeiten zwischen zwei Ankunften sind statistisch von einander abhangig oder

unabhangig

• Die Wahrscheinlichkeitsverteilung der Zwischenzeiten ist zeitunabhangig

( stationar ) oder hangt von der Zeit ab ( nichtstationar ).

Ein nichtstationarer Inputprozess liegt vor, wenn sich Zeiten des Hochbetriebs

mit Flauten abwechseln.

• Manchmal hangen die Inputprozesse auch vom jeweiligen Zustand der Warte-

schlange ab.

Beispiel fur einen vom Systemzustand abhangigen Inputprozess: Falls die War-

teschlange zu lang ist, tritt ein potentieller Kunde mit einer bestimmten Wahr-

scheinlichkeit nicht ins System ein. Als Spezialfall ist hier auch ein beschrankter

Warteraum enthalten.

b) Warteschlange

Hier wird die Reihenfolge der Bedienung sowie das Kundenverhalten in der Schlange

charakterisiert.

• Auswahlordnungen fur den Service, die von der Reihenfolge des Eintreffens

abhangen:

FIFO : first in, first out

LIFO : last in, first out

SIRO : service in random order

• Prioritatensystem

Die ankommenden Einheiten werden fur die Bedienungsreihenfolge in Rangklas-

sen eingeteilt. Die Prioritat der Bedienung kann auch”absolut“ erklart sein, d.

h. eine Einheit hoheren Ranges unterbricht sogar den laufenden Service einer

niedrigeren Einheit.

Der Rang einer Einheit kann sowohl extern vorgegeben werden (z. B. Stamm-

kunden werden vorgezogen), er kann aber auch intern an die zu erwartende

Servicezeit gebunden werden.

• Ungeduldige Kunden in der Warteschlange

Kunden verlassen ohne Service mit einer gewissen Wahrscheinlichkeit die War-

teschlange, wenn diese zu lang ist.

88 5 Warteschlangentheorie

c) Servicesystem

Ein Servicesystem besteht aus mehreren gekoppelten Servicestellen ( = Kanalen )

• Servicestellen

Eine entscheidende Kenngroße einer Servicestelle ist die Wahrscheinlichkeits-

verteilung der Servicezeiten. Zur Klassifizierung dienen die Eigenschaften:

– alle Kunden sind in Bezug auf die Servicezeit vom selben Typ bzw. verhal-

ten sich unterschiedlich.

– alle Servicestellen des Systems verhalten sich gleich oder besitzen ein un-

terschiedliches Serviceverhalten

– Servicezeiten sind vom jeweiligen Systemzustand unabhangig oder abhangig.

(Bei Andrang schnellere Abfertigung!)

– die Servicezeitverteilung ist stationar oder hangt von der Zeit ab

• Struktur von Servicesystemen

– Parallelschaltung von Servicestellen: Die Abfertigungsrate des Gesamtsys-

tems ergibt sich als Summe der einzelnen Abfertigungsraten.

– Reihenschaltung

Falls zwischen den Servicestellen Warteschlangen beliebiger Lange moglich

sind, ist die Gesamtabfertigungsrate des Systems gleich der Abfertigungsra-

te derjenigen Servicestelle, die den Engpass bildet. Bei beschranktem War-

teraum zwischen den verschiedenen Servicestationen konnen durch”Ruck-

stau“ Blockierungseffekte auftreten, die die Leistung des Gesamtsystems

unter die Engpassleistung drucken.

Reihenschaltungen sind erheblich schwerer zu analysieren als Parallelschal-

tungen.

• Stochastische Netzwerke

Aus der Parallel- und Reihenschaltung von Servicestellen konnen beliebig kom-

plizierte Netzwerke aufgebaut werden. Hier hilft in der Regel nur die Simulation

der Anordnung.

Zur groben Klassifikation von Wartesystemen benutzt man das folgende Schema:

A|B|s : (d|e|f)

Jedes Symbol dieses Codes steht fur die Auspragung eines Unterscheidungsmerkmals von

Wartesystemen.

5.1 Klassifizierung 89

A : Wahrscheinlichkeitsverteilung des Inputprozesses

B : Wahrscheinlichkeitsverteilung der Servicezeiten

s : Anzahl der parallel geschalteten Servicestellen

d : Angabe der Schlangendisziplin (FIFO etc.)

e : e < ∞ oder e = ∞ gibt die Schlangenkapazitat an

f : f < ∞ oder f = ∞ signalisiert, ob der Input beschrankt ist oder nicht

Im Falle d=FIFO, e=f=∞ beschrankt man sich darauf, die ersten drei Merkmale anzuge-

ben.

Fur A und B kommen folgende gebrauchliche Wahrscheinlichkeitsverteilungen in Frage:

M : exponentiell verteilte Zwischenzeiten; beim Input ergibt sich ein Poisson-Strom

(M = Markov-Eigenschaft)

E : Input genugt einer Erlangverteilung (Summe von Exponentialverteilungen)

D : konstante Servicezeit bzw. aquidistanter Input (D = deterministic)

G : allgemeine Verteilung bei Servicezeit bzw. Input (G = general)

Beispiel 5.1: Das Kurzel M|D|2 : (FIFO|∞|∞) bedeutet:

Input : Zwischenankunftszeiten sind exponential verteilt

Service : konstante Servicezeiten; zwei parallele Kanale

Schlangendisziplin : FIFO (first in, first out)

Schlangenkapazitat : unbeschrankt

System : unbeschrankt

Leistungen der Warteschlangentheorie

Eine Warteschlangenanalyse wird bei Entscheidungen fur einen Systementwurf benotigt.

Um Entscheidungen uber Geschwindigkeit, Anzahl und Anordnung von Servicestationen,

den Wartraum und die Auswahlordnung eines Systems treffen zu konnen, benotigen wir

detaillierte Informationen uber das Verhalten von solchen Warteschlangensystemen. Wir

versuchen deswegen Maßzahlen zu berechnen, die die Leistungsfahigkeit solcher Systeme

widerspiegelt. Haufig verwendete Leistungskennzahlen sind Erwartungswert (entspricht

Mittelwert) und Varianz der Warteschlangenlange und der Wartezeit. Ebenso bestimmt

man Parameter, die den Ausnutzungsgrad der Servicestellen und den maximal moglichen

Durchfluss.

90 5 Warteschlangentheorie

Die Warteschlangentheorie liefert uns fur viele Systemvarianten analytisch gewonnene For-

meln fur die oben erwahnten Parameter. Fur komplexere Systeme, die in der Praxis durch-

aus relevant sind, bietet nur die Simulation einen Ausweg.

5.2 Modellierung von Wartesystemen

Wir nehmen an, dass das Wartesystem zum Zeitpunkt 0 leer sei und zu den Zeitpunkten

T1, T2, . . . mit 0 < T1 < T2 < . . . Kunden einzeln ankommen und sich in die Warte-

schlange einreihen. (Kunden treten in das Wartesystem ein, wobei das Wartesystem die

Warteschlange und die Bedienungsstation umfasst.) Setzen wir noch T0 = 0, so bezeichnen

wir mit Zn = Tn−Tn−1 die Zwischenankunftszeit des n-ten Kunden. Sn sei die Bedienungs-

zeit oder Servicezeit des n-ten Kunden. Als aktuelle Wartezeit W qn des Kunden n in der

Schlange bezeichnen wir die Zeitspanne zwischen Ankunft und Beginn der Bedienung.

Wn = W qn + Sn

ist dann die Gesamtzeit des n-ten Kunden im Wartesystem, auch Verweilzeit genannt. Fur

den Zeitpunkt Dn , zu dem der Kunde das Wartesystem verlasst gilt:

Dn = Tn + W qn + Sn

Sei L(t) die Anzahl der Kunden im Wartesystem zum Zeitpunkt t ≥ 0. Im Falle eines

Bedienungsschalters gilt dann fur die Anzahl Lq(t) der Kunden in der Schlange

Lq(t) =

L(t)− 1, falls L(t) ≥ 1

0, falls L(t) = 1.

Die Großen Tn, Zn, Sn, Wn, W qn ; n = 1, 2, . . . sowie L(t), Lq(t) ; t ≥ 0 stellen

Zufallsgroßen dar. Bei einem Wartesystem sind in der Regel die Verteilungen von Zn und

Sn gegeben und die Verteilungen von W qn und L(t) gesucht. Wir werden im Folgenden nur

Wartesysteme betrachten, bei denen Zn und Sn jeweils unabhangige, identisch verteilte

Zufallsgroßen sind und damit durch je ein Zufallsvariable Z (”die Zwischenankunftszeit“)

bzw. S (”die Bedienungszeit“) beschrieben werden konnen. Außerdem sollen Z und S

voneinander stochastisch unabhangig sein. Diese Voraussetzung ist oft in der Praxis nicht

gegeben. In diesem Fall muss auf die Simulation des Systems zuruckgegriffen werden.

L(t)| t ≥ 0 ist ein sogenannter stochastischer Prozess. Jede Realisation von L(t)| t ≥0 entspricht einer Treppenfunktion, die zu den Zeitpunkten Tn und Dn Sprungstellen

besitzt. Vereinbaren wir, dass diese Treppenfunktion”rechtsseitig“ stetig ist, dann ist

L(Tn) − 1 die Anzahl der Kunden, die der n-te ankommende Kunde im Wartesystem

vorfindet. L(Dn) ist die Anzahl der im System zuruckbleibenden Kunden, wenn der n-te

Kunde das Wartesystem verlasst.

5.3 Das Wartesystem M|M|1 91

1

2

3

T1 T2T3 D1 D2 T4 D3

t

W1

W2

W3

Die obige Skizze illustriert einen solchen”stochastischen Prozess“. Sie zeigt vier Ankunfte

zu den Zeiten T1, T2, T3, T4. Zu den Zeiten D1, D2, D3 verlasst jeweils ein Kunde das

System. Die Doppelpfeile sollen die zugehorigen Verweildauern Wi deutlich machen.

5.3 Das Wartesystem M|M|1Beim Wartesystem M|M|1 sind die Zwischenankunftszeit und die Bedienzeit exponential-

verteilte Zufallsvariable. Wir wollen versuchen fur dieses”einfache“ System ein mathema-

tisches Modell zu entwickeln. Dabei werden wir wieder auf die aus der Wahrscheinlichkeits-

theorie bekannten Possion-Verteilung treffen. Mit Hilfe der Wahrscheinlichkeitsrechnung

lasst sich zeigen, dass die Anzahl der Ereignisse in einem festen Zeitraum T bei einem

exponentialverteilten Ankunftsstrom einer Poisson-Verteilung genugt.

Die Zeiten zwischen zwei Ereignissen seien exponentialverteilt mit der Dichtefunktion

f(t) = λe−λt. Wir fragen nach der Anzahl der Ereignisse in einem festen Zeitraum T .

pλ(k) sei die Wahrscheinlichkeit dafur, dass im Zeitraum [0, T ] genau k Ereignisse statt-

finden.

• kein Ereignis in [0, T ]:

pλ(0) =∞∫T

λe−λτdτ =[− e−λτ

]∞T

= e−λT

• genau ein Ereignis in [0, T ]: es ist zu falten

92 5 Warteschlangentheorie

kein Ereignis in [0, T ]

?

ein Ereignis in [0, T ]

pλ(1) =T∫0

e−λτ · λe−λ(T−τ)dτ = λe−λTT∫0

1dτ = λe−λT[τ]T

0= λTe−λT

• genau zwei Ereignisse in [0, T ]: es ist zu falten

ein Ereignis in [0, T ]

?

ein Ereignis in [0, T ]

pλ(2) =T∫0

λτe−λτ · λe−λ(T−τ)dτ = λ2e−λTT∫0

τdτ = λ2e−λT[τ 2

2

]T

0=

(λT )2

2 e−λT

• Vermutung: Poisson-Verteilung mit dem Parameter λT

Wir fuhren den Nachweis mit vollstandiger Induktion. Es ist noch der Induktionss-

schritt durchzufuhren.

Es gelte pλ(k) =(λT )k

k!e−λT .

Wir bestimmen die Wahrscheinlichkeit fur genau k + 1 Ereignisse in [0, T ]: es ist zu

falten

k Ereignisse in [0, T ]

?

ein Ereignis in [0, T ]

pλ(k + 1) =T∫0

λkτ k

k!e−λτ · λe−λ(T−τ)dτ = λk+1

k!e−λT

T∫0

τ kdτ

= λk+1

k!e−λT

[τ k+1

k + 1

]T

0=

(λT )k+1

(k + 1)!e−λT

Diese Verteilung besitzt den Erwartungswert E(X ) = λT mit der Bedeutung

”durchschnittliche Anzahl der Anrufe im Beobachtungszeitraum [0, T ]“.

Daraus errechnet sich wieder die”Ankunftsrate“ λ =

E(X )T .

Der Kehrwert TE(X )

hat die Bedeutung”durchschnittliche Zeit zwischen zwei

Ankunften“.

Wir wollen hier alternativ versuchen, diese Verteilungen aus folgenden Forderungen A1,

A2, A3 abzuleiten. Dabei formulieren wir ein Differenzialgleichungssystem fur die Wahr-

scheinlichkeiten p(k). Dieser Weg hat den Vorteil, dass prinzipiell auch die”Einschwing-

vorgange“ fassbar sind. Im Gegensatz dazu beschreibt die obere Uberlegung nur den sta-

tionaren Fall!

5.3 Das Wartesystem M|M|1 93

A1 Die Wahrscheinlichkeit P , dass ein Kunde in einem beliebigen Zeitintervall ∆t ein-

trifft sei proportional zu Intervalllange und unabhangig vom Zeitpunkt t sowie der

Situation in der Warteschlange; d. h. es gelte

P = λ ·∆t ; λ : Ankunftsrate

Die Wahrscheinlichkeit, dass ein weiterer Kunde in diesem Zeitintervall eintrifft sei

Null.

A2 Die Wahrscheinlichkeit P , dass ein Kunde in einem beliebigen Zeitintervall ∆t ab-

gefertigt wird, sei wieder proportional zu Intervalllange und unabhangig vom Zeit-

punkt t sowie der Situation in der Warteschlange; d. h. es gelte

P = µ ·∆t ; µ : Bedienungsrate

Die Wahrscheinlichkeit, dass mehr als ein Kunde in diesem Zeitintervall abgefertigt

wird, sei ebenfalls Null.

Im Falle eines leeren Wartesystems setzen wir die Wahrscheinlichkeit fur das Abfer-

tigen gleich Null.

Die Voraussetzungen A1 und A2 besagen insbesondere, dass die Kunden einzeln ankommen

und abgefertigt werden. Das”Eintreffen eines Kunden“ und das

”Abfertigen eines Kunden“

bezeichnen wir im Folgenden im Sinne der Wahrscheinlichkeitsrechnung als ein Ereignis.

Die dritte Forderung lautet dann:

A3 Die Anzahl der in disjunkten Zeitintervallen auftretenden Ereignisse”Eintreffen ei-

nes Kunden“ seien unabhangige Zufallsgroßen. D. h. die Anzahl der zuvor eingetrof-

fenen Kunden beeinflusst nicht die Ankunft der nachfolgenden Kunden. Dasselbe

gelte fur die Ereignisse”Abfertigen eines Kunden“.

Wir wollen nun unter den Voraussetzungen A1 bis A3 alle moglichen Zustandsanderungen

untersuchen. Sind zum Zeitpunkt t ≥ 0 genau j ≥ 0 Kunden im Wartesystem, d. h. es

gelte

L(t) = j

so sagen wir, das System befinde sich zur Zeit t im Zustand j. Die wahrend eines Zeitin-

tervalls ∆t moglichen”Zustandsubergange“ sind in der nachfolgenden Tabelle aufgelistet.

Bei den Wahrscheinlichkeiten wurden nur die linearen Glieder in ∆t berucksichtigt.

94 5 Warteschlangentheorie

Zustand

zur Zeit t

Zustand

zur Zeit t+∆t

Bedeutung des

Zustandsubergangs

Wahrscheinlichkeit des

Zustandsubergangs

j ≥ 0 j + 1ein neuer Kunde ist

angekommenλ ·∆t

j + 1 jein Kunde wurde

abgefertigtµ ·∆t

j ≥ 1 j

weder ein neuer Kunde ange-

kommen noch ein neuer Kunde

abgefertigt oder

ein neuer Kunde ist angekom-

men und ein Kunde wurde im

selben Intervall abgefertigt.

1− (λ ·∆t + µ ·∆t) 1

j = 0 j = 0kein neuer Kunde ist

angekommen1− λ ·∆t

Mittels obiger Tabelle konnen wir nun fur die Wahrscheinlichkeiten pj(t) und pj(t + ∆t)

eine Differenzengleichung angeben. Dabei werden wieder nur die linearen Glieder in ∆t

berucksichtigt.2

p0(t + ∆t) =

keine Veranderung︷ ︸︸ ︷(1− λ∆t) · p0(t) +

eine Abfertigung︷ ︸︸ ︷µ∆t · p1(t)

pj(t + ∆t) = λ∆t · pj−1︸ ︷︷ ︸eine Ankunft

+ (1− λ∆t− µ∆t) · pj(t)︸ ︷︷ ︸keine Veranderung

+ µ∆t · pj+1(t)︸ ︷︷ ︸eine Abfertigung

; j = 1, 2, . . .

Obiges System lasst sich auch als Differenzenquotient anschreiben:

p0(t + ∆t)− p0(t)∆t = −λ · p0(t) + µ · p1(t)

pj(t + ∆t)− pj(t)∆t = λ · pj−1 + − (λ + µ) · pj(t) + µ · pj+1(t) ; j = 1, 2, . . .

1Es gilt exakt :

(1− λ ·∆t) · (1− µ ·∆t) + (λ ·∆t) · (µ ·∆t) = 1− (λ + µ) ·∆t + 2λ · µ · (∆t)2

Wenn wir die Glieder zweiter Ordnung in ∆t vernachlassigen, so erhalten wir den obigen Tabelleneintrag.2Hintergrund ist der Satz von der totalen Wahrscheinlichkeit: Seinen B1, B2, . . . Br paarweise dis-

junkte Ereignisse mit ∪rk=1Bk = Ω . Dann gilt fur ein beliebiges Ereignis A

P (A) =r∑

k=1

P (A|Bk) · P (Bk)︸ ︷︷ ︸P (A ∩Bk)

5.3 Das Wartesystem M|M|1 95

Der Grenzubergang ∆t → 0 liefert dann das folgende System von Differenzialgleichungen,

wobei wir wie ublich die Ableitung nach der Zeit mit einem Punkt bezeichnen.

p0(t) = −λ · p0(t) + µ · p1(t)

pj(t) = λ · pj−1 + − (λ + µ) · pj(t) + µ · pj+1(t) ; j = 1, 2, . . .

Zu obigen Differenzialgleichungen mussen noch Startwerte vorgegeben werden. Wenn wir

standardmaßig annehmen, dass wir mit einem leeren System starten, so erhalt man die

Anfangsbedingungen:

p0(0) = 1

pj(0) = 0 ; j = 1, 2, . . .

Aus den obigen Uberlegungen konnen die Verteilungsfunktionen des Ankunfts- und Ab-

gangsprozesses sowie die Verteilung der Wartezeiten bestimmt werden. Exemplarisch wol-

len wir die Verteilungsfunktion fur den Ankunftsprozess ableiten.

Es sei qj(t) die Wahrscheinlichkeit dafur, dass bis zum Zeitpunkt t genau j Klienten ange-

kommen sind. Wir erhalten das zugehorige Differenzialgleichungssystem, indem wir oben

µ = 0 und pj(t) = qj(t) setzen.

q0(t) = −λ · q0(t) q0(0) = 1

qj(t) = λ · qj−1(t) − λ · qj(t) qj(0) = 0 ; j = 1, 2, . . .

Wir losen nun sukzessive das System.

Fall j = 0

Das Anfangswertproblem q0(t) = −λ · q0(t) ; q0(0) = 1 besitzt die Losung:

q0(t) = e−λt

Fall j = 1

Zu losen ist das Problem q1(t) = λ · e−λt − λ · q1(t) ; q1(0) = 0 .

Fur die homogene Losung erhalten wir wieder q1,h(t) = Ce−λt .

Wegen”Resonanz“ machen wir fur die partikulare Losung den Ansatz:

q1,p = A · t · e−λt ; q1p = A · e−λt + A · t · e−λt(−λ)

In die Differenzialgleichung eingesetzt, ergibt sich eine Bestimmungsgleichung fur A:

A · e−λt + A · t · e−λt(−λ) = λ · e−λt + (−λ) · A · t · e−λt ; A = λ

Nun mussen wir noch die Losung q1(t) = Ce−λt + λt · e−λt an die Anfangsbedingung

q1(0) = 0 anpassen.

q1(0) = C!= 0 ; C = 0 ⇒ q1(t) = λt · e−λt

96 5 Warteschlangentheorie

Fall j = 2

Als Losung des Problems q2(t) = λ · (λt)e−λt − λ · q2(t) ; q2(0) = 0 erhalten wir mit

derselben Losungsstrategie:

q2(t) =(λt)2

2!· e−λt

Wir vermuten nun, dass sich auch fur j ≥ 2 eine Poisson-Verteilung ergibt. Der Nachweis

wird durch vollstandige Induktion erbracht.

Fur j = 1, 2 haben wir oben bereits den Nachweis erbracht. Es gelte nun

qj(t) =(λt)j

j!· e−λt ; j = 0, 1, 2, . . . n

Wir wollen nun zeigen, dass

qn+1(t) =(λt)n+1

(n + 1)!· e−λt

die Differentialgleichung

qn+1(t) = λqn(t) − λqn+1(t) = λ · (λt)n

n!· e−λt − λqn+1(t)

erfullt. Dazu differenzieren wir den Ausdruck

qn+1(t) = ddt

(λt)n+1

(n + 1)!· e−λt

=

(λt)n

n!· λ · e−λt

︸ ︷︷ ︸λqn(t)

+(λt)n+1

(n + 1)!· e−λt · (−λ)

︸ ︷︷ ︸−λqn+1(t)

Damit haben wir den Nachweis erbracht, dass der Ankunftsprozess einer Poisson-Verteilung

mit dem Parameter λt genugt. Man spricht dann auch von einem Poisson-Prozess oder

einem Poisson-Strom.

Die Anzahl der im Mittel pro Zeiteinheit ankommenden Kunden bezeichnen wir als An-

kunftsrate. Fur das Wartesystem M|M|1 ist die Ankunftsrate gleich dem Erwartungswert

einer Poisson-verteilten Zufallsvariablen fur t = 1, also gleich λ.

Fur die Zwischenankunftszeit Z gilt mit obigen Uberlegungen

P (Z > t) = P (in [0, t] ist kein Kunde angekommen) = q0(t) = e−λt .

Fur die Verteilungsfunktion F (t) von Z ergibt sich somit

F (t) = P (Z ≤ t) = 1− e−λt ,

d. h. die Zwischenankunftszeit Z ist exponentialverteilt mit dem Parameter λ . Der Er-

wartungswert von Z ist somit 1λ

(vgl. Wahrscheinlichkeitsrechnung).

5.3 Das Wartesystem M|M|1 97

Analog zum Ankunftsprozess kann der sogenannte Bedienungsprozess betrachtet werden.

Die Bedienungsrate, d. h. die Anzahl der im Mittel pro Zeiteinheit abgefertigten Kunden,

ist gleich µ. Auch die Bedienungszeit S ist exponentialverteilt mit dem Parameter µ. Dies

fuhrt wieder zum Erwartungswert 1µ

.

Der Quotient der beiden Parameter

ρ = λµ

wird Verkehrsintensitat genannt; er ist ein Maß fur die Auslastung des Systems.

Wir haben damit verifiziert, dass die Bedingungen A1, A2, A3 zum Wartesystem M|M|1fuhren, d. h. die Zwischenankunftszeit Z und die Bedienungszeit S sind exponentialver-

teilte Zufallsgroßen mit den Parametern λ bzw. µ . Man kann auch umgekehrt zeigen, dass

aus diesem Sachverhalt die Bedingungen A1, A2, A3 folgen.

5.3.1 Gleichgewichtsfall des Systems M|M|1Die Bestimmung der Verteilungsfunktion fur die Verweildauer wurde die Losung des ur-

sprunglichen Differenzialgleichungssystems mit unendlich vielen Funktionen pj(t) erfor-

dern.

p0 = −λp0 + µp1

p1 = λp0 − (λ + µ)p1 + µp2

p2 = λp1 − (λ + µ)p2 + µp3

p3 = λp2 − (λ + µ)p3 + µp4

p4 = λp3 − (λ + µ)p4 + µp5

...

Dies ist sehr aufwendig und nur naherungsweise losbar. Wir betrachten deshalb hier den

stationaren Fall, der sich rechentechnisch dadurch ergibt, dass man die im obigen Diffe-

renzialgleichungssystem auftretenden Ableitungen zu Null setzt.

Bezeichnen wir die stationaren Wahrscheinlichkeiten mit πj, so erhalten wir mit dieser

Uberlegung das folgende lineare Gleichungssystem

0 = −λπ0 + µπ1

0 = λπ0 − (λ + µ)π1 + µπ2

0 = λπ1 − (λ + µ)π2 + µπ3

0 = λπ2 − (λ + µ)π3 + µπ4

0 = λπ3 − (λ + µ)π4 + µπ5

...

98 5 Warteschlangentheorie

Durch sukzessives Ineinander-Einsetzen erhalten wir

π1 = λµ π0

π2 =λ + µ

µ π1 − λµ π0 =

λ + µµ

(λµ

)π0 − λ

µ π0 =(

λµ

)2

π0

π3 =λ + µ

µ π2 − λµ π1 =

λ + µµ

(λµ

)2

π0 −(

λµ

)2

π0 =(

λµ

)3

π0

π4 =λ + µ

µ π3 − λµ π2 =

λ + µµ

(λµ

)3

π0 −(

λµ

)3

π0 =(

λµ

)4

π0

...

Allgemein ergibt sich

πk =(

λµ

)k

π0 bzw. mit ρ = λµ < 1 πk = ρkπ0 .

Der Wert fur π0 ergibt sich aus der Normierungseigenschaft:

1 =∞∑

k=0

πk = π0 ·∞∑

k=0

ρk = π0 · 11− ρ ; π0 = 1− ρ

Damit erhalten wir fur die stationaren Wahrscheinlichkeiten:

πk = (1− ρ) · ρk ; k = 0, 1, 2, . . . mit ρ = λµ

Damit lassen sich alle fur das System wichtige Kennzahlen bestimmen. Exemplarisch wol-

len wir dies fur die Erwartungswerte der Anzahl der Kunden im System L bzw. der Lange

der Warteschlange Lq durchfuhren.

E(L) =∞∑

k=1

k · (1− ρ)ρk

= ρ · (1− ρ) ·∞∑

k=1

kρk−1

= ρ · (1− ρ) · ddρ

∞∑k=0

ρk

= ρ · (1− ρ) · ddρ

1

1− ρ

= ρ · (1− ρ) · 1(1− ρ)2

= ρ · 11− ρ = λ

µ− λ

5.3 Das Wartesystem M|M|1 99

E(Lq) =∞∑

k=1

(k − 1) · (1− ρ)ρk

=∞∑

k=1

k · (1− ρ)ρk −∞∑

k=1

(1− ρ)ρk

1− ρ − (1− ρ) ·∞∑

k=0

ρk + (1− ρ)

1− ρ − ρ = λ2

µ(µ− λ)

Sind W die mittlere Verweildauer im System und Wq die mittlere Wartezeit, dann sind

die Beziehungen

W = 1λ· L bzw. Wq = 1

λ· Lq

plausibel; denn 1λ

ist der Erwartungswert der Zwischenankunftszeit.

Die fur den Umgang mit stationaren M|M|1-Systemen wichtigen Definitionen und Bezie-

hungen sind nochmals in den folgenden Tabellen zusammengestellt.

Symbol Bedeutung

λ mittlere Ankunftsrate

mittlere Zwischenankunftszeit

µ mittlere Abfertigungsrate

1µ mittlere Servicezeit

ρ = λµ Servicequotient

α Ausnutzungsgrad des Servicesystems

L Anzahl der Einheiten im Gesamtsystem

Lq Anzahl der Einheiten in der Schlange

W Verweilzeit einer Einheit im Gesamtsystem

Wq Verweilzeit (Wartezeit) einer Einheit in der Schlange

100 5 Warteschlangentheorie

Formel Bedeutung

α = λµ = ρ Ausnutzungsgrad der Servicestelle

P (L = n) = (1− ρ)ρn

fur n = 0, 1, 2, 3, . . .

Wahrscheinlichkeit, dass sich n Ein-

heiten im Gesamtsystem befinden

E(L) =ρ

1− ρ = λµ− λ

V ar(L) =ρ

(1− ρ)2 =λµ

(µ− λ)2

Mittelwert und Varianz der Anzahl

der Einheiten im Gesamtsystem

P (Lq = n) =

1− ρ2 fur n = 0

(1− ρ)ρn+1 fur n = 1, 2, . . .

Wahrscheinlichkeit, dass sich n Ein-

heiten in der Warteschlange befinden

E(Lq) =ρ2

1− ρ = λ2

µ(µ− λ)

V ar(Lq) =ρ2(1 + ρ− ρ2)

(1− ρ)2

Mittelwert und Varianz der

Warteschlangenlange

P (W ≤ t) = 1− e−(µ−λ)t ; t ≥ 0kumulierte Verteilungsfunktion der

Verweilzeit im Gesamtsystem

E(W ) = 1µ− λ

V ar(W ) = 1(µ− λ)2

Mittelwert und Varianz der

Verweilzeit im Gesamtsystem

P (Wq ≤ t) = 1− ρe−(µ−λ)t ; t ≥ 0kumulierte Verteilungsfunktion der

Wartezeit in der Schlange

E(Wq) = λµ(µ− λ)

V ar(Wq) = 1(µ− λ)2 − 1

µ2

Mittelwert und Varianz der

Wartezeitzeit in der Schlange

E(Lq|Lq > 0) = λµ− λ

mittlere Lange der nichtleeren

Schlange (exklusive Lange Null)

E(Wq|Wq > 0) = 1µ− λ

mittlere Wartezeit in nichtleerer

Schlange (exklusive Nullwartezeiten)

5.3 Das Wartesystem M|M|1 101

In der nachfolgenden Tabelle sind fur einige Kombinationen von λ und µ die Zahlenwerte

fur die interessante Großen zusammengestellt. Dabei uberrascht, wie unerwartet groß die

Schlangenlange und Wartezeit bei einer mittleren Auslastung 50 % und 80 % bereits

werden. (P ∗ ist dabei die Wahrscheinlichkeit, dass ein Kunde warten muss.)

λ µ ρ P ∗ E(L) E(W ) E(Lq) E(Wq)

1 1.2 0.833 0.694 5 5 4.17 4.17

1 1.5 0.667 0.444 2 2 1.33 1.33

1 2 0.5 0.25 1 1 0.5 0.5

1 3 0.333 0.111 0.5 0.5 0.167 0.167

1 5 0.2 0.04 0.25 0.25 0.05 0.05

0.9 1 0.9 0.81 9 10 8.1 9

0.8 1 0.8 0.64 4 5 3.2 4

0.5 1 0.5 0.25 1 2 0.5 1

0.3 1 0.3 0.09 0.429 1.43 0.129 0.429

0.1 1 0.1 0.01 0.111 1.11 0.0111 0.111

Beispiel 5.2: An einem Ausgabeschalter kommen Arbeiter mit einem mittleren Abstand

von vier Minuten, um das notwendige Werkzeug in Empfang zu nehmen. Eine Werkzeug-

ausgabe dauert im Mittel drei Minuten. Sowohl bei den Ankunften wie bei der Ausgabe-

dauer kann Exponentialverteilung unterstellt werden.

Losung: Die Voraussetzungen des M|M|1-Modells sind gegeben.

• Wie lange muss ein Arbeiter durchschnittlich warten?

4 = 1λ

; λ = 14

3 = 1µ ; µ = 1

3

ρ = λµ = 3

4 = 0.75

E(Wq) = λµ(µ− λ)

=14

13

(13 − 1

4

) = 9

• Wie lange ist die durchschnittliche Wartezeit, exklusive Null-Wartezeiten?

E(Wq|Wq > 0) = 1µ− λ

= 113 − 1

4

= 12

102 5 Warteschlangentheorie

• Wie lange braucht ein Arbeiter im Mittel insgesamt, um ein Werkzeug zu holen?

E(W ) = 1µ− λ

= 113 − 1

4

= 12

• Wieviele Arbeiter stehen im Mittel vor dem Schalter, wobei der gerade Bediente

mitgerechnet werden soll?

E(L) = λµ− λ

=14

13 − 1

4

= 3

• Wie lange ist die durchschnittliche Schlangenlange, wobei der gerade Bediente nicht

mitgerechnet wird?

E(Lq) = λ2

µ(µ− λ)= E(Wq) · λ = 9 · 1

4 = 2.25

• Wie groß ist die Wahrscheinlichkeit, dass mehr als drei Arbeiter am Schalter stehen

(der Bediente mitgerechnet)?

Wir berechnen die Wahrscheinlichkeit, dass mehr als drei Arbeiter anstehen, uber

die Gegenwahrscheinlichkeit.

P = (1− ρ) + (1− ρ)ρ + (1− ρ)ρ2 + (1− ρ)ρ3

= (1− ρ) (1 + ρ + ρ2 + ρ3)

= 14

[1 + 3

4 +(

34

)2

+(

34

)3]≈ 0.68

In 32% der Falle stehen mehr als drei Arbeiter am Schalter.

• Wie groß ist die Wahrscheinlichkeit, dass ein Arbeiter langer als 10 Minuten warten

muss?

P (Wq > 10) = 1 − P (Wq ≤ 10)

= 1 − [1− ρe−(µ−λ)·10

]

= ρe−(µ−λ)·10

= 34 · e

−( 13− 1

4)·10 ≈ 0.33

• Welchen Prozentsatz der Zeit ist der Mann am Schalter durchschnittlich beschaftigt?

α = λµ = 0.75

75 % der Zeit ist der Mann am Schalter beschaftigt.

• Wurde die mittlere Abholzeit großer als 15 Minuten werden, so wurde die Firma

einen zweiten Mann fur die Werkzeugausgabe anstellen. Auf welchen Wert musste

die Ankunftsfrequenz steigen, damit dieser Fall eintritt?

Fur diese Grenzfrequenz λ∗ ergibt sich die Bestimmungsgleichung:

5.3 Das Wartesystem M|M|1 103

15 = E(W ) = 1µ− λ∗ = 1

13 − λ∗

; λ∗ = 415 bzw. 1

λ∗ = 154 = 3.75

D. h. die mittlere Zwischenankunftszeit musste auf 3.75 Minuten sinken.

Das”Ubergangsverhalten“ eines Wartesystems im Gleichgewichtsfall (Ubergang von ei-

nem Zustand in einen anderen) kann auch in Form eines sogenannten Ubergangsgraphen

veranschaulicht werden. Die Zustande des Wartesystems (Anzahl der im System befindli-

chen Kunden) entsprechen dabei den Knoten und die moglichen unmittelbaren Ubergange

von einem Zustand in den anderen den Pfeilen. Die Ubergangsraten stellen die Bewertung

der Pfeile dar. Bei einem unendlichen Warteraum besitzt der Ubergangsgraph unendlich

viele Knoten und Pfeile. Die folgende Skizze soll diese Situation veranschaulichen.

0 1 2 j−1 j j+1

- -

¾ ¾

- -

¾ ¾

λ λ

µ µ

λ λ

µ µ

Aus dem Ubergangsgraphen erhalt man durch die folgende Plausibilitatsbetrachtung auf

einfache Weise das Gleichungssystem fur die stationaren Wahrscheinlichkeiten.

Wir betrachten zunachst einen Zustand bzw. Knoten j ≥ 1. Von den Zustanden j− 1 und

j +1 ist jeweils ein Ubergang in den Zustand j moglich und zwar mit den Ubergangsraten

λ bzw. µ. Die (stationare) Wahrscheinlichkeit, dass sich das System im Zustand j−1 bzw.

j + 1 befindet ist πj−1 bzw. πj+1. Damit ist die”Gesamteingangsrate“ fur den Zustand

bzw. Knoten j gleich

λπj−1 + µπj+1

Befindet sich das System im Zustand j, so sind umgekehrt Ubergange in die Zustande

j − 1 bzw. j + 1 moglich und zwar mit den Ubergangsraten µ bzw. λ. Die (stationare)

Wahrscheinlichkeit, dass sich das System im Zustand j befindet ist πj. Folglich ist die

”Gesamtausgangsrate“ gleich

(λ + µ) · πj

Da im Gleichgewichtsfall fur jeden Zustand die Gesamteingangsrate gleich der Gesamt-

ausgangsrate sein muss ergibt sich

λπj−1 + µπj+1 = (λ + µ) · πj ; j = 1, 2, 3, . . . .

Fur den Knoten j = 0 wer halt man die Bilanzgleichung

λπ0 = µπ1

Diese Gleichungen sind mit dem Gleichungssystem auf Seite 97 identisch.

104 5 Warteschlangentheorie

5.4 Ausblick

Das im vorangegangenen Abschnitt behandelte Warteschlangenmodell stellt die mathema-

tisch einfachste Spielart dieser Problemstellung dar. Wir stellen hier noch einige Erweite-

rungen vor.

5.4.1 Endlicher Warteraum

Der zur Aufnahme der Warteschlange bestimmte Raum sei nun auf r Platze beschrankt.

Mit der zuletzt entwickelten Modellvorstellung eines Ubergangsgraphen fur den stationaren

Fall konnen wir die Zustandswahrscheinlichkeiten leicht ausrechnen.

0 1 2 r−2 r−1 r

- -

¾ ¾

- -

¾ ¾

λ λ

µ µ

λ λ

µ µ

Fur die Kanten j des Graphen ergeben sich die folgenden Bilanzgleichungen:

Fall j = 0

λπ0 = µπ1

Fall 0 < j < r

λπj−1 + µπj+1 = (λ + µ) · πj ; j = 1, 2, 3, . . . , r

Fall j = r

λ πr−1 = µπr

Als Losung erhalten wir wieder fur j < r den Ausdruck

πj = π0ρj ; mit ρ = λ

µ .

Auch fur j = r erhalten wir dieselbe Beziehung aus

πr = λµpr−1

Der”Anfangswert“ π0 ergibt sich wieder aus der Normierungsbedingung.

1 =r∑

k=0

= π0 ·r∑

k=0

ρk = π0 · 1− ρr+1

1− ρ ; π0 =1− ρ

1− ρr+1

5.4 Ausblick 105

Damit gilt:

πk =1− ρ

1− ρr+1 · ρk ; k = 0, 1, 2, . . . , r

Bemerkung: da es sich nur um endlich viele Zustande handelt, ist die Konvergenzbedin-

gung ρ < 1 nicht mehr notwendig. Fur ρ = 1 sind die obigen Formeln entsprechend zu

modifizieren.

Interessant ist noch der Anteil der Kunden, die wegen fehlendem Warteraum abgewiesen

werden. Der letzte Platz im Warteraum ist mit der Wahrscheinlichkeit πr besetzt. Damit

wird ein potentieller Kunde mit der Wahrscheinlichkeit

α = 1− πr = 1 − 1− ρ1− ρr+1 · ρr =

1− ρr

1− ρr+1

abgewiesen. Man nennt α auch den Erfassungsgrad.

Die Parameter zur Beschreibung des Wartesystems errechnen sich durch Auswertung von

endlichen Summen. Exemplarisch sei der Erwartungswert fur die Anzahl der Einheiten im

System angegeben.

E(L) =r∑

k=1

k · πk =r∑

k=1

k · 1− ρ1− ρr+1 ρk

=(1− ρ)ρ1− ρr+1 ·

r∑k=1

k · ρk−1

=(1− ρ)ρ1− ρr+1 · d

1− ρr+1

1− ρ

=(1− ρ)ρ1− ρr+1 · 1− (r + 1)ρr + rρr+1

(1− ρ)2

[1− (r + 1)ρr + rρr+1

](1− ρ)(1− ρr+1)

Um den Einfluss eines begrenzten Warteraums zu demonstrieren, greifen wir das vorange-

gangene Beispiel nochmals auf.

Beispiel 5.3: Erganzend zum Beispiel 5.2 auf Seite 101 nehmen wir einen endlichen War-

teraum an. Insgesamt seien r Positionen (einschließlich der Schalterposition) verfugbar.

Dann ergeben sich fur die Zustandswahrscheinlichkeiten im stationaren Zustand:

πk = 1− 0.751− 0.75r+1 · 0.75k

Fur den Erwartungswert von L und Auslastungsgrad α erhalten wir:

E(L) =0.75

[1− (r + 1)0.75r + r0.75r+1

](1− 0.75)(1− 0.75r+1)

α = 1− 0.75r

1− 0.75r+1

106 5 Warteschlangentheorie

Die folgende Tabelle soll den Einfluss des endlichen Warteraums demonstrieren.

r L α π0 π1 π2 π3 π4 π5 π6 π7

4 1.4443 0.8963 0.3278 0.2458 0.1844 0.1383 0.1037 0 0 0

5 1.7009 0.9278 0.3041 0.2281 0.1711 0.1283 0.0962 0.0722 0 0

6 1.9217 0.9487 0.2885 0.2164 0.1623 0.1217 0.0913 0.0685 0.0513 0

7 2.1100 0.9629 0.2778 0.2084 0.1563 0.1172 0.0879 0.0659 0.0494 0.0371

∞ 3 1 0.2500 0.1875 0.1406 0.1055 0.0791 0.0593 0.0445 0.0334

5.4.2 Das Wartesystem M|M|sWir wollen jetzt annehmen, dass s parallele identische Bedienungsschalter zur Verfugung

stehen, um die ankommenden Kunden zu bedienen. Die Zwischenankunftszeit Z und die

Bedienungszeit S an einem Schalter seien wieder exponentialverteilt mit den Parametern

λ und µ. Wenn wir uns auf den Gleichgewichtsfall beschranken, konnen wir die Zustands-

wahrscheinlichkeiten wieder aus dem Ubergangsgraphen entnehmen. Dabei ist zu beachten,

dass die Bedienungsraten fur die Knoten j < s jeweils linear mit j anwachsen. Fur j ≥ s

erhalten wir dann die konstante Bedienungsrate s · µ.

0 1 2 s−2 s−1 s s+1

- - -

¾ ¾ ¾

- -

¾ ¾

λ λ

µ 2µ (s− 1)µ sµ

λ λ λ

Die Wahrscheinlichkeiten πk lassen sich wieder aus den Bilanzgleichungen fur die einzelnen

Knoten bestimmen.

λπ0 = µπ1

λπj−1 + (j + 1)µπj+1 = (λ + jµ)πj fur j = 1, 2, . . . , s− 1

λπj−1 + sµπj+1 = (λ + sµ)πj fur j = s, s + 1, s + 2, . . .

Aus den Bilanzgleichungen ergeben sich nach einiger Zwischenrechnung:

π0 = 1

1 +s−1∑j=1

ρj

j!+

ρs

(s− 1)! · (s− ρ)

πj =ρj

j!· π0 fur j = 1, 2, . . . , s− 1

πj =ρj

s! · sj−s · π0 fur j = s, s + 1, s + 2, . . .

5.4 Ausblick 107

Die Wahrscheinlichkeit, dass ein zufallig Ankommender warten muss, bestimmt sich daraus

zu

P ∗ =∞∑

k=s

πk = π0

∞∑

k=s

ρk

s! · sk−s =ρs

(s− 1)! · (s− ρ)· π0

Die Parameter des Wartesystems errechnen sich daraus durch Auswertung der entspre-

chenden Reihen.

E(L) =∞∑

k=0

k · πk =ρs+1

(s− 1)! · (s− ρ)2 · π0 + ρ ; E(W ) = 1λ· E(L)

E(Lq) =∞∑

k=s

(k − s) · πk =ρs+1

(s− 1)! · (s− ρ)2 · π0 ; E(Wq) = 1λ· E(Lq)

Beispiel 5.4: Das Beispiel 5.2 auf Seite 101 wollen wir nochmals aufgreifen und jetzt

annehmen, dass s identische Schalter zu Abfertigung vorhanden sind. Wir errechnen die

entsprechenden Wahrscheinlichkeiten zu:

π0 = 1

1 +s−1∑j=1

0.75j

j!+ 0.75s

(s− 1)! · (s− 0.75)

πj = 0.75j

j!· π0 fur j = 1, 2, . . . , s− 1

πj = 0.75j

s! · sj−s · π0 fur j = s, s + 1, s + 2, . . .

Die folgende Tabelle soll den Einfluss mehrer Servicestationen demonstrieren.

s E(L) P ∗ π0 π1 π2 π3 π4 π5 π6 π7

1 3 0.75 0.2500 0.1875 0.1406 0.1055 0.0791 0.0593 0.0445 0.0334

2 0.8727 0.2045 0.4545 0.3409 0.1278 0.0479 0.0180 0.0067 0.0025 0.0009

3 0.7647 0.0441 0.4706 0.3529 0.1324 0.0331 0.0083 0.0021 0.0005 0.0001

Zusatzlich zu den bisherigen Angaben wollen wir noch unterstellen, dass ein Mann an der

Werkzeugausgabe Kosten in Hohe von 100 EUR pro Zeiteinheit verursacht. Wir nehmen

weiter an, dass die Produktionsausfallkosten eines Arbeiters wahrend der Abholung bei

150 EUR liegen. Daraus ergibt sich die folgende Kostentafel:

Anzahl der Schalter s = 1 s = 2 s = 3

Kosten der Schalter 1 · 100 2 · 100 3 · 100

Produktionsausfallkosten 3 · 150 0.8727 · 150 0.7647 · 150

Gesamtkosten 550 330.90 414.70

Offenbar ist es optimal, die Werkzeugausgabe mit zwei Schaltern zu bestucken.

108 5 Warteschlangentheorie

5.4.3 Das Wartesystem M|Ek|1Die Annahme, dass die Bedienzeit exponentialverteilt ist, fuhrt haufig zu unrealistischen

Modellen. Die sogenannte Erlang-Verteilung besitzt neben dem Erwartungswert einen

zusatzlichen Parameter zur Modellierung der Bedienzeiten. Diese Verteilung besitzt noch

den Vorzug, dass sich die Warteschlangenparameter noch explizit berechnen lassen. Die

Dichtefunktion lautet:

fk(t) =

0 fur t < 0

(kµ)k

(k − 1)!· e−kµt · tk−1 fur t ≥ 0

.

Fur k = 1 ergibt sich wieder die Exponential-Verteilung.

Die nachfolgende Skizze zeigt diese Dichtefunktionen fur einige ausgewahlte Parameter.

1

1

k = 1

k = 3

k = 6

k = 9

t

Die Erlang-Verteilung entsteht als Summe von k Exponenzial-Verteilungen. Fur Freunde

der Integralrechnung sei der Nachweis hier skizziert.

• Die Dichtefunktion der Summe von zwei Exponential-Verteilungen mit demselben

Parameter µ ergibt sich aus dem nachfolgenden Faltungsintegral.

f2(t) =t∫

0

(µe−µτ ) · (µe−µ(t−τ)) dτ = µ2e−µtt∫

0

1 dτ = µ2 · e−λt[τ]t

0= µ2 · t · e−λt

• Fur die Dichtefunktion der Summe von drei Exponential-Verteilungen mit demselben

Parameter µ ergibt sich:

f3(t) =t∫

0

(µ2τe−µτ )·(µe−µ(t−τ)) dτ = µ3e−λtt∫

0

τ dτ = µ3 ·e−µt[τ 2

2

]t

0=

µ3t2

2!·e−λt

• Vermutung:

Es gelte fn(t) =µntn−1

(n− 1)!· e−µt .

5.4 Ausblick 109

Der Induktionsschluss ist noch durchzufuhren.

fn+1(t) =

t∫

0

(µnτn−1

(n− 1)!e−µτ

)· (µe−µ(t−τ)) dτ

=µn+1

(n− 1)!· e−λt ·

t∫

0

τn−1 dτ

=µn+1

(n− 1)!· e−λt ·

[τn

n

]t

0

=µn+1tn

n!· e−µt

Soll der Erwartungswert der Summe von n Zu-

fallsvariablen gleich bleiben, so muss der Er-

wartungswert des einzelnen Summanden auf den

n-ten Teil gesetzt. Damit ist gewahrleistet, dass

der Erwartungswert konstant bleibt.

en(t) =(nµ)n · tn−1

(n− 1)!· e−nµt

E(X + . . . + X ) = 1µ

V ar(X + . . . + X ) = 1kµ2

Im Gegensatz zur Exponential-Verteilung kann die Erlang-Verteilung mit Hilfe von zwei

Parametern an empirisch vorgefundene Verteilungen angepasst werden. Insbesondere ist

es moglich, den Mittelwert (Erwartungswert) und die Varianz unabhangig voneinander zu

manipulieren. Sogar der deterministische Fall kann durch k →∞ hergeleitet werden.

Die wichtigsten Formeln fur das System M|Ek|1

Formel Bedeutung

α = λµ = ρ Ausnutzungsgrad der Servicestelle

E(L) = k + 12k

· ρ2

1− ρ + ρMittelwert der Anzahl der Einheiten

im Gesamtsystem

E(Lq) = k + 12k

· ρ2

1− ρ = k + 12k

· λ2

µ(µ− λ)Mittelwert der Warteschlangenlange

E(W ) = k + 12k

· λµ(µ− λ)

+ 1µ = E(Wq) + 1

µMittelwert der Verweilzeit im Gesamt-

system

E(Wq) = k + 12k

· λµ(µ− λ)

=E(Lq)

λMittelwert der Wartezeit in der

Schlange

110 5 Warteschlangentheorie

Beispiel 5.5: Ein Friseur hat sich selbstandig gemacht und arbeitet noch alleine. Fur

einen Haarschnitt benotigt er durchschnittlich 15 Minuten bei einer Standardabweichung

von 5 Minuten. Es sind die interessierenden Großen zu bestimmen, wenn die Kunden im

durchschnittlichen Abstand von 20 Minuten eintreffen.

Zur Losung nehmen wir beim Inputprozess Exponential-Verteilung an und versuchen eine

Erlang-Verteilung an die empirischen Daten der Servicestelle anzupassen.

λ = 3 Kunde/Stunde µ = 4 Kunde/Stunde

Bestimmung des Parameters k der Erlang-Verteilung:

V ar(X + . . . + X ) = 1kµ2 ;

(560

)2

= 1k · 42 ; k = 9

E(Lq) = k + 12k

· λ2

µ(µ− λ)= 10

18 · 32

4 · (4− 3)= 5

4

E(L) = E(Lq) + λµ = 5

4 + 34 = 2

E(Wq) =E(Lq)

λ=

543 = 5

12 bzw. 25 Minuten

E(W ) = E(Wq) + 1µ = 5

12 + 14 = 2

3 bzw. 40 Minuten

5.4.4 Einschwingverhalten

Fur endliche Warteraume wird das auf Seite 95 hergeleitete Differenzialgleichungssystem

fur exponential verteilte Wartesysteme endlich. Es ist lediglich die letzte Gleichung zu

modifizieren. Fur r Warteplatze erhalten wir das folgende System homogener linearer

Differenzialgleichungen mit konstanten Koeffizienten.

p0(t) = −λ · p0(t) + µ · p1(t)

pj(t) = λ · pj−1 + − (λ + µ) · pj(t) + µ · pj+1(t) ; j = 1, 2, . . . , r − 1

pr(t) = −λpr−1(t) − µpr(t)

bzw. in Matrix-Form

p0

p1

p2

...

pr−1

pr

=

−λ µ 0 0 0 · · ·λ −(λ + µ) µ 0 0 · · ·0 λ −(λ + µ) µ 0 · · ·...

......

. . .

λ −(λ + µ) µ 0

0 λ −(λ + µ) µ

0 0 λ −µ

·

p0

p1

p2

...

pr−1

pr

5.4 Ausblick 111

Fur s gleiche Kanale ist das Differenzialgleichungssystem entsprechend zu modifizieren.

(vgl. Abschnitt 5.4.2)

p0(t) = −λ · p0(t) + µ · p1(t)

pj(t) = λ · pj−1 + − (λ + j · µ) · pj(t) + (j + 1) · µ · pj+1(t) ; j = 1, 2, . . . , s− 1

pj(t) = λ · pj−1 + − (λ + s · µ) · pj(t) + s · µ · pj+1(t) ; j = s, (s + 1), . . . , r − 1

pr(t) = −λpr−1(t) − s · µpr(t)

bzw. in Matrix-Form

p0

p1

p2

...

pr−1

pr

=

−λ µ 0 0 0 · · ·λ −(λ + µ) 2µ 0 0 · · ·0 λ −(λ + 2µ) 3µ 0 · · ·...

......

. . .

λ −(λ + sµ) sµ 0

0 λ −(λ + sµ) sµ

0 0 λ −sµ

·

p0

p1

p2

...

pr−1

pr

Solche Systeme sind numerisch unproblematisch. Wenn wir als Anfangsbedingung

p0(0) = 1, pj(0) = 1; j = 1, 2, . . . r wahlen, ergibt sich das folgende Einschwingverhal-

ten der Losungskurven des Diffferenzialgleichungssystems.

112 5 Warteschlangentheorie

5.4.5 Simulation

Bei vielen praktischen Problemen treffen die in den vorangegangenen Abschnitten gemach-

ten Annahmen nicht zu. Die Verteilungsstrukturen der Ankunfte und der Bedienungszeiten

konnen sehr vielfaltig sein.

Ebenso ist zu beachten, dass die analytisch abgeleiteten Formeln nur fur den stationaren

Zustand gelten. Viele Prozesse erreichen diesen stationaren Zustand gar nicht (nur kurz-

fristiges Offnen der Servicestation).

Haufig trifft auch die”FIFO-Regel“ nicht zu. Ebenso konnen Problemstellungen mit meh-

reren sequentiellen Servicestationen auftreten.

In solchen Fallen empfiehlt sich die Losung mittels stochastischer Simulation. Man er-

zeugt fur Zwischenankunfts-, Bedienungszeiten etc. Zufallswerte und errechnet die daraus

resultierenden Mittelwerte.

Beispiel 5.6: Simulation eines M|M|1-Warteschlangenmodell mit den Parameterwerten

λ = 109

und µ = 107.

In den Spalten B und D stehen die Zufallswerte fur die Zwischenankunfts- bzw. Bedie-

nungszeit. Daraus errechnet man die Ankunftszeit in Spalte C. In Spalte E und F wird

der Beginn und das Ende der Bedienung eingetragen: die Bedienung des ersten Kunden

kann naturlich unmittelbar nach seinem Eintreffen (T1 = 1, 5276) beginnen. Nach einer

Bedienungdauer von 1,0959 verlasst er das System zum Zeitpunkt D1 = 2, 6235. Jeder

weitere Kunde kann jedoch erst bedient werden, wenn der vorherige Kunde abgefertigt ist.

Es gilt also stets:

E(i) = max(C(i), F (i− 1)

In Spalte G notieren wir die Warte- und in Spalte H die Verweilzeit (Warte- einschließlich

Bedienzeit) jedes Kunden. In der vorletzten Zeile (∅) sind die Mittelwerte der Simulation

angegeben. Die theoretischen Werte fur den stationaren Fall sind in der letzten Zeile (E(?))

angefugt.

Es zeigen sich starke Unterschiede zum stationaren Fall. Ebenso erhalt man starke Unter-

schiede bei verschiedenen Laufen. Dies liegt an der”kleinen“ Datenmenge. Eine Stabilisie-

rung wurde sich erst bei mehreren tausend Kunden einstellen. Im Ergebnis bedeutet dies,

dass solche Simulationen mit einem Tabellenkalkulationsprogramm wenig aussagekraftig

sind.

5.4 Ausblick 113

A B C D E F G H

Nr.Zwischen-ank.-Zeit

Ankunfts-Zeit

Bedienungs-Dauer

Bedienungs-Beginn

Bedienungs-Ende

Warte-Zeit

Verweil-Zeit

1 1,5276 1,5276 1,0959 1,5276 2,6235 0,0000 1,0959

2 0,4541 1,9817 0,6750 2,6235 3,2985 0,6418 1,3168

3 0,4081 2,3898 0,5575 3,2985 3,8560 0,9087 1,4662

4 0,2312 2,6210 0,0029 3,8560 3,8589 1,2350 1,2379

5 0,4545 3,0755 0,0926 3,8589 3,9515 0,7834 0,8760

6 0,8779 3,9534 1,4938 3,9534 5,4471 0,0000 1,4938

7 0,0601 4,0134 0,2571 5,4471 5,7043 1,4337 1,6908

8 3,2626 7,2761 1,3768 7,2761 8,6529 0,0000 1,3768

9 0,1008 7,3769 2,0737 8,6529 10,7266 1,2760 3,3497

10 0,4430 7,8199 0,0557 10,7266 10,7823 2,9067 2,9624

11 0,5028 8,3227 1,3076 10,7823 12,0898 2,4596 3,7671

12 1,0559 9,3786 0,0496 12,0898 12,1394 2,7112 2,7608

13 0,6614 10,0400 0,2066 12,1394 12,3460 2,0994 2,3060

14 0,1097 10,1497 0,3589 12,3460 12,7049 2,1962 2,5551

15 0,0869 10,2367 0,4702 12,7049 13,1750 2,4682 2,9384

16 4,3214 14,5580 0,6373 14,5580 15,1954 0,0000 0,6373

17 0,0816 14,6397 0,3144 15,1954 15,5098 0,5557 0,8701

18 0,3439 14,9835 0,8018 15,5098 16,3116 0,5263 1,3281

19 0,4824 15,4659 1,2683 16,3116 17,5799 0,8456 2,1140

20 1,7232 17,1891 0,6291 17,5799 18,2090 0,3908 1,0199

21 0,2116 17,4007 0,4154 18,2090 18,6244 0,8083 1,2237

22 0,0653 17,4659 0,6461 18,6244 19,2705 1,1585 1,8045

23 1,7798 19,2458 0,5335 19,2705 19,8040 0,0247 0,5582

24 0,7276 19,9734 1,6673 19,9734 21,6406 0,0000 1,6673

25 3,7575 23,7309 0,4568 23,7309 24,1878 0,0000 0,4568

26 1,4353 25,1662 0,1971 25,1662 25,3633 0,0000 0,1971

27 0,7430 25,9093 1,3996 25,9093 27,3088 0,0000 1,3996∑

25,9093 19,0405 25,4298 44,4703

∅ 0,9596 0,7052 0,9418 1,6470

E(?) 1λ = 0.9 1

µ = 0.7 2,7222 3,5000

114 6 Simulation

6 Simulation

6.1 Begriff Simulation

Aus Sicht des Operationsresearch beschaftigt sich die Simulation mit der Nachahmung

der Realitat durch Modelle auf einem Rechner. Das”Durchspielen“ komplexer Zusam-

menhange auf einem Rechner empfiehlt sich, wenn entweder ein Ausprobieren in der Rea-

litat zu teuer ist oder sich aus anderen Grunden verbietet (Zerstorung etc.).

Besonders nutzlich ist die Simulation in folgenden Situationen:

• Ein vollstandiges mathematisches Modell ist nicht verfugbar.

• Die verfugbaren analytischen Methoden setzen vereinfachende Annahmen voraus,

die den Kern des eigentlichen Problems verfalschen.

• Es ist zu kostspielig reale Experimente durchzufuhren.

• Die Beobachtung eines realen Systems ist zu gefahrlich (Reaktorverhalten) oder mit

irreversiblen Konsequenzen verbunden (Konkurs des Unternehmens)

• Eine Simulation kann zur Kontrolle eines analytischen Ansatzes sinnvoll sein.

Trotz der universellen Einsetzbarkeit der Simulation muss auf spezielle Gefahrenmomente

aufmerksam gemacht werden.

• Die Simulation sollte (als alleiniges) Losungsverfahren nur eingesetzt werden, wenn

analytische Methoden nicht verfugbar sind.

• Bedingt durch die einfache Realisationsmoglichkeit besteht die Gefahr, auch weni-

ger wichtige Einzelheiten in die Modellierung aufzunehmen. Es ist im Sinn einer

Selbstbeschrankung auf eine sorgfaltige, klare Modellierung zu achten.

• Simulation kann sich haufig nicht wie andere Methoden des Operations Research auf

erprobte und standardisierte Kalkule stutzen (Simplex-Methode, Gradiententech-

niken, etc.). Deshalb kommt der Korrektheitsprufung des Rechenprogramms und

des zugrundeliegenden Modells besondere Bedeutung zu. Eine Prufung fur bekannte

Sonderfalle ist unabdingbar.

• Der Output eines Simulationslaufs lasst sich als Realisation entsprechender Zufalls-

variabler interpretieren. Die Auswertung der Stichprobe hinsichtlich der Schatzung

6.2 Erzeugen und Testen von Zufallszahlen 115

von Parameterwerten fuhrt zu statistischen Aussagen etwa der Art, dass der Er-

wartungswert der Outputvariablen mit einer Wahrscheinlichkeit von 0.9 im Intervall

[a, b] liegt. Mit einer solchen Aussage ist aber stets das Risiko verbunden, dass der

Erwartungswert tatsachlich außerhalb liegt.

6.2 Erzeugen und Testen von Zufallszahlen

Zur Durchfuhrung von Simulationen werden viele Zufallszahlen benotigt. Beim Einsatz

von Computern stammen sie in der Regel nicht aus aktuellen Beobachtungen realer Zu-

fallsexperimente (beispielsweise die Impulse eines Geigerzahlers), sondern sie werden vom

Rechner”erzeugt“. Diese vom Rechner erzeugte Zahlen nennt man

”Pseudozufallszahlen“.

Sie werden bei Bedarf erzeugt und sind reproduzierbar. Pseudozufallszahlen sollen sich

in ihrem Verhalten praktisch nicht von echten Zufallszahlen unterscheiden. Wir sprechen

deshalb der Einfachheit halber im Folgenden nur noch von Zufallszahlen.

Ublicherweise wird die Erzeugung von Zufallszahlen fur eine vorgegebene Verteilung auf

einem Rechner in zwei Stufen vorgenommen. Zunachst werden durch sogenannte Zufalls-

zahlengeneratoren (0 1)-gleichverteilte Zufallszahlen erzeugt. Anschließend werden diese so

transformiert, dass sie einer vorgegebenen Verteilung entsprechen.

6.2.1 Erzeugung und Test gleichverteilter Zufallszahlen

Die gangigsten Verfahren und Ideen sind in der nachfolgenden Liste zusammengestellt.

• Physikalische Generatoren

– Zerfallsprozesse beim radioaktivem Zerfall: Zerplatzen der Kerne erfolgt rein

zufallig; die Anzahl der gespaltenen Kerne pro Zeiteinheit genugt einer Expo-

nentialverteilung.

– Rauschvorgange in Rohren

Diese Moglichkeit wird in Zukunft durch die einfachen und billigen Speichermoglich-

keiten (CD-Rom, DVD) wohl an Bedeutung gewinnen.

• Ziffernfolge bei Dezimaldarstellung der Zahl π

Die Ziffernfolge bei der Naherungsberechnung der transzendenten Zahl π genugt kei-

nerlei Gesetzmaßigkeit. Sie sind”zufallig“. Ziffern-Blocke bei der Berechnung konnen

als Zufallszahlen dienen.

π = 3. 14159︸ ︷︷ ︸Y1

26535︸ ︷︷ ︸Y2

89793︸ ︷︷ ︸Y3

23846︸ ︷︷ ︸Y4

26433︸ ︷︷ ︸Y5

83279︸ ︷︷ ︸Y6

50288︸ ︷︷ ︸Y7

41971︸ ︷︷ ︸Y8

69399︸ ︷︷ ︸Y9

37510︸ ︷︷ ︸Y10

. . .

116 6 Simulation

Nach Division durch 105 ergeben sich Standard-Zufallszahlen zwischen 0 und 1.

Zi = Yi

105

• lineare Kongruenzoperatoren

Yn+1 = [a · Yn + r] mod m ; n = 0, 1, 2, 3, . . .

Hierbei bedeutet mod m : Rest der sich bei ganzzahliger Division durch m ergibt.

Wird ein Startwert Y0 gewahlt, so ergibt sich eine Folge von Zahlen zwischen 0 und

m− 1. Standardzufallszahlen ergeben sich nach Division durch m: zi = Yim

Einen solchen linearen Kongruenzoperator bezeichnen wir mit

C(m, a, r, Y0)

Einfachstbeispiel fur linearen Kongruenzoperator:

Yn+1 = [7 · Yn + 3] mod 32 Y0 = 1

Y1 = [7 · 1 + 3] mod 32 = 10

Y2 = [7 · 10 + 3] mod 32 = 9

Y3 = [7 · 9 + 3] mod 32 = 2

Y4 = [7 · 2 + 3] mod 32 = 17

Y5 = [7 · 17 + 3] mod 32 = 26

Y6 = [7 · 26 + 3] mod 32 = 25

Y7 = [7 · 25 + 3] mod 32 = 18

Y8 = [7 · 18 + 3] mod 32 = 1Der lineare Kongruenzoperator erzeugt zum Startwert Y0 = 1

8”zufallige“ Zahlen zwischen 0 und 31.

Normierung auf 1 ergibt:Yi 10 9 2 17 26 25 18 1

Zi1032

932

232

1732

2632

2532

1832

132

An diesem Beipiel wird klar: Von totaler Zufalligkeit kann keine Rede sein. Die Zahlenfolge

muss periodisch werden, da nur endlich viele Reste moglich sind. Wenn m und a entspre-

chend gewahlt werden, ergeben sich lange Perioden und angenaherte Gleichverteilung.

Vorschlage:

• m = 2k oder m = 2k ± 1

6.2 Erzeugen und Testen von Zufallszahlen 117

• a = 4 · n + 1 oder a ≈ 2k−2 · 12

(√5− 1

)

• r ungerade; oft r = 0

• Y0 ungerade

Zur Bestimmung von geeigneten Werten von a, r und m werden sowohl zahlentheoretische

Uberlegungen als auch umfangreiche statistische Tests herangezogen.

Qualitatskontrolle der Pseudo-Zufallszahlen

Forderungen:

• Periode sollte moglichst groß sein!

• Die relative Haufigkeit der standardisierten Pseudo-Zufallszahlen zi, die in einem

Teilintervall von [0, 1] liegen, sollte ungefahr gleich der Intervallbreite sein:

h(zi : z ≤ zi ≤ z + ∆z) ≈ ∆z

• Aus der Lage der Pseudo-Zufallszahl zi sollte keine wesentliche Information uber die

Lage der folgenden Zahl zi+1 ableitbar sein. (Verallgemeinerung: zi 7→ zi+k)

Dazu interpretieren wir die Paare aufeinanderfolgender Pseudo-Zufallszahlen als

zweidimensionale Stichprobe: (zi, zi+1) ; i = 1, 2, 3, . . . , n− 1

Sind die Merkmale stochastisch voneinander unabhangig, so multiplizieren sich die

Wahrscheinlichkeiten, d.h. es musste gelten:

h( (zi, zi+1) : z ≤ zi ≤ z + ∆z; z ≤ zi+1 ≤ z + ∆z ) ≈ ∆z ·∆z

Durchfuhrung fur C(231 − 1, 75 + 3, 0, 225 + 1)

• Die Frage nach der Wiederholung kann teilweise aus Erkenntnissen der Zahlentheorie

oder durch”Ausprobieren“ beantwortet werden. Im konkreten Fall wiederholt sich

der Startwert nach 109 < Laufen.

• Zur Uberprufung der Gleichverteilung wurden 100.000 Pseudo-Zufallszahlen erzeugt.

Das Intervall [0, 1] wurde in 20 gleichgroße Teilintervalle geteilt (Klasseneinteilung!!)

und nachgerechnet, wieviel Pseudo-Zufallszahlen im jeweiligen Teilintervall liegen.

Bei absoluter Gleichverteilung mussten jeweils 5.000 Zahlen in jedem Teilintervall

liegen. Dies wird naturlich nicht genau der Fall sein – zufallige Abweichungen mussen

zugelassen werden. Die typische Messgroße fur Abweichungen von Soll- und Ist-Wert

ist die Summe der Abweichungsquadrate. Der Statistiker spricht vom sogenannten

χ2-Test.

118 6 Simulation

Prufgroße:

χ2ber = 1

n

N∑i=1

(Hi − npi)2

pi

Hi : absolute Haufigkeiten

pi : theoretische Wahrscheinlichkeiten; hier pi = 120

N : Anzahl der Klassen; hier N = 20

n : Stichprobenzahl; hier n = 1000.000

Die theoretische Schranke zum Vertrauensniveau 0.99 ist: χ219 = 36.2

• Zum Test der Zahlenpaare (zi, zi+1) auf Unabhangigkeit unterteilen wir das Ein-

heitsquadrat in 100 Teilquadrate und bestimmen wieviele der Zahlenpaare in je-

dem Quadratchen liegen. Die gemessenen Haufigkeiten werden mit den theoretischen

Wahrscheinlichkeiten verglichen und die entsprechende Prufgroße berechnet.

Prufgroße:

χ2ber = 1

n

N∑i=1

(Hi − npi)2

pi

Hi : absolute Haufigkeiten

pi : theoretische Wahrscheinlichkeiten; hier pi = 1100

N : Anzahl der Klassen; hier N = 100

n : Stichprobenzahl; hier n = 1000.000

Die theoretische Schranke zum Vertrauensniveau 0.99 ist: χ299 = 134.6

Der Statistiker spricht hier vom χ2-Anpassungstest.

6.2.2 Erzeugung diskret verteilter Zufallszahlen

Bernoulli-verteilte Zufallszahlen

Bernoulli-verteilte Zufallszahlen x mit vorgegebener Wahrscheinlichkeit p erhalt man durch

wiederholtes Erzeugen von im Intervall (0 1)-gleichverteilter Zufallszahlen z auf folgende

Weise:

Im Falle z ≤ p nimmt x den Wert 1 ansonsten den Wert 0 an.

Binomial-verteilte Zufallszahlen B(k, n, p)

Man erhalt sie einfach dadurch, dass man jeweils n Bernoulli-veteilte Zufallszahlen gene-

riert und die Ergebnisse aufsummiert.

6.2 Erzeugen und Testen von Zufallszahlen 119

Zufallszahlen, die einer empirischen Verteilung genugen

In okonomischen Simulationsrechnungen benotigt man oft diskrete Zufallszahlen, die einer

empirisch ermittelten Verteilung genugen.

Beispiel 6.1: Fur die wochentliche Nachfrage nach einem Produkt wurden in der Vergan-

genheit die folgenden Haufigkeiten registriert:

Nachfragemenge 0 1 2 3 4 5

Haufigkeit 5 10 20 4 5 6

relative Haufigkeit 0.1 0.2 0.4 0.08 0.1 0.12

Die simulierten Absatzmengen sollen in ihren Wahrscheinlichkeiten den bisher beobachte-

ten relativen Haufigkeiten entsprechen. Unter Verwendung von im Intervall (0, 1) gleich-

verteilten Zufallszahlen zi lassen sich diskrete Zufallszahlen, die den vorgegebenen relativen

Haufigkeit entsprechen, wie folgt ermitteln:

Man unterteilt das Intervall (0, 1) entsprechend den relativen Haufigkeiten in disjunkte

Teilintervalle (0, 0.1), [0.1, 0.3), [0.3, 0.7), [0.7 0.78), [0.78, 0.88), [0.88, 1). Fallt eine

Zufallszahl zi in das k-te Intervall (mit k = 0, 1, . . . , 5), so erhalt man die simulierte

Zufallszahl xi = k.

gleichverteilt: zi

Nachfrage: xi

( ))[ )[ )[ )[ )[

| || | | | |0 1 2 3 4 5

0 10.1 0.3 0.7 0.78 0.88

Viele Software-Pakete bieten entsprechende Generatoren auch fur kompliziertere Vertei-

lungsstrukturen an.

6.2.3 Erzeugung kontinuierlich verteilter Zufallszahlen

Transformation mittels Umkehrung der Verteilungsfunktion

Wir wollen uns die Problemstellung an Hand der Exponentialverteilung klar machen.

Mit der Wahrscheinlichkeit

∆P = F (x + ∆x)− F (x)

soll die erzeugte Zufallszahl im Bereich [x, x + ∆x] liegen. Dazu erzeugen wir (0, 1)-

gleichverteilte Zufallszahlen und bilden sie mit der Umkehrfunktion der Verteilungsfunk-

tion

xi = F−1(zi)

120 6 Simulation

ab.

x x + ∆xxi

zi

F (x)

F (x + ∆x)

1

Fur unser Beispiel erhalten wir:1

zi = F (xi) = 1− e−λxi ; xi = F−1(zi) = − 1λ

ln(1− zi)

Beispiel 6.2: Es sollen Zufallszahlen zur folgender Dichtefunktion erzeugt werden:

f(x) =

12cos x fur − π

2 ≤ x ≤ π2

0 sonst

Fur die Verteilungsfunktion erhalten wir:

F (x) =

x∫

−∞

f(t)dt =

0 fur x < −π2

12

+ 12sin x fur −π

2 ≤ x ≤ π2

1 fur x > π2

1Konstruktion der Umkehrfunktion:

z = 1 − e−λx

e−λx = 1− z

−λx = ln(1− z)x = − 1

λln(1− z)

6.2 Erzeugen und Testen von Zufallszahlen 121

x

1

π2−π

2

f(x)

−π2

π2

x1

z1

z2

x2

1

x

F (x)

Fur die Umkehrfunktion erhalten wir:

z = 12 + 1

2 sin x

2z − 1 = sin x

x = arcsin(2z − 1)

; xi = arcsin(2zi − 1)

Verwerfmethode

Oft ist es rechentechnisch sehr aufwendig oder gar explizit gar nicht moglich, die Umkeh-

rung der Verteilungsfunktion zu bestimmen. Eine anylytisch sehr einfache Methode, die

ausnutzt, dass (0, 1)-gleichverteilte Zufallszahlen ohne großen Aufwand erzeugt werden

konnen, ist als Verwerfmethode bekannt. Sie benotigt nur die Dichte f(x) der gewunsch-

ten Verteilung, die auf einem (zunachst als beschrankt angenommenen) Intervall stetig,

positv und beschrankt und außerhalb gleich Null sein soll. Das Maximum von f(x) sei c.

Wir unterwerfen nun zwei (0, 1)-gleichverteilte Zufallszahlen z1, z2 der Transformation

X = a + (b− a)z1

Y = cz2

Die Paare (X,Y ) sind nun im Rechteck (a, b) × (0, c) gleichverteilt. Liegt fur eine Rea-

lisation (z1, z2) der Punkt (X, Y ) nicht oberhalb des Funktionsgraphen von f(x), d. h.

gilt

Y ≤ f(X) bzw. z2 ≤ 1

c· f(a + [b− a]z1)

so wird

x = a + (b− a)z1

als nachste Zufallszahl verwendet. Liegt dagegen das Paar (X,Y ) oberhalb der Funktions-

kurve, so werden die beiden erzeugten Zufallszahlen z1, z2 verworfen.

Die so konstruierten Zufallszahlen entsprechen dem Zuwachs der Verteilungsfunktion von

F (x). Wie aus der folgenden Skizze entnommen werden kann, arbeitet diese Methode

ineffizient, wenn der Flacheninhalt des Rechtecks A = c · (b− a) erheblich großer als 1 ist.

122 6 Simulation

c

a b

x

(X, Y )

(X, Y )

f(x)

y

Bei unbeschranktem Intervall ist der x-Bereich zunachst einer Transformation zu unter-

werfen.

Erzeugung von Zufallszahlen fur spezielle stetige Verteilungen

Standard-Normalverteilung

Aus zwei (0, 1)-gleichverteilten Zufallszahlen z1, z2 erhalt man zwei Zufallszahlen fur die

Standard-Normalverteilung durch die folgende Transformation

x1 =√−2 ln(z1) · sin(2πz2)

x2 =√−2 ln(z1) · cos(2πz2)

Erlang-Verteilung

Die bei Warteschlangenproblemen haufig auftretende Erlang-Verteilung mit den Parame-

tern λ und n ergibt sich als die Wahrscheinlichkeitsverteilung der Summe von n unabhangi-

gen, identisch mit dem Parameter λ verteilten exponentiellen Zufallsvariablen. Sie besitzt

die Dichtefunktion

f(x) = λnxn−1e−λ

(n− 1)!

Eine einfache Methode zur Erzeugung derart verteilter Zufallszahlen x geht von n expo-

nentiell verteilten Zufallszahlen u1, u2, . . . un aus, die wiederum aus (0, 1)-gleichverteilten

Zufallszahlen z1, z2, . . . zn erzeugt werden konnen.

x =n∑

k=1

uk = − 1λ

n∑

k=1

ln(zk)

Fur große Werte von n ist diese Methode allerdings nicht zu empfehlen. In diesem Fall

ist die Verwerfmethode gunstiger, da bei ihr die Zahl der benotigten (0, 1)-gleichverteilten

Zufallszahlen nicht von n abhangt.

6.3 Beispiele 123

6.3 Beispiele

Die Vorgehensweise soll an drei Beispielen deutlich gemacht werden. Dabei spielen Si-

mulationen mit diskreten und kontinuierlichen Zufallsvariablen eine Rolle. Die Beispiele

sind bewusst so angelegt, dass sie auch noch einer expliziten Berechnung mit Hilfsmitteln

der Wahrscheinlichkeitsrechnung zuganglich sind. Diese Berechnungen sind angefugt, ob-

wohl sie teilweise uber den hier vorausgesetzten Kenntnisstand in diesem Teilgebiet der

Stochastik hinausgehen.

6.3.1 Satzgewinn beim Tennis

Beim Tennis wird ein Satzgewinn erzielt, wenn von einem Spieler sechs Spiele mit einem

Vorsprung von mindestens zwei Spielen gewonnen werden. Fur den Fall, dass ein Spielstand

von 5:5 auftritt, wird der Satz so lange fortgesetzt, bis einer der beiden Spieler einen

Vorsprung von zwei gewonnenen Spielen erreicht hat.

Von zwei Spielern A und B sei bekannt, dass A im Durchschnitt zwei von drei Spielen

gegen B gewinnt: Dabei nehmen wir an, dass aufeinanderfolgende Spiele unabhangig von-

einander ablaufen. Beim Stand von 5:5 soll nun die Wahrscheinlichkeit ermittelt werden,

mit der Spieler A gewinnt. Wir wollen nun eine Reihe von Satzverlaufen simulieren. Die

dabei beobachtete relative Haufigkeit des Satzgewinns von A lasst sich als Schatzwert fur

die gesuchte Wahrscheinlichkeit verwenden. Wir bestimmen zunachst die theoretischen

Wahrscheinlichkeiten, dass der Spieler A bzw. B gewinnt. Ebenso wollen wir den Erwar-

tungswert fur die Anzahl der Spiele pro Satz berechnen (unter der Bedingung, dass 5 : 5

Spielstand auftritt).

a) Wahrscheinlichkeit pE, dass das Spiel nach einer Zweier-Runde – bei vorherigem

Gleichstand – beendet wird.

pE = 23

23 + 1

313 = 5

9

b) Wahrscheinlickeit, dass Spieler A bzw. B gewinnt.

pA =23

23

23

23 + 1

313

= 45 pB =

13

13

23

23 + 1

313

= 15

c) Erwartungswert fur die Spiellange

Die Wahrscheinlichkeit, dass der Satz nach einer Zweier-Runde beendet wird ist pE =59. Die Anzahl der benotigten Zweier-Runden genugt einer geometrischen Verteilung.

pZ(k) = 59

(49

)k−1

124 6 Simulation

Fur deren Erwartungwert L (Anzahl der Zweier-Runden) gilt:

L =∞∑

k=1

k · pZ(k) =∞∑

k=1

k59

(49

)k−1

= . . . = 95

D. h. 95· 2 = 3.6 Runden sind nach dem Gleichstand 5 : 5 noch zu erwarten.

LS = 10 + 95 · 2 = 13.6

Wir gehen von einer (0, 1)-gleichverteilten Zufallszahl zi aus und bestimmen daraus den

Spielgewinn fur A bzw. B je nachdem ob zi ≤ 23

gilt.

Nr. Zufallszahl Spielgewinn Matchstand Satzgewinner Satzlange

1 0.7222 B 5 : 6

2 0.4615 A 6 : 6

3 0.0258 A 7 : 6

4 0.3495 A 8 : 6 A 14

5 0.7626 B 5 : 6

6 0.1824 A 6 : 6

7 0.2178 A 7 : 6

8 0.0145 A 8 : 6 A 14

9 0.1887 A 6 : 5

10 0.6957 B 6 : 6

11 0.8013 B 6 : 7

12 0.7728 B 6 : 8 B 14

13 0.6448 B 5 : 6

14 0.5845 A 6 : 6

15 0.6857 B 6 : 7

16 0.5457 A 7 : 7

17 0.7688 B 7 : 8

18 0.8506 B 7 : 9 B 16

19 0.5123 A 6 : 5

20 0.5261 A 7 : 5 A 12

21 0.5704 A 6 : 5

22 0.0541 A 7 : 5 A 12

23 0.7373 B 5 : 6

24 0.5448 A 6 : 6

25 0.5144 A 7 : 6...

......

......

...

6.3 Beispiele 125

Unsere Simulation fur sechs Satze ergab die folgenden Werte:

a) Relative Haufigkeit fur den Satzgewinn von Spieler A bzw. B

hA = 46 = 2

3 hB = 26 = 1

3

b) Mittlere Satzlange

LS = 14 + 14 + 14 + 16 + 12 + 126 = 82

6 = 13.6

Die Simulation”traf “ den theoretischen Wert der Satzlange relativ gut.

13.6 ↔ 13.6

Die Abweichungen bei der Gewinnwahrscheinlichkeit sind relativ groß.(

45 , 1

5

)↔

(23 , 1

3

)

Angesichts der geringen Zahl von Simulationslaufen ist dies auch nicht weiter verwunder-

lich. Bei Erhohung der Simulationszahl ergaben sich folgende Werte:2

Anzahl der Laufe hA hB LS

20 0.7000 0.3000 13.1000

50 0.8000 0.2000 13.4000

100 0.7700 0.2300 13.5800

1000 0.8110 0.1890 13.5640

10000 0.8041 0.1959 13.5692

100000 0.7996 0.2004 13.5885

6.3.2 Simulation eines M|M|1-Warteschlangenmodells

Eine M|M|1-Warteschlangenmodell mit den Parameterwerten λ = 109

und µ = 107

soll

simuliert werden. Die theoretischen Werte ergeben sich zu:

mittlere Zwischenankunftszeit Z = 1λ

= 1109

= 0.9

mittlere Bedienzeit Z = 1µ = 1

107

= 0.7

mittlere Verweilzeit W = 1µ− λ

= 1107 − 10

9

= 3.15

mittlere Wartezeit Wq = λµ(µ− λ)

=109

107

(107 − 10

9

) = 2.45

2Die Simulation erfolgte mit dem Zufallszahlengenerator von MATLAB fur (0, 1)-gleichverteilte Zu-fallszahlen; Startstellung: rand(’seed’,0)

126 6 Simulation

A B C D E F G H

Nr.Zwischen-ank.-Zeit

Ankunfts-Zeit

Bedienungs-Dauer

Bedienungs-Beginn

Bedienungs-Ende

Warte-Zeit

Verweil-Zeit

1 1,5276 1,5276 1,0959 1,5276 2,6235 0,0000 1,0959

2 0,4541 1,9817 0,6750 2,6235 3,2985 0,6418 1,3168

3 0,4081 2,3898 0,5575 3,2985 3,8560 0,9087 1,4662

4 0,2312 2,6210 0,0029 3,8560 3,8589 1,2350 1,2379

5 0,4545 3,0755 0,0926 3,8589 3,9515 0,7834 0,8760

6 0,8779 3,9534 1,4938 3,9534 5,4471 0,0000 1,4938

7 0,0601 4,0134 0,2571 5,4471 5,7043 1,4337 1,6908

8 3,2626 7,2761 1,3768 7,2761 8,6529 0,0000 1,3768

9 0,1008 7,3769 2,0737 8,6529 10,7266 1,2760 3,3497

10 0,4430 7,8199 0,0557 10,7266 10,7823 2,9067 2,9624

11 0,5028 8,3227 1,3076 10,7823 12,0898 2,4596 3,7671

12 1,0559 9,3786 0,0496 12,0898 12,1394 2,7112 2,7608

13 0,6614 10,0400 0,2066 12,1394 12,3460 2,0994 2,3060

14 0,1097 10,1497 0,3589 12,3460 12,7049 2,1962 2,5551

15 0,0869 10,2367 0,4702 12,7049 13,1750 2,4682 2,9384

16 4,3214 14,5580 0,6373 14,5580 15,1954 0,0000 0,6373

17 0,0816 14,6397 0,3144 15,1954 15,5098 0,5557 0,8701

18 0,3439 14,9835 0,8018 15,5098 16,3116 0,5263 1,3281

19 0,4824 15,4659 1,2683 16,3116 17,5799 0,8456 2,1140

20 1,7232 17,1891 0,6291 17,5799 18,2090 0,3908 1,0199

21 0,2116 17,4007 0,4154 18,2090 18,6244 0,8083 1,2237

22 0,0653 17,4659 0,6461 18,6244 19,2705 1,1585 1,8045

23 1,7798 19,2458 0,5335 19,2705 19,8040 0,0247 0,5582

24 0,7276 19,9734 1,6673 19,9734 21,6406 0,0000 1,6673

25 3,7575 23,7309 0,4568 23,7309 24,1878 0,0000 0,4568

26 1,4353 25,1662 0,1971 25,1662 25,3633 0,0000 0,1971

27 0,7430 25,9093 1,3996 25,9093 27,3088 0,0000 1,3996∑

25,9093 19,0405 25,4298 44,4703

∅ 0,9596 0,7052 0,9418 1,6470

E(?) 1λ = 0.9 1

µ = 0.7 2,4500 3,1500

In den Spalten B und D stehen die Zufallswerte fur die Zwischenankunfts- bzw. Bedie-

nungszeit. Daraus errechnet man die Ankunftszeit in Spalte C. In Spalte E und F wird

der Beginn und das Ende der Bedienung eingetragen: die Bedienung des ersten Kunden

kann naturlich unmittelbar nach seinem Eintreffen (T1 = 1, 5276) beginnen. Nach einer

Bedienungdauer von 1,0959 verlasst er das System zum Zeitpunkt D1 = 2, 6235. Jeder

weitere Kunde kann jedoch erst bedient werden, wenn der vorherige Kunde abgefertigt ist.

6.3 Beispiele 127

Es gilt also stets:

E(i) = max(C(i), F (i− 1)

In Spalte G notieren wir die Warte- und in Spalte H die Verweilzeit (Warte- einschließlich

Bedienzeit) jedes Kunden. In der vorletzten Zeile (∅) sind die Mittelwerte der Simulation

angegeben. Die theoretischen Werte fur den stationaren Fall sind in der letzten Zeile (E(?))

angefugt.

Es zeigen sich starke Unterschiede zum stationaren Fall. Ebenso erhalt man starke Unter-

schiede bei verschiedenen Laufen. Dies liegt an der”kleinen“ Datenmenge. Eine Stabilisie-

rung wurde sich erst bei mehreren tausend Kunden einstellen. Im Ergebnis bedeutet dies,

dass solche Simulationen mit einem Tabellenkalkulationsprogramm3 wenig aussagekraftig

sind.

6.3.3 Ein Entscheidungsproblem

Viele Anwendungen fur die Simulation ergeben sich bei Entscheidungsproblemen im Zu-

sammenhang mit Wartesystemen. Ein OR-Spezialist habe nach seinem Einkauf in einem

Supermarkt die Wahl, sich an einer von zwei Kassen anzustellen. An jeder Kasse werde ge-

rade mit der Bedienung eines Kunden begonnen, aber kein Kunde warte zusatzlich. Es sei

bekannt, dass die Bedienungszeiten unabhangige, exponentialverteilte Zufallsgroßen sind,

und zwar an Kasse 1 mit dem Parameter µ1 = 0.2 und an Kasse 2 mit µ2 = 0.15. D. h. die

mittlere Bedienzeiten betragen 5 bzw. 203

Einheiten. Ferner wisse der OR-Spezialist, dass

in Kurze ein Inspektor eintreffen wird, der zuerst Kasse 1 und dann Kasse 2 kontrollieren

wird. Bei der Kontrolle muss die Bedienung an der jeweiligen Kasse fur die Dauer von 20

Einheiten unterbrochen werden. (Die Kontrolle finde auch wahrend der Bedienzeit statt, d.

h. der Kontrolleur warte nicht bis der aktuelle Kunde bedient wurde.) Die Dauer bis zum

Eintreffen des Inspektors sei wieder exponentialverteilt mit dem Parameter λ = 0.05 und

unabhangig von den Bedienungszeiten der Kunden. Vor welcher Kasse soll sich unser OR-

Spezialist anstellen, wenn er keine Moglichkeit hat, spater zu wechseln? Ist es gunstiger,

sich an Kasse 1 anzustellen, an der die mittlere Servicezeit kurzer ist als an Kasse 2, aber

gleichzeitig eine großere Gefahr besteht, durch Kassenkontrolle aufgehalten zu werden?

Zunachst wollen wir wieder mit Hilfe der Wahrscheinlichkeitsrechnung eine Entscheidung

treffen, indem wir fur die beiden Varianten die Erwartungswerte bestimmen. Ist P1 bzw.

P2 die Wahrscheinlichkeit, dass wahrend der Abfertigung des OR-Spezialisten an Kasse 1

bzw. 2 keine Kontrolle stattfindet, so erhalten wir die Erwartungswerte

L1 = 2 · 5 · P1 + (2 · 5 + 20) · (1− P1)

L2 = 2 · 203 · P2 +

(2 · 20

3 + 20)· (1− P2)

3Die Simulation wurde mit dem Tabellenkalkulationsprogramm Excel vorgenommen.

128 6 Simulation

Berechnung von P1

a) Wir bestimmen zunachst die Dichtefunktion f1(t) fur die Gesamtwartezeit. Sie ist

die Summe zweier identischer, exponentiell verteilter Zufallsvariabler.4 Die Dichte-

funktion ergibt sich durch Auswertung des entsprechenden Faltungsintegrals.

f1(t) =∞∫−∞

fµ1(τ)fµ1(t− τ)dτ

= µ21

t∫0

e−µ1τ · e−µ1(t−τ)dτ

= µ21e−µ1t

t∫0

1dτ

= µ21te

−µ1t

b) Wahrscheinlichkeit, dass der Inspektor im Zeitintervall [t, t + ∆t] nicht zu Kasse 1

kommt:

∆P = [f1(t) ·∆t] · [1− (1− e−λt)]

= f1(t) · e−λt ·∆t

Damit ergibt sich fur P1:

P1 =∞∫0

µ21te

−µ1t · e−λtdt

= µ21

∞∫0

te−(µ1+λ)tdt

= µ21

[−te−(µ1+λ)t

µ1 + λ

]∞

0

+ 1µ1 + λ

∞∫0

e−(µ1+λ)tdt

= µ21

[− e−(µ1+λ)t

(µ1 + λ)2

]∞

0

=µ2

1

(µ1 + λ)2

= 0.22

(0.2 + 0.05)2 = 0.64

Berechnung von P2

a) Fur die Dichtefunktion f2(t) der Gesamtwartezeit ergibt sich analog:

f2(t) = µ22te

−µ2t

b) Bei der Berechnung von P2 ist zu beachten, dass in den ersten 20 Einheiten der

Inspektor nicht an der zweiten Kasse auftauchen kann, die Kontrolle von Kasse 1

4Es ergibt sich eine Erlang-Verteilung mit dem Parameter n = 2.

6.3 Beispiele 129

nimmt ja diese Zeit in Anspruch. Fur die folgende Zeit ist die um 20 Einheiten

”verschobene“ Verteilungsfunktion der Ankunftszeit zu berucksichigen.

P2 = µ22

20∫

0

te−µ2tdt + µ22

∞∫

20

te−µ2t · e−λ(t−20)dt = I1 + I2

I1 = µ22

20∫0

te−µ2tdt

= µ22

[e−µ2t

µ22

· (−1− µ2t)

]20

0

= 1− e−20µ2(1 + 20µ2)

= 1− 4e−3

I2 = µ22

∞∫20

te−µ2t · e−λ(t−20)dt

= µ22e

20λ∞∫20

te−(λ+µ2)tdt

= µ22e

20λ

[e−(λ+µ2)t

(λ + µ2)2 · (−1− (λ + µ2)t)

]∞

20

=µ2

2

(λ + µ2)2 · e20λ · [e−20(λ+µ2)(1 + 20(λ + µ2))

]

=µ2

2

(λ + µ2)2 · e−µ2(1 + 20(λ + µ2))

= 0.152

0.22 5e−4

P2 = I1 + I2

= 1− e−20µ2(1 + 20µ2) +µ2

2

(λ + µ2)2 · e−µ2(1 + 20(λ + µ2))

= 1− 4e−3 + 0.152

0.22 5e−4 ≈ 0.9407

Bestimmung der Erwartungswerte

W1 = 2µ1· P1 +

(2µ1

+ 20)· (1− P1)

= 10 · 0.64 + 30 · 0.36 = 17.2

W2 = 2µ2· P2 +

(2µ2

+ 20)· (1− P2)

= 403 · 0.9407 . . . + 100

3 · 0.0593 . . . ≈ 14.516

130 6 Simulation

Die Simulation dieser Entscheidungssituation kann so vorgenommen werden, dass die

zufalligen Bedienzeiten des wartenden Kunden und des OR-Spezialisten sowie die zufallige

Dauer bis zum Eintreffen des Inspektors durch exponentialverteilte Zufallszahlen bestimmt

werden. Das einmalige”Durchspielen“ dieser Entscheidungssituation fur Kasse 1 oder 2

stellt einen Simulationslauf dar. Aus einer Vielzahl von Simulationslaufen lasst sich dann

abschatzen, wie groß der Erwartungswert der Verweildauer bis zum Ende der Bedienung

des OR-Spezialisten ist. In den folgenden beiden Tabellen sind jeweils 10 Simulationslaufe5

eingetragen.

Bedienzeit des

wartenden

Kunden an

Bedienzeit des

OR-Spezialisten

an

Dauer bis zur

Ankunft des

Inspektors

Verweildauer des

OR-Spezialisten

an

Kasse 1 Kasse 2 Kasse 1 Kasse 2 Kasse 1 Kasse 2

Parameter µ1=0.2 µ2=0.15 µ1=0.2 µ2=0.15 λ=0.05

7.5943 4.2363 3.2034 7.4269 52.4322 10.7978 11.6631

15.2833 2.6584 11.9317 3.0524 9.1889 47.2150 5.7108

1.9367 32.4451 2.1239 1.8611 2.4500 24.0605 54.3063

1.9335 6.3909 4.3854 0.0600 25.9869 6.3188 6.4509

0.3377 18.0361 1.7749 6.7129 16.5834 2.1126 24.7490

4.7921 5.8234 0.4698 9.3214 5.3185 5.2618 15.1448

3.2752 2.5050 1.3577 0.1174 14.7741 4.6330 2.6224

0.9258 3.5291 6.6884 2.1654 28.7287 7.6143 5.6946

16.8235 0.4807 15.2389 1.8881 25.8265 52.0624 2.3688

14.6440 1.1136 1.5321 2.8563 20.4739 16.1760 3.9699

Mittelwert 6.7546 7.7219 4.8706 3.5462 20.1763 17.6252 13.2681

Erwartungs-

wert5 6.6 5 6.6 20 17.2 14.516

Varianz 41.626 100.187 24.851 10.063 208.572 326.883 255.730

Aus den ersten 10 Simulationslaufen erhalten wir Werte fur die Verweildauer, die relativ

nahe an den theoretisch errechneten liegen. Aus diesem Simulationslauf ergibt sich ganz

klar eine Praferenz fur Kasse 2. Beim zweiten Simulationslauf ergibt sich das umgekehrte

Bild. Der Unterschied zu den theoretischen Werten ist betrachtlich.

Auffallig ist weiter, dass die Varianz bei beiden Laufen an der Kasse 1 großer ist. Ein

Risiko liebender Entscheidungstrager wird sich daher – in der Hoffnung auf einen schnellen

Einkauf – eher an Kasse 1 anstellen.

5Die Zufallszahlen wurden mit MATLAB gewonnen. Es wurde der eingebaute Zufallszahlengeneratorfur Exponentialverteilungen benutzt.

6.3 Beispiele 131

Bedienzeit des

wartenden

Kunden an

Bedienzeit des

OR-Spezialisten

an

Dauer bis zur

Ankunft des

Inspektors

Verweildauer des

OR-Spezialisten

an

Kasse 1 Kasse 2 Kasse 1 Kasse 2 Kasse 1 Kasse 2

Parameter µ1=0.2 µ2=0.15 µ1=0.2 µ2=0.15 λ=0.05

2.7961 1.1462 1.7137 6.3164 17.8922 4.5098 7.4626

1.1007 12.2269 0.3206 4.6244 39.0640 1.4213 16.8513

17.0481 10.3175 7.1374 12.7580 11.4222 44.1855 23.0756

3.1326 2.2392 8.5492 3.5494 27.5565 11.6818 5.7886

3.4810 13.5796 5.7358 1.1183 14.3277 9.2167 14.6978

0.2283 15.9800 0.5996 3.5163 15.3561 0.8279 19.4963

1.4498 8.6166 2.1381 0.3041 0.7936 23.5879 8.9207

2.9477 38.7285 9.4744 3.9115 41.4246 12.4221 42.6400

0.5785 5.8745 1.9184 12.7301 32.2131 2.4970 18.6047

2.3512 24.1101 4.7620 0.1122 22.8356 7.1132 24.2223

Mittelwert 3.5114 13.2819 4.2349 4.8941 22.2886 11.7463 18.1760

Erwartungs-

wert5 6.6 5 6.6 20 17.2 14.516

Varianz 23.889 125.322 11.297 20.911 165.002 176.065 114.302

Die folgende Tabelle enthalt die errechneten Mittelwerte fur diverse Simulationslaufe.

Anzahl der

Laufe der

Simulation

Bedienzeit des

wartenden

Kunden an

Bedienzeit des

OR-Spezialisten

an

Dauer bis zur

Ankunft des

Inspektors

Verweildauer des

OR-Spezialisten

an

Kasse 1 Kasse 2 Kasse 1 Kasse 2 Kasse 1 Kasse 2

µ1=0.2 µ2=0.15 µ1=0.2 µ2=0.15 λ=0.05

20 6.2730 5.0202 4.5525 7.3419 15.7290 19.8255 12.3621

50 5.0241 6.1169 5.3901 5.5905 20.7572 19.6142 12.9074

100 4.8059 6.3887 5.1606 6.3622 23.4875 15.1665 13.9509

1000 4.9618 6.6222 5.3101 6.3558 19.9252 17.5719 14.1380

10000 4.9909 6.6977 4.9501 6.6706 19.8943 17.1630 14.5743

100000 4.9962 6.6481 4.9887 6.7419 20.0058 17.1498 14.5815

Erwartungs-

wert5 6.6 5 6.6 20 17.2 14.516

Varianz fur

n = 10000025.064 43.836 24.882 45.713 399.195 192.824 160.664

132 LITERATURVERZEICHNIS

Literaturverzeichnis

[1] Domschke, W. und Drexl, A.: Einfuhrung in Operations Research. Springer-Verlag,

Berlin 2002

[2] Domschke, W. und Drexl, A.: Ubungsbuch Operations Research. Springer-Verlag,

Berlin 1995

[3] Durr, W. und Kleibohm, K.: Operations Research 3. Aufl., Hanser-Verlag,

Munchen/Wien 1992

[4] Leiser, W.: Angewandte Wirtschaftsmathematik. Schafer-Poeschel Verlag, Stuttgart

2000

[5] Mohr, R.: Statistik fur Ingenieure und Naturwissenschaftler. Expert-Verlag, Rennin-

gen 2003

[6] Neumann, K. und Morlock, M.: Operations Research. Hanser-Verlag, Munchen/Wien

1999

[7] Stingl, P.: Operations Research. Fachbuch Verlag im Hanser-Verlag, Munchen 2002

[8] Zimmermann, H.: Operations Research Methoden und Modelle. Vieweg-Verlag,

Braunschweig/Wiesbaden 1987

[9] Zimmermann, W. und Stache, U.: Operationsresearch. 10. Aufl., Oldenbourg Verlag,

Munchen/ Wien 2001

Index

Uberkapazitat, 43

Abbruchkriterium, 7

Abfertigungsrate, 99

Ankunftsrate, 92, 93, 99

Ausnutzungsgrad, 99

Austauschverfahren, 4

Basisfeld, 37, 39

Basislosung, 10, 13

entartet, 20

Bedienungsrate, 93, 99

χ2-Test, 118

dynamische Optimierung, 56

stochastische Probleme, 66

Eignungsmatrix, 50, 51

Erlang-Verteilung, 89, 108, 110

Exponentialverteilung, 89

Faltung, 91

FIFO, 87

Gesamtpolitik, 59

Gradient, 81, 84

Graph, 42, 58

Input-Prozess, 86

Kanten, 42, 58

Knoten, 42, 58

deterministischer, 67

stochastischer, 67

Kongruenzoperator, 116

konvex, 13

Kostenmatrix, 34, 36, 37

Reduktion der, 48

LIFO, 87

lineare Gleichungen, 22

lineare Optimierung

graphische Losung, 1

Zielfunktion, 2

zulassiger Punkt, 2

lineare Ungleichungen, 2, 3, 7

Markov-Eigenschaft, 89

Matrixinversion, 4

nichtlineare Optimierung, 70

Zielfunktion, 70

Nord-West-Ecken-Regel, 34

Opportunitatskosten, 23

Optimalitatstest, 36

Optimierung

dynamische, 56

nichtlineare, 70

Pivotelement, 5, 10

Poisson-Verteilung, 92

Rechteckregel, 5, 9, 10

Servicequotient, 99

Servicesystem, 88

Sevicesystem, 86

Simplexverfahren, 10

duales, 15

Simulation, 114

SIRO, 87

Stepping-Stone-Methode, 37

Teilpolitik, 59

Transportalgorithmus, 33

fiktive Quellen, 43, 47

gesperrte Routen, 46

Restriktionen, 30

133

134 INDEX

Ubergangsgraph, 103, 104, 106

Umladeprobleme, 49

ungarische Methode, 53

Unterkapazitat, 44

Verweilzeit, 99

Verwerfmethode, 121

Warteschlange, 86, 87

Differenzialgleichungssystem, 95

endlicher Warteraum, 104

Gleichgewichtsfall, 97

M|Ek|s, 108

M|M|s, 106

M|M|1, 91, 97

Simulation, 112

Wartesystem, 86

Zielfunktion

hyperbolische, 80

konkav, 79

konkave, 76

konvexe, 76, 79

quadratische, 80

trennbare, 79

Zufallszahlen, 115

Bernoulli-verteilte, 118

Binomial-verteilte, 118

Erlang-Verteilung, 122

gleichverteilte, 115

Standard-Normalverteilung, 122

Transformation, 119

zulassiger Bereich, 3, 16–18

Zuordnungsproblem, 50

Maximierung, 55

Zustand, 57

Zustandsvariable, 57