close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Bauverhandlung Heinz und Silvia Renger am 13. April…

EinbettenHerunterladen
Operations Research
fu
¨ r Wirtschaftsinformatiker
Vorlesungsskript
von
Richard Mohr
Fachhochschule Esslingen, SS 2005
INHALTSVERZEICHNIS
i
Inhaltsverzeichnis
1 Lineare Optimierung
1
1.1
Graphische L¨osung des linearen Optimierungsproblems . . . . . . . . . . .
1
1.2
Austauschverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3
Simplexverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
Bestimmung einer zul¨assigen Basisl¨osung . . . . . . . . . . . . . . . . . . .
13
1.5
Sonderf¨alle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
1.5.1
Probleme, die keine L¨osung besitzen . . . . . . . . . . . . . . . . .
17
1.5.2
Probleme mit unbeschr¨anktem zul¨assigem Bereich . . . . . . . . . .
18
1.5.3
Probleme mit mehreren optimalen Basisl¨osungen . . . . . . . . . .
19
1.5.4
Probleme mit degenerierter optimaler Basisl¨osung . . . . . . . . . .
20
1.6
Erg¨anzungen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
1.6.1
Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
1.6.2
Opportunit¨atskosten . . . . . . . . . . . . . . . . . . . . . . . . . .
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
Optimalit¨atstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
L¨osungsprinzip der dynamischen Optimierung . . . . . . . . . . . . . . . .
59
3.3
Stochastische Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
4 Nichtlineare Optimierung
4.1
L¨osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
79
ii
5 Warteschlangentheorie
5.1 Klassifizierung . . . . . . . . . . . . .
5.2 Modellierung von Wartesystemen . .
5.3 Das Wartesystem M|M|1 . . . . . . .
5.3.1 Gleichgewichtsfall des Systems
5.4 Ausblick . . . . . . . . . . . . . . . .
5.4.1 Endlicher Warteraum . . . . .
5.4.2 Das Wartesystem M|M|s . . .
5.4.3 Das Wartesystem M|Ek |1 . . .
5.4.4 Einschwingverhalten . . . . .
5.4.5 Simulation . . . . . . . . . . .
INHALTSVERZEICHNIS
. . . . .
. . . . .
. . . . .
M|M|1 .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Simulation
6.1 Begriff Simulation . . . . . . . . . . . . . . . . . . . . . .
6.2 Erzeugen und Testen von Zufallszahlen . . . . . . . . . .
6.2.1 Erzeugung und Test gleichverteilter Zufallszahlen
6.2.2 Erzeugung diskret verteilter Zufallszahlen . . . .
6.2.3 Erzeugung kontinuierlich verteilter Zufallszahlen .
6.3 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Satzgewinn beim Tennis . . . . . . . . . . . . . .
6.3.2 Simulation eines M|M|1-Warteschlangenmodells .
6.3.3 Ein Entscheidungsproblem . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
86
86
90
91
97
104
104
106
108
110
112
.
.
.
.
.
.
.
.
.
114
114
115
115
118
119
123
123
125
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 grunds¨atzliche Vorgehensweise erl¨autert
werden. Zun¨achst wollen wir f¨
ur den Fall von zwei Variablen einen grahpischen L¨osungsweg skizzieren. Bei der Formulierung des allgemeinen L¨osungsverfahrens ben¨otigen wir
eine Umformulierung des Gauß-Algorithmus zur L¨osung linearer Gleichungssysteme, das
sogenannte Austauschverfahren“. Dies wird in einem Unterabschnitt bereitgestellt.
”
1.1
Graphische Lo
¨sung des linearen Optimierungsproblems
Zun¨achst 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 Verf¨
ugung stehende Zahl der Arbeitsstunden und Maschinenlaufzeiten sowie die in diesem Zeitraum verf¨
ugbare Ledermenge betreffen. Diese Annahmen
sind in der folgenden Tabelle zusammengefasst:
Damenschuh
Herrenschuh
verf¨
ugbar
20
4
6
16
10
5
15
32
800
200
450
Herstellungszeit [h]
Maschinenbearbeitung [h]
Lederbedarf [dm2 ]
Gewinn [ C]
Wir f¨
uhren als Variable ein:
x1 =
x2 =
Zahl der produzierten Damenschuhe
Zahl der produzierten Herrenschuhe
.
Damit k¨onnen wir unsere Optimierungsaufgabe wie folgt formulieren:
20x1 + 10x2 ≤
800
(1)
g1 : 20x1 + 10x2 =
4x1
+
≤
200
(2)
g2 :
4x1 + 5x2 = 200
6x1
+ 15x2 ≤
450
(3)
g3 :
6x1 + 15x2 = 450
x1
≥
0
(4)
g4 :
x1 =
0
≥
0
(5)
g5 :
x2 =
0
5x2
x2
16x1 + 32x2 =
Max!
.
80
2
1 Lineare Optimierung
Die ersten drei Ungleichungen ber¨
ucksichtigen 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 enth¨alt, kann es graphisch in der (x1 , x2 )-Ebene gel¨ost
werden. Die Menge der Punkte (x1 , x2 ), die eine der linearen Ungleichungen
ai1 x1 + ai2 x2 ≤ bi
erf¨
ullt, besteht aus einer Halbebene, d.h. aus allen Punkten oberhalb oder unter der Grenzgerade gi (je nach Vorzeichen der ai1 , ai2 )
ai1 x1 + ai2 x2 = bi
.
Die f¨
unf Ungleichungen unseres Beispiels definieren auf diese Weise f¨
unf Halbebenen. Ein
zul¨assiger Punkt muss demnach im Durchschnitt dieser f¨
unf Halbebenen liegen.
Eckpunkte des zul¨assigen Bereichs
g1
A(0|0)
B(40|0)
C( 100
| 40
)
3
3
D(25|20)
E(0|30)
g2
E
:
:
:
:
:
(4) ∩ (5)
(1) ∩ (5)
(1) ∩ (2)
(2) ∩ (3)
(3) ∩ (4)
D
16x1 + 32x2 = const.
C
g3
10
A
B
10
Die Zielfunktion z = 16x1 + 32x2 ist zu maximieren.
Die Gerade 16x1 + 32x2 = c enth¨alt alle Punkte mit konstantem Gewinn c.
Damit c maximal wird, verschieben wir diese Gerade m¨oglichst weit parallel nach oben, so
dass noch mindestens ein zul¨assiger Punkt darauf liegt. Man erkennt unschwer, dass der
Punkt D(25|20) zu optimalem Gewinn f¨
uhrt:
z = 16 · 25 + 32 · 20 = 1040
.
1.1 Graphische L¨osung des linearen Optimierungsproblems
3
Aus der graphischen L¨osung entnehmen wir noch eine zus¨atzliche Information. Der L¨osungspunkt liegt auf den beiden Geraden g2 , g3 w¨ahrend g1 nicht tangiert wird. Dies bedeutet,
dass die verf¨
ugbare Maschinenzeit und die Ledermenge aufgebraucht sind, w¨ahrend bei
den Arbeitsstunden noch freie Kapazit¨at vorhanden ist.
Dieses Verfahren l¨asst sich auf beliebig viele Ungleichungen anwenden.
m Lineare Ungleichungen in zwei Variablen
a11 · x1
a21 · x1
..
.
am1 · x1
Die L¨osungsmenge jeder Ungleichung ist eine
Halbebene – je nach Vorzeichen von ai2 der
Bereich unter“ oder u
¨ber“ der Grenzgerade
”
”
+ a12 · x2 ≤ b1
+ a22 · x2 ≤ b2
.. ..
..
..
. .
.
.
+ am2 · x2 ≤ bm
ai1 · x1 + ai2 · x2 = ci
.
Die Festlegung unter“ oder u
¨ber“ geschieht am besten durch eine Punktprobe. So kann
”
”
man zum Beispiel durch Einsetzen des Koordinatenursprungs in die Ungleichung u
¨berpr¨
ufen, ob dieser Punkt zur gesuchten Halbebene geh¨ort.
Bemerkung: Auch Ungleichungen der Form1
ak1 · x1 + ak2 · x2 ≥ bk
lassen sich durch Multiplikation mit dem Faktor (−1) in die gew¨
unschte Form bringen.
−ak1 · x1 − ak2 · x2 ≤ − bk
Als L¨osungsmenge eines solchen linearen Ungleichungssystems ergibt sich ein durch Geradenst¨
ucke begrenztes Gebiet (zul¨assiger Bereich)
in der (x, y)-Ebene. Die Eckpunkte ergeben sich
als Schnitt von zwei Geraden, d.h. als L¨osung eines linearen Gleichungssystems in zwei Variablen.
y
ai · x + bi · y = bi
aj · x + bj · y = bj
x
Um Eckpunkt des Gebiets zu sein, m¨
ussen auch
alle u
ullt sein.
¨brigen Ungleichungen erf¨
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.
1
Die 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 L¨osungsmenge des Ungleichungssystems beschr¨ankt, so liegt die optimale L¨osung
in einem Eckpunkt. Sind zwei benachbarte Eckpunkte L¨osung 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 f¨
ur die L¨osung von linearen Gleichungssystemen entwickeln. Der im Folgenden dargestellte Algorithmus entspricht inhaltlich dem bekannten Gauß-Algorithmus, ergibt aber formal eine andere Datenorganisation.
Die grundlegenden Schritte seien bei der L¨osung eines 2 × 2-Systems erl¨autert.
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 = b2
Die direkte Anwendung des



a11 a12 b1
1

 ∼
a21 a22 b2
a21
(1)
(2)
Gauß-Algorithmus f¨
uhrt auf die folgenden Umformungen:



a12
b1
a12 b1
1
a11
a11
a11 a11  |·(−a21 )

∼
a
a
b
a
21 b − 1 21
✛
a22 b2
0 a22 − 12
2
a11
a11
Wir erhalten dasselbe Ergebnis, wenn wir das aus der Schule bekannte Einsetzverfahren“
”
anwenden. Dazu l¨osen wir die erste Gleichung nach x1 auf.
1 − a12 x
a11 x1 + a12 x2 = b1 ❀ x1 = ab11
a11 2
Eingesetzt in die zweite Gleichung ergibt sich:
1 − a12 x
a21 ab11
0 · x1 +
a11 2 + a22 x2 = b2 bzw.
a21 · x = b − b1 a21
a22 − a12
2
2
a11
a11
Dies entspricht genau der zweiten Zeile des Matrix-Schemas.
Wir wollen nun analog zum Vorgehen beim Invertieren einer Matrix das lineare Gleichungssystem vollst¨andig nach den Variablen xi aufl¨osen. Bezeichnen wir die Koeffizienten des
neuen Schemas mit αij bzw. βk , so erhalten wir:






β2 α12
✛
1 α12 β1
1 0 β1 − α
1 α12 β1
22

 ∼


∼
β
β
2
2
0 α22 β2
|·(−α12 )
0 1 α22
0 1
α22
1.2 Austauschverfahren
5
Dieser Schritt entspricht wieder dem Aufl¨osen der zweiten Gleichung nach x2 und anschließendem Einsetzen in die erste Gleichung.
β2
β2
α22 x2 = β2 ❀ x2 = α22
❀ x1 + α12 α22
= β1 ❀
α β
x1 + 0 · x2 = β1 − α1222 2
In der letzten Spalte steht nun die L¨osung des linearen Gleichungssystems. Wir begreifen
die Division durch das Element a11 bzw. α22 und anschließendes Einsetzen in die verbliebenene Gleichungen als einen Rechenschritt. Die Rechenregeln f¨
ur das Umstellen wollen
wir im Folgenden allgemein formulieren.




a12
b1
1
a11 a12 b1
a11
a11




∼
b
a
a
a
1
21
12
21
a21 a22 b2
0 a22 − a11
b2 − a11




β2 α12
1 0 β1 − α22
1 α12 β1




∼
β2
0 α22 β2
0 1
α22
Das eingerahmte Element nennt man Pivotelement. Bezogen auf dieses Element apq ergeben sich die folgenden Regeln.
Rechenregeln
a) Das Pivotelement geht in 1 u
¨ber.
b) Die u
¨brigen 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:
aik aiq
aik = a1pq
apk apq
= aik −
aiq · apk
apq
i=p;
k=q
.
Dieses Schema, Austauschverfahren“ genannt, l¨asst sich auch auf nichtquadratische Sys”
teme u
¨bertragen. Zur Unterscheidung zum Gauß-Algorithmus benutzen wir eine andere
¨außere Form.
x1 − x2 + 3x3 = 5
Beispiel 1.1:
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 erh¨alt man aus dem letzten Tableau:
x1 + 0 · x2 + 2x3 = 1
0 · x1 + x2 − x3 = −4
x1 = 1 − 2t
x2 = −4 + t
x3 = t
bzw. mit x3 = t
Es ist uns gelungen, die Variablen x1 und x2 in Abh¨angigkeit von x3 darzustellen. Wir
nennen in Zukunft diese Variable, deren Spalten in obigem Schema Einheitsvektoren sind,
Basisvariable. Es ist u
¨blich, diese Variable in der ersten Spalte des Schemas zu notieren.
Das Austauschverfahren eignet sich auch zur Inversion einer Matrix.
y1 = 2x1 + x2
y2 = 5x1 + 3x2
Beispiel 1.2:
y1
2
1
1
0
BV x1 x2
x1 1 12
y2
5
3
0
1
y2
BV x1 x2 y1 y2
0
1
2
y1
y2
0
BV x1 x2
y1
y2
1
2
x1
1
0
3
−1
− 25
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 l¨asst sich auch auf ein eindeutig bestimmtes lineares Gleichungssystem anwenden.
Beispiel 1.3:
BV
x1
5x1
7x1
8x1
+
+
+
+
x1 x2 x3 x4
1 2 3 4
5 6 7 8
7 6 6 4
8 4 0 −5
bi
3
7
7
1
BV
x1
x2
x1 x2 x3 x4 b i
1 0 −1 −2 −1
0 1 2
3
2
0 0 1
0
2
0 0 0 −1 1
BV
x1
x2
x3
x4
x1 x2 x3 x4 b i
1 0 0 0 −1
0 1 0 0 1
0 0 1 0 2
0 0 0 1 −1
2x2 + 3x3
6x2 + 7x3
6x2 + 6x3
4x2
BV
x1
∼
∼
⇒
BV
x1
x2
x3
+
+
+
−
4x4
8x4
4x4
5x4
=
=
=
=
3
7
7
1
x1 x2
x3
x4
bi
1
2
3
4
3
0
-4 −8 −12 −8
0 −8 −15 −24 −14
0 −12 −24 −37 −23
x1 x2 x3
1 0 0
0 1 0
0 0 1
0 0 0
x1
x2
x3
x4
= −1
= 1
= 2
= −1
x4
−2
3
0
-1
bi
1
−2
2
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 betragsm¨aßig
großes Element als Pivotelement festzulegen.
1.3
Simplexverfahren
Optimierungsprobleme f¨
ur mehr als zwei Variable lassen sich prinzipiell wie im Abschnitt
1.1 l¨osen. Auch hier muss der optimale Punkt eine Ecke“ des zul¨assigen Bereichs sein.
”
Bei n Variable werden die zul¨assigen Bereiche durch Hyperebenen“ im IRn begrenzt. Um
”
diese Eckpunkte zu bestimmen m¨
ussen zun¨achst n lineare Gleichungen (entstanden aus n
¨
linearen Ungleichungen durch Ubergang
zum Gleichheitszeichen) gel¨ost werden. Anschließend ist zu u
ufen, ob auch die u
ullt sind. Danach muss
¨berpr¨
¨brigen Ungleichungen erf¨
die Zielfunktion in allen zul¨assigen Eckpunkten berechnet werden um das Optimum zu
bestimmen. Da die Anzahl der Eckpunkte rasch mit der Anzahl der Variablen und der
Nebenbedingungen w¨achst, ist diese Vorgehensweise nicht effektiv2 . Ein sinnvolles Verfahren sollte nur wenige Eckpunkte u
ufen und gezielt den optimalen Punkt suchen. Es
¨berpr¨
sollte
• nie von einer Ecke zu einer anderen mit geringerem Zielfunktionswert u
¨bergehen;
• ein Abbruchkriterium besitzen, welches es gestattet zu entscheiden, ob der gegenw¨artig
u
ufte Eckpunkt optimal ist oder weiter gesucht werden soll, oder ob das Pro¨berpr¨
blem unl¨osbar ist.
Das bekannteste Verfahren, dass obige Kriterien erf¨
ullt, ist das Simplexverfahren. Es wird
im Folgenden vorgestellt.
Die Grundidee des Verfahrens wollen wir an dem eingangs behandelten Beispiel der Optimierung der Schuhproduktion deutlich machen. (vgl. Abschnitt 1.1)
Die Zielfunktion z = 16x1 + 32x2 war unter den nachfolgenden Nebenbedingungen zu
maximieren. Zun¨achst wollen wir uns nur mit den Ungleichungen besch¨aftigen.
Durch Einf¨
uhrung von drei Schlupfvariablen“ x3 , x4 , x5 kann das Ungleichungssystem
”
in ein Gleichungssystem u
uhrt werden. F¨
ur alle Variable gilt dann die einheitliche
¨berf¨
Zusatzbedingung xi ≥ 0.
2
Bei n Entscheidungsvariablen und m Ungleichungen gibt es
geh¨origen Hyperebenen“. (Zahlenbeispiel: 10
3 = 120 !)
”
m
n
potenzielle Schnittpunkte der zu-
8
1 Lineare Optimierung
20x1 + 10x2 ≤ 800
4x1
+
5x2
6x1
+ 15x2 ≤ 450
x1,2
20x1 + 10x2 + x3
≤ 200
≥
⇔
4x1
+
5x2
6x1
+ 15x2
= 800
+ x4
= 200
+ x5 = 450
0
xi ≥
0
Die Schnittpunkte der Begrenzungsgeraden
g1 : 20x1 + 10x2 = 800
bzw.
x3 = 0
g2 :
4x1
+
= 200
bzw.
x4 = 0
g3 :
6x1
+ 15x2 = 450
bzw.
x5 = 0
g4 :
x1
g5 :
5x2
x2
=
0
bzw.
x1 = 0
=
0
bzw.
x2 = 0
werden dadurch beschrieben, dass man zwei der f¨
unf Variablen x1 , x2 , . . . , x5 zu Null
macht und die restlichen Variablen aus dem linearen Gleichungssystem bestimmt. Das
Austauschverfahren gestattet nun diese L¨osungen aus dem umgeformten Schema einfach
abzulesen. Dazu macht man drei Variable zu Basisvariablen und setzt die Nichtbasisvariablen zu Null. Der zugeh¨orige Wert f¨
ur die Basisvariablen l¨asst sich dann aus der rechten
Spalte ablesen. Ob ein Schnittpunkt zum zul¨assigen Bereich geh¨ort kann am Vorzeichen
der rechten Spalte abgelesen werden. Sind alle Werte positiv, so geh¨ort der Eckpunkt zum
zul¨assigen Bereich.
BV
x3
x4
x5
x1
20
4
6
x2 x3 x4 x5 b i
10 1 0 0 800
5 0 1 0 200
15 0 0 1 450
BV
x1
x4
x5
x1
1
0
0
x2
x3
1
2
1
20
− 51
3
− 10
BV
x1
x4
x2
x1 x2 x3 x4 x5
bi
1
1
1 0
0 − 24
31 14
16
0 0 − 18 1 − 14 −12 12
1
1
0 1 − 40
0
17 12
12
3
12
x4 x5 b i
0 0 40
1 0 40
0 1 210
⇔
⇔
⇔
L1 (0|0|800|200|450) : g4 ∩ g5 bzw. A(0|0)
L2 (40|0|0|40|210) : g1 ∩ g5 bzw. B(40|0)
L3 (31 14 |17 12 |0| − 12 12 |0) : g1 ∩ g3 unzul¨assig!
Tauscht man im vorangegangenen System x4 gegen x2 aus, so ergibt sich:
1.3 Simplexverfahren
BV
x1
x4
x5
x1 x2 x3 x4 x5 bi
1
1 12
0 0 40
20
1
0 3 − 5 1 0 40
3
0 12 − 10
0 1 210
BV
x1
x2
x5
x1 x2 x3 x4 x5 b i
1
1 0
− 16 0 33 13
12
1
1
0 13 13
0 1 − 15
3
1
−4 1 50
0 0
2
9
⇔
⇔
L2 (40|0|0|40|210) : g1 ∩ g5 bzw. B(40|0)
L4 (33 13 |13 13 |0|0|50) : g2 ∩ g3 bzw. C(33 31 |13 31 )
Wie kann man nun im Vorfeld sicher stellen, dass bei einem Austausch der zul¨assige Bereich
nicht verlassen wird? Soll die q-te Variable Basisvariable werden, so m¨
ussen wir aus der
q-ten Spalte des Tableaus eine geeignete Zeile ausw¨ahlen. Zun¨achst nehmen wir an, dass –
wie in obigem Beispiel – nur positive Werte in der ausgew¨ahlten Spalte vorkommen. Wir
betrachten nun die Quotienten von Elementen der rechten Seite und der Pivotspalte
bi
aiq
in obigem Beispiel:
40 = 80, 40 = 13 1 , 210 = 17 1
1
3
12
3
2
2
.
Wir w¨ahlen nun diejenige Zeile p mit dem kleinsten Quotienten
bp
bi
apq ≤ aiq
f¨
ur i = 1, 2, . . . n
❀
bp
0 ≤ abiqi − apq
❀
a b
0 ≤ bi − aiqpqp
.
Auf der rechten Seite des Ungleichheitszeichens steht genau die Rechteckregel f¨
ur die
Transformation der rechten Seite bi .
Tritt nun in der Pivotspalte auch ein negatives Element akq auf, so ist der Ausdruck
akq bp
apq
negativ. Damit kann das transformierte Element
bk = bk −
akq bp
apq
nur gr¨oßer werden. D. h. bei der Suche nach dem kleinsten Quotienten m¨
ussen 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 w¨
urde dadurch
negativ. Es erg¨abe sich ein unzul¨assiger Punkt! Somit sind negative Eintr¨age in der Pivotspalte nicht zum Austausch geeignet.
Regel: Sind in einer Pivotspalte alle Elemente negativ, f¨
uhrt ein Austausch stets zu einem
unzul¨assigen Punkt. F¨
ur die positiven Elemente der Pivotspalte untersuchen wir die Quotienten 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 f¨
ur die Pivotzeile stellt sicher, dass nur Eckpunkte“ des zul¨assigen
”
Bereichs errechnet werden. Nur solche Schnittpunkte der begrenzenden Hyperebenen“
”
werden berechnet, die tats¨achlich Eckpunkte des zul¨assigen Bereichs sind.
Es w¨are sch¨on, den Wert der Zielfunktion nicht f¨
ur s¨amtliche Eckpunkte“ des zul¨assigen
”
Gebiets berechnen zu m¨
ussen. Dazu benutzen wir einen Suchalgorithmus f¨
ur die Pivotspalte, der eine Zunahme der Zielfunktion garantiert. Wir nehmen die Zielfunktion als weitere
Gleichung in unser Tableau auf. Wir stellen die Zielfunktion
z = c 1 x1 + c 2 x2 + . . . + c n xn
um und f¨
ugen z − c1 x1 − c2 x2 − . . . − cn xn = 0 als letzte Zeile im Tableau an.
BV
xn+1
xn+2
...
xn+m
Nichtbasisvariable
Basisvariable
x1
x2 . . . xn xn+1 xn+2 . . . xn+m
a11 a12 . . . a1n
1
0
...
0
a21 a22 . . . a2n
0
1
...
0
... . . .
...
...
...
0
0
0
am1 am2 . . . amn
0
0
...
1
−c1 −c2 . . . −cn
0
0
...
0
BV
xn+1
xn+2
x1
a1,1
a2,1
x2
a1,2
a2,2
...
...
...
xn−1
a1,n−1
a2,n−1
xn
a1,n
a2,n
...
...
...
...
...
...
xn+m−1 am−1,1 am−1,2 . . . am−1,n−1 am−1,n
xn+m
am,1
am,2 . . . am,n−1
am,n
z
−c1
−c2 . . . −cn−1
−cn
Die Variable z wird
als Basisvariable interpretiert. Da z die Basis nie verl¨asst, lassen
wir die letzte Spalte weg
und erhalten das folgende Rechenschema:
z bi
0 b1
0 b2
0 ...
0 bm
1 0
xn+1 xn+2 . . . xn+m−1 xn+m
1
0
...
0
0
0
1
...
0
0
bi
b1
b2
0
0
...
0
0
...
0
0
0
0
0
0
...
...
...
1
0
0
0
1
0
bm−1
bm
zw
Soll im n¨achsten Auistauschschritt wieder ein zul¨assiger Randpunkt erreicht werden, muss
das Pivotelement apq positiv sein. Nach Voraussetzung (zul¨assiger Randpunkt) sind s¨amtliche 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 ) · bp
c ·b
= zw + qapq p
apq
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 l¨asst sich der Simplex-Algorithmus wie folgt formulieren.
Voraussetzung: Das Ausgangstableau stellt eine zul¨assige Basisl¨osung dar, d. h. alle Eintr¨age bi sind positiv.
1.3 Simplexverfahren
11
1. Schritt: Sind alle Eintr¨age in der z-Zeile positiv, so l¨asst sich durch einen Austauschschritt keine Zunahme des Zielwerts zw erreichen, d. h. die Basisl¨osung ist bereits optimal.
Ansonsten bestimmen wir diejenige Spalte q mit dem kleinsten (negativen) Wert in der
z-Zeile. Stehen mehrere Spalten zur Wahl, so w¨ahlen wir eine beliebige Spalte aus.
Die ausgew¨ahlte Spalte ergibt die Pivotspalte. Die zugeh¨orige Variable xq wird neu in die
Basis aufgenommen.
urde ein Austausch zu einem
2. Schritt: Sind in der Pivotspalte alle Elemente negativ, so w¨
unzul¨assigen Punkt f¨
uhren. Der Algorithmus ist in einer solchen Situation abzubrechen.
Ansonsten betrachten wir f¨
ur positive aiq die Quotiienten
bk
akq ;
akq > 0 .
Die Zeile p mit kleinstem Quotienten wird Pivotzeile. Die zur Zeile p geh¨orende Basisvariable verl¨asst die Basis.
3. Schritt: Wir f¨
uhren nun zum Pivotelement apq geh¨origen Austauschschritt durch.
a) Die Pivotzeile ist durch das Pivotelement apq zu dividieren.
b) Die vom Pivotelement verschiedenen Elemente der Pivotspalten werden Null.
c) Die u
¨brigen Elemente des Tableaus werden mittels der Rechteckregel transformiert.
aik = aik −
aqk aip
apq
Diese Regel ist auch auf die b-Spalte und die z-Zeile anzuwenden.
Wir wenden nun den Algorithmus auf unser Ausgangsbeispiel an.
BV
x3
x4
x5
z
x1
x2 x3 x4 x5 bi
20
10 1 0 0 800
4
5
0 1 0 200
6
15 0 0 1 450
−16 −32 0 0 0
0
⇔
S1 (0|0|800|200|450) : g4 ∩ g5 bzw. A(0|0)
Begr¨
undung f¨
ur die Auswahl des Pivotelements a32 = 15 : Der kleinste Eintrag in der
z-Zeile ist -32, d. h. die zweite Spalte ist auszuw¨ahlen. Die Quotienten zwischen b-Spalte
und Elementen der Pivotspalte ergeben: 800
= 80, 200
= 40, 450
= 30 . Damit ist die
10
5
15
dritte Zeile auszuw¨ahlen.
BV
x3
x4
x2
z
x1
16
2
2
5
− 16
5
x2 x3 x4 x5 b i
0 1 0 − 23 500
0 0 1 − 13 50
1
30
1 0 0 15
0 0 0 32
960
15
⇔
S2 (0|30|500|50|0) : g3 ∩ g4 bzw. E(0|30)
12
1 Lineare Optimierung
Begr¨
undung f¨
ur die Auswahl des Pivotelements a21 = 2 : Der einzige negative Eintrag
in der z-Zeile ist − 16
, d. h. die erste Spalte ist auszuw¨ahlen. Die Quotienten zwischen
5
30
b-Spalte und Elementen der Pivotspalte ergeben: 500
= 31 14 , 50
= 25, 0.4
= 75 . Damit ist
16
2
die zweite Zeile auszuw¨ahlen.
BV
x3
x1
x2
z
x1 x2 x3 x4 x5
bi
0 0 1 −8 2
100
1
1
1 0 0
− 6 25
2
1
2
0 1 0 − 5 15
20
8
8
0 0 0
1040
5
3
⇔
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 Austauschschritt w¨
urde zu einer Verringerung des Zielwerts f¨
uhren. Wir haben damit die optimale
L¨osung gefunden. Die obigen Umformungen lassen sich mittels der Skizze auf Seite 2 veranschaulichen.
Wie kann man nun sicher sein, dass der Algorithmus stets den optimalen Punkt findet?
Dazu wollen wir uns zun¨achst Gedanken u
¨ber die Struktur des zul¨assigen Bereichs eines
linearen Ungleichungssystems machen. Der auf Seite 2 skizzierte zul¨assige Bereich hat die
Eigenschaft, dass mit zwei Punkten aus dieser Menge auch die gesamte Verbindungsgerade
zur Menge geh¨ort. Eine solche Menge nennt man konvex. Beim Nachweis f¨
ur die Existenz
eines optimalen Punkts spielt diese Eigenschaft eine zentrale Rolle. Ist das zul¨assige Gebiet nicht konvex, so kann der oben beschriebene Algorithmus nicht in allen F¨allen den
optimalen Punkt finden.
c1 x1 + c2 x2 = const.
x2
L¨auft z. B. im nebenstehend skizzierten Bereich
der Algorithmus in den Punkt P˜ , so kann er sich
nicht mehr von diesem Punkt l¨osen“ um den
”
eventuell besseren Punkt P ∗ zu erreichen. Der
Algorithmus hat zwar ein relatives, aber nicht
das absolute Optimum erreicht.
Lineare Ungleichungssysteme mit beliebig vielen Variablen bestimmen ein konvexes Gebiet.
¨
Dazu die folgende Uberlegung:
Erf¨
ullt x und y die Ungleichung
a· x =
a· y =
n
i=1
n
i=1
ai xi ≤ c
ai yi ≤ c
P˜
P∗
x1
1.4 Bestimmung einer zul¨assigen Basisl¨osung
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 zul¨assige Bereich eines Ungleichungssystems –
interpretiert als Schnittmenge der zu den einzelnen Ungleichungen geh¨orenden Mengen –
stets eine konvexe Menge. Wenn einige Zusatzbedingungen erf¨
ullt 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 zul¨
assigen Basislo
¨sung
Ausgangspunkt des Simplex-Algorithmus ist die Kenntnis einer zul¨assigen Basisl¨osung.
Bei unseren bisher betrachteten Beispielen war der Nullpunkt im zul¨assigen Bereich und
konnte daher als Startpunkt f¨
ur den Simplex-Algorithmus benutzt werden. Dies ist immer
dann der Fall, wenn bei den zu betrachtenden Ungleichungen
ai1 x1 + ai2 x2 + . . . + ain x2 ≤ bi
alle bi positiv sind. Treten jedoch Ungleichungen der Form
2x1 + x2 ≥ 7
❀
−2x1 − x2 ≤ − 7
auf, so erh¨alt man in der b-Spalte negative Eintr¨age und der Nullpunkt geh¨ort nicht zum
zul¨assigen 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 :
x2
≤ 6
x1
+
x1,2 ≥ 0
−x1
⇔
− 2x2 + x3
−2x1 −
x1
+
x2
x2
= −8
+ x4
= −7
+ x5 =
6
xi ≥
0
14
1 Lineare Optimierung
BV
x3
x4
x5
z
x1
-1
−2
1
−1
x2
−2
−1
1
−3
x3
1
0
0
0
x4
0
1
0
0
x5
0
0
1
0
bi
−8
−7
6
0
BV
x1
x4
x5
z
x1
1
0
0
0
x2 x 3 x4
2 −1 0
3 −2 1
-1
1 0
−1 −1 0
x5
0
0
1
0
bi
8
9
−2
8
BV
x1
x4
x2
z
x1
1
0
0
0
x2
0
0
1
0
x 3 x4 x5 b i
1 0 2
4
1 1 3
3
−1 0 −1 2
−2 0 −1 10
Um zu einem zul¨assigen Punkt zu kommen,
m¨
ussen wir erreichen, dass s¨amtliche Eintr¨age in
der b-Spalte positiv werden. Wir w¨ahlen zun¨achst
die erste Zeile als Pivotzeile aus. Befinden sich in
dieser Zeile negative Eintr¨age, so ist sichergestellt,
dass der Austauschschritt zu einem positiven bGlied f¨
uhrt. (Die Elemente der Pivotzeile werden
durch das Pivotelement dividiert!)
Zwischen den in der ersten Zeile stehenden Elementen −1 und −2 entscheiden wir uns f¨
ur −1;
hier wird – analog zur Strategie beim direkten
Simplex-Algorithmus – der Quotient zwischen Zeilenglied und entspechendem Eintrag in der zSpalte minimal.
Der nach dem ersten Austauschschritt verbleibende negative Eintrag −2 in der b-Spalte wird durch
den Austausch x5 → x2 beseitigt.
Wir haben nun einen Punkt des zul¨assigen Bereichs erreicht. Da jedoch ein Koeffizient der
z-Zeile noch negativ ist, muss der origin¨are Simplex-Algorithmus angewandt werden.
BV
x1
x3
x2
z
x1 x2 x3 x4 x 5 b i
1 0 0 −1 −1 1
0 0 1 1
3 3
0 1 0 1
2 5
0 0 0 2
5 16
In der nebenstehenden Skizze
k¨onnen die Iterationsschritte nachvollzogen werden. Die ersten beiden
Schritte P0 → P1 → P2 f¨
uhren
zu einer zul¨assigen Basisl¨osung.
Die Optimierung der Zielfunktion
erfolgt im dritten Schritt. P2 → P3
y
P3 (1|5)
g1
x + 3y = 16
P2 (4|2)
1
P0
x
1
g2
g3
P1 (8|0)
1.4 Bestimmung einer zul¨assigen Basisl¨osung
15
Die am vorangegangenen Beispiel deutlich gewordene Strategie verl¨auft analog zum origin¨aren Simplex-Algorithmus, wenn man die Bedeutung der z-Zeile und b-Spalte miteinander vertauscht. Entsprechend ver¨andert sich auch die Reihenfolge bei der Wahl von Pivotzeile und Pivotspalte. Man nennt deshalb diese Strategie zur Bestimmung einer zul¨assigen
Basisl¨osung dualer Simplex-Algorithmus“.
”
Voraussetzung: Das Ausgangstableau stellt eine Basisl¨osung dar.
1. Schritt: Sind alle Eintr¨age in der b-Zeile positiv, so liegt bereits eine zul¨assige Basisl¨osung
vor.
Ansonsten bestimmen wir diejenige Zeile p mit dem kleinsten (negativen) Wert in der
b-Spalte. Stehen mehrere Spalten zur Wahl, so w¨ahlen wir eine beliebige Spalte aus.
Die ausgew¨ahlte Zeile ergibt die Pivotzeile. Die zur Zeile p geh¨orende Basisvariable verl¨asst
die Basis.
2. Schritt: Sind in der Pivotzeile alle Elemente positiv, so besitzt das Problem keine zul¨assige Basisl¨osung. Der Algorithmus ist in einer solchen Situation abzubrechen.
Ansonsten betrachten wir f¨
ur negative api die Quotienten
zi
api ;
api < 0 .
Die Spalte q mit kleinstem Quotienten wird Pivotspalte. Die zugeh¨orige Variable xq wird
neu in die Basis aufgenommen.
3. Schritt: Wir f¨
uhren nun zum Pivotelement apq geh¨origen Austauschschritt durch.
a) Die Pivotzeile ist durch das Pivotelement apq zu dividieren.
b) Die vom Pivotelement verschiedenen Elemente der Pivotspalten werden Null.
c) Die u
¨brigen Elemente des Tableaus werden mittels der Rechteckregel transformiert.
aik = aik −
aqk aip
apq
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


x1
+ x2 − 3x3 ≤ 1
(1)





−x1 + 3x2 − x3 ≤ 3
(2)





(3)
 3x1 − x2 − x3 ≤ 3
Ungleichungssystem:
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 zul¨assige Gebiet wird durch Ebenen begrenzt. Die Eckpunkte des Gebiets ergeben sich
als Schnitt von jeweils drei Ebenen unter Beachtung der u
¨brigen Ungleichungen. Bei neun
9
3
Ungleichungen im IR sind 3 aus 9, d.h. 3 = 84 M¨oglichkeiten 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
x4
x5
x6
x7
x8
x9
z
x1
1
−1
3
3
−5
-1
−4
x2
1
3
−1
−5
3
−1
−5
x3 x4 x5 x6
−3 1 0 0
−1 0 1 0
−1 0 0 1
3 0 0 0
3 0 0 0
−1 0 0 0
−9 0 0 0
x7
0
0
0
1
0
0
0
x8
0
0
0
0
1
0
0
x9
0
0
0
0
0
1
0
bi
1
3
3
3
3
−1
0
Der Ursprung A(0|0|0) ist
unzul¨assig, da das letzte Element der b-Spalte negativ ist.
Zur Auswahl der Spalte betrachtet man die Quotienten
−4
= 4, −5
= 5, −9
=9
−1
−1
−1
❀ a6,1 = −1 : Pivotelement
BV
x4
x5
x6
x7
x8
x1
z
x1
0
0
0
0
0
1
0
x2
0
4
−4
−8
8
1
−1
x3 x4 x5 x6
−4 1 0 0
0 0 1 0
−4 0 0 1
0 0 0 0
8 0 0 0
1 0 0 0
−5 0 0 0
x7
0
0
0
1
0
0
0
x8
0
0
0
0
1
0
0
x9
1
−1
3
3
−5
−1
−4
bi
0
4
0
0
8
1
4
B(1|0|0) ist zul¨assiger Punkt.
Die dritte Spalte wird Pivotspalte. Die Quotienten 88 =
1, 11 = 1 lassen die Wahl
zwischen f¨
unfter und sechster
Zeile.
❀ a5,3 = 8 : Pivotelement
BV
x4
x5
x6
x7
x3
x1
z
x1
0
0
0
0
0
1
0
x2
4
4
0
−8
1
0
4
x3
0
0
0
0
1
0
0
x4 x5 x6
1 0 0
0 1 0
0 0 1
0 0 0
0 0 0
0 0 0
0 0 0
x7
0
0
0
1
0
0
0
x8
0
x9
− 23
−1
1
2
1
2
0
3
− 85
− 38
− 57
8
bi
4
4
4
0
1
0
9
C(0|1|0) ist zul¨assiger Punkt.
Es gibt noch einen negativen Eintrag in der z-Zeile.
4
Die Quotienten 0.5
= 8, 30 =
0 bestimmen das Pivotelement.
❀ a4,9 = 3 : Pivotelement
BV
x4
x1
0
x2
0
x3
0
x4 x5 x6
1 0 0
x7
x8
1
2
bi
4
x5
0
0
0
1
0
0
0
4
x6
x9
x3
x1
z
0
0
0
1
0
4
3
4
3
1
2
1
3
x9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
− 16
1
2
1
3
5
24
1
8
19
8
0
0
1
0
0
0
4
0
1
0
9
− 83
− 23
−1
−15
1
2
1
8
− 18
5
8
1
8
− 81
5
8
D(0|0|1)
ist
zul¨assiger
Punkt. Das zweite Element
der z-Zeile ist negativ . Die
Quotienten 4/ 34 = 3, 4/ 43 = 3
lassen die Wahl zwischen
zweiter und dritter Zeile.
❀ a2,2 : Pivotelement
1.5 Sonderf¨alle
BV
x4
x2
x6
x9
x3
x1
z
1.5
17
Der Punkt E(3|3|3) ist bereits der
optimale Punkt, da alle Eintr¨age in
der z-Zeile positiv sind. Ein weiterer Austauschschritt w¨
urde zu einem kleineren Wert der Zielfunktion f¨
uhren. Der optimale Wert der
Zielfunktion ergibt sich aus dem
Eintrag im Kreuzungspunkt“ von
”
z-Zeile und b-Spalte mit 54.
x1 x2 x3 x4 x5 x6 x7 x8 x9 bi
1
1
0 0 0 1 0 0
0 4
2
2
1
3
0 1 0 0
0
0 0 3
4
4
0 0 0 0 −1 1 − 12 12
0 0
0 0 0 0 2 0 1
0 1 8
1
3
1
0 0 1 0
0
0 3
2
8
8
3
3
1 0 0 0
0
− 18 0 3
4
8
5
0 0 0 0 45
0 49
0 54
4
8
8
Sonderf¨
alle
Im Folgenden untersuchen wir einige Sonderf¨alle, die beim L¨osen linearer Optimierungsprobleme auftreten k¨onnen. Wir versuchen vor allem aufzuzeigen, woran diese bei der
Anwendung des Simplex-Algorithmus erkennbar sind.
Die verschiedenen F¨alle wollen wir uns an ausgew¨ahlten Beispielen klarmachen und im
Zweidimensionalen durch eine Skizze verdeutlichen.
1.5.1
Probleme, die keine L¨
osung besitzen
Beispiel 1.5:
x1 + x2
x1 − x2
x1 + 4x2
xi
≤
≥
≥
≥
10
10
25
0
(A)
(B)
(C)
!
z = 2x1 + x2 = Max.
Wir versuchen mittels des dualen Simplex-Algorithmus eine zul¨assige L¨osung zu finden:
BV
x3
x4
x5
z
x1 x2 x3 x4 x5 bi
1
1
1 0 0 10
−1 1
0 1 0 −10
−1 -4 0 0 1 −48
−1 −1 0 0 0
0
BV
x3
x1
x2
z
x1 x2 x3 x4
x5
bi
0 0 1 0.6
0.4 −15.2
1 0 0 −0.8 −0.2 17.6
0 1 0 0.2 −0.2 7.6
0 0 0 −0.6 −0.4 25.2
BV
x3
x4
x2
z
x1
x 2 x3 x4
x5
bi
0.75
0 1 0 0.25 −2
-1.25 0 0 1 0.25 −22
0.25
1 0 0 −0.25 12
−0.75 0 0 0 −0.25 12
In der ersten Zeile der b-Spalte befindet sich
noch ein negativer Wert. Die als Pivotelement in Frage kommenden Werte sind alle
positiv. Somit kann kein weiterer Austauschschritt durchgef¨
uhrt werden und der Algorithmus bricht ab.
18
1 Lineare Optimierung
x2
Die Geltungsbereiche der drei Ungleichungen (A, B, C) sind in der nebenstehenden Skizze verschieden schraffiert. Sie macht deutlich, dass alle
drei Ungleichungen nicht gleichzeitig
erf¨
ullbar sind.
Beobachtung: Sich widersprechende
Ungleichungen machen sich dadurch
bemerkbar, dass der duale SimplexAlgorithmus zur Bestimmung einer
zul¨assigen Ausgangsl¨osung abbricht.
1.5.2
C
P2
P1
A
P3
B
x1
Probleme mit unbeschr¨
anktem zul¨
assigem Bereich
Bei solchen Bereichen kann eine endliche optimale L¨osung nicht garantiert werden.
Beispiel 1.6:
−x1 + x2 ≤ 10
x1 − x2 ≤ 10
xi ≥ 0
BV
x3
x4
z
(A)
(B)
x1 x2 x3 x4 b i
−1 1 1 0 10
1 −1 0 1 10
−1 −2 0 0 0
!
z = x1 + 2x2 = Max.
BV
x2
x4
z
x1 x2 x3 x4 bi
−1 1 1 0 10
0 0 1 1 20
−3 0 2 0 20
Das umgeformte Tableau ist nicht optimal, da die z-Zeile noch den negativen Wert −3
enth¨alt. Trotzdem kann in der ersten Spalte kein Pivotelement bestimmt werden, da dort
keine positiven Koeffizienten stehen. Die Variable x1 kann beliebig vergr¨oßert werden;
dabei w¨achst auch die Zielfunktion z = 20 + 3x1 − 2x2 unbeschr¨ankt an.
Ver¨andern wir die Zielfunktion, so l¨asst sich ein optimaler Wert bestimmen!
Beispiel 1.7:
−x1 + x2 ≤ 10
x1 − x2 ≤ 10
xi ≥ 0
BV
x3
x4
z
(A)
(B)
x1 x2 x3 x4 b i
−1 1 1 0 10
1 −1 0 1 10
2 −1 0 0 0
!
z = − 2x1 + x2 = Max.
BV
x2
x4
z
x1 x2 x3 x4 bi
−1 1 1 0 10
0 0 1 1 20
1 0 1 0 10
Das Tableau ist optimal; es existiert ein
Optimum in der Ecke
P˜ (0|10). Dort ist
z = 10
1.5 Sonderf¨alle
19
z2 = −2x1 + x2
x2
Der Geltungsbereiche der zwei Ungleichungen (A, B) ist in der nebenstehenden Skizze schraffiert. Er ist
unbeschr¨ankt und kann f¨
ur manche
Zielfunktionen (z1 (x1 , x2 )) zu beliebig
großen Werten f¨
uhren. F¨
ur andere Zielfunktionen (z2 (x1 , x2 )) kann dagegen
ein Optimum existieren.
Beobachtung:
Bei unbeschr¨ankten
zul¨assigen Gebieten kann der SimplexAlgorithmus abbrechen, ohne eine optimale L¨osung gefunden zu haben.
A
P˜
B
z1 = x1 + 2x2
x1
Eine solche Situation zeigt sich darin, dass es zwar noch negative Eintr¨age in der z-Zeile
vorliegen, aber trotzddem kein weiterer Austauschschritt vollzogen werden kann. (Z. B.
wenn in der zugeh¨origen Spalte nur negative Eintr¨age stehen.)
In der Praxis d¨
urften h¨aufig Eingabefehler die Ursache f¨
ur solche Verhaltensweisen sein.
1.5.3
Probleme mit mehreren optimalen Basisl¨
osungen
Beispiel 1.8:
4x1 + 3x2
4x1 + x2
x1 + 3x2
xi
≤
≤
≤
≥
48
40
30
0
(A)
(B)
(C)
!
z = 4x1 + 3x2 = Max.
BV
x3
x4
x5
z
x1 x2 x3 x4 x5 b i
4
3 1 0 0 48
4
1 0 1 0 40
1
3 0 0 1 30
−4 −3 0 0 0 0
BV
x2
x1
x1 x2
0 1
1 0
− 18
x5
0
0
− 11
8
9
8
1
9
z
0
0
1
0
0
48
x3
1
2
x4 x5
− 12 0
3
0
8
bi
4
9
BV
x3
x1
x5
z
x1 x2 x3 x4 x5 bi
0 2 1 −1 0 8
1
1
1
0
0 10
4
4
11
1
0
0 − 4 1 20
4
0 −2 0 1 0 40
Mit dem Punkt P1 (9|4) wurde ein optimaler
Punkt gefunden. Wegen der 0 in der vierten Spalte der Zielfunktionszeile kann ein weiterer Austauschschritt vorgenommen werden, ohne dass
sich der Wert der Zielfunktion ¨andert. Wir tauschen noch x4 gegen x5 aus und erhalten einen
weiteren optimalen Wert.
20
1 Lineare Optimierung
BV
x2
x1
x1 x2
0 1
1 0
x3
− 19
x4
0
0
1
3
− 11
9
z
0
0
1
x4 x5
4
0
9
0 − 13
Durch diesen weiteren Austauschschritt ergab sich
eine weitere zul¨assige L¨osung P2 (6|8) mit demselben Wert f¨
ur die Zielfunktion.
Ein weiterer m¨oglicher Austauschschritt (grau unterlegt) erg¨abe wieder die urspr¨
ungliche L¨osung
P1 (9|4).
bi
8
6
1
8
9
8
0
0
48
Aus nebenstehender Skizze wird deutlich, dass die Begrenzungsgerade f¨
ur die
Ungleichung (A) parallel zur Isoquante der Zielfunktion verl¨auft. Damit sind
die Punkte auf der Strecke zwischen P1
und P2 ebenfalls optimal.
Beobachtung: Sind im Optimaltableau
Zielfunktionskoeffizienten von Nichtbasisvariablen Null, so existieren mehrere optimale L¨osungen. Man erh¨alt
die Eckpunkte durch weitere Austauschschritte. Alle Konvexkombinationen optimaler Punkte sind wieder
optimal.
1.5.4
x2
B
A
C
P2
z = const.
P1
x1
Probleme mit degenerierter optimaler Basisl¨
osung
Es sind F¨alle denkbar, dass f¨
ur einen optimalen Eckpunkt mehrere Tableaus existieren.
Damit erh¨alt man kein wohlbestimmtes Ende des Simplex-Algorithmus.
Beispiel 1.9:
4x1
4x1
x1
x1
+ 3x2
+ x2
+ 3x2
+ x2
xi
≤
≤
≤
≤
≥
48
40
30
14
0
(A)
(B)
(C)
(D)
BV
x3
x4
x5
x6
z
x1 x2 x3 x4 x5 x6
4
3 1 0 0 0
4
1 0 1 0 0
1
3 0 0 1 0
1
1 0 0 0 1
−3 −4 0 0 0 0
!
z = 3x1 + 4x2 = Max.
bi
48
40
30
14
0
BV
x3
x4
x2
x6
z
x1
3
11
3
1
3
2
3
− 53
x 2 x3 x4 x5 x6 b i
0 1 0 −1 0 18
0 0 1 − 13 0 30
1
1 0 0
0 10
3
0
0
0
− 13
1
4
0
0
0
4
3
0
40
1.5 Sonderf¨alle
BV
21
x1 x2
x3
x4
x5
x6
bi
x3
0
0
1
0
− 29
0
x4
x2
x1
z
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
2
3
2
1
2
− 11
2
− 21
1
2
3
2
5
2
8
8
6
50
x1 x2
x3
x4
x5
x6
bi
x6
0
0
− 29
0
− 19
1
0
x4
x2
x1
z
0
0
1
0
0
1
0
0
− 11
9
− 19
8
9
4
9
1
3
5
9
1
0
0
0
7
9
0
0
0
0
8
8
6
50
x1 x2
0 0
0 0
0 1
1 0
0 0
x3
2
−3
−1
1
−1
x4
0
1
0
0
0
x5
1
0
0
0
0
x6
−9
8
4
−3
7
bi
0
8
8
6
50
BV
BV
x5
x4
x2
x1
z
− 12
− 13
Aus nebenstehender Skizze wird deutlich, dass die Begrenzungsgerade f¨
ur die
Ungleichung (A, C, D) sich im Punkt
P2 schneiden. Deswegen erhalten wir
f¨
ur den Punkt P2 (6|8) drei verschiedene
Zust¨ande“ des Tableaus.
”
Beobachtung: Nimmt im Optimaltableau eine Basisvariable den Wert Nulla
an (b-Spalte besitzt eine Null!), so kann
man zum selben Schnittpunkt weitere
Zust¨ande des Tableaus mit optimalem
Wert der Zielfunktion erzeugen. Dadurch besteht die Gefahr, dass der Algorithmus in einen Zyklus“ ger¨at. Dies
”
muss gegebenenfalls beim Programmieren abgefangen“ werden.
”
a
Hat eine Basisvariable den Wert Null, so
ist eine weitere Ungleichung zus¨atzlich“genau
”
erf¨
ullt.
Die erste Komponente der b-Spalte ist Null.
Damit kann ein weiterer Austauschschritt
durchgef¨
uhrt werden, ohne dass sich der
Wert der Zielfunktion ¨andert. Tauschen wir
x3 gegen x6 aus, so ergibt ein weiterer optimaler Punkt mit denselben Werten f¨
ur
x1 , x 2 .
Das obere Tableau kann als Schnitt der Geraden C und D gedeutet werden, w¨ahrend
sich das untere Tableau als Schnitt von A
und C interpretieren l¨asst. Die jeweils andere 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
erh¨alt man wieder eine optimale L¨osung. Der
negative Koeffizient in der z-Zeile st¨ort nicht,
da er bei einer Nichtbasisvariablen steht. Das
entstehende Tableau ergibt sich beim Schnitt
der Geraden A und D.
x2
A
B
C
P2
P1
z = 50
D
x1
22
1 Lineare Optimierung
1.6
1.6.1
Erg¨
anzungen
Gleichungen
Kommen bei einem Optimierungsproblem auch Gleichungen vor, so sind verschiedene
L¨osungsm¨oglichkeiten offen. Zun¨achst kann man diese linearen Gleichungen dazu benutzen, die Anzahl der Variablen zu reduzieren. Diese Transformation der Variablen kann
dazu f¨
uhren, dass die Voraussetzung xi ≥ 0 verletzt wird und dann noch eine zus¨atzliche
Verschiebung des Koordinatensystems notwendig macht. Als zweite M¨oglichkeit bietet sich
an, die Gleichung zun¨achst wie eine Ungleichung zu behandeln und bei der Anwendung des
Simplex-Algorithmus die zugeh¨orige Schlupfvariable zur Nichtbasisvariablen zu erkl¨aren.
Diese wird dann stets Null gesetzt und so die Gleichung erf¨
ullt. Die geringste Abweichung
vom gewohnten Vorgehen ergibt sich bei folgendem Trick: Man behandelt die Gleichung
wie eine Ungleichung und bewertet sie k¨
unstlich in der Zielfunktion mit einem großen“
”
negativen Wert. Dies soll an folgendem Beispiel erl¨autert werden.
Beispiel 1.10:
5x1 + 2x2 + 3x3
x1 + 5x2
x1 + x 2
x1
− x3
xi
≤
≤
≤
=
≥
96
96
24
4
0
(A)
(B)
(C)
(D)
!
z = 5x1 + 8x2 + x3 = Max.
Nach Einf¨
uhrung der Schlupfvariablen x4 . . . x7 ergibt sich das folgende lineare Gleichungssystem:
5x1 + 2x2 + 3x3 + x4
= 96
(A)
x1 + 5x2
+ x5
= 96
(B)
x1 + x 2
+ 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 u
¨bliche Simplex-Algorithmus ergibt das gesuchte Optimum.
BV
x4
x5
x6
x7
z
x1 x2 x3 x4 x5 x 6 x7
5
2
3 1 0 0
0
1
5
0 0 1 0
0
1
1
0 0 0 1
0
1
0 −1 0 0 0
1
−5 −8 −1 0 0 0 100
bi
96
96
24
4
0
1.6 Erg¨anzungen
BV
x4
x2
x6
x7
z
x1 x2
4.6 0
0.2 1
0.8 0
1
0
−3.4 0
23
x3
3
0
0
−1
−1
x4
1
0
0
0
0
x5
−0.4
0.2
−0.2
0
1.6
x6
0
0
1
0
0
x5
−0.4
0.2
−0.2
0
1.6
x6
0
0
1
0
0
BV
x4
x2
x6
x1
z
x1
0
0
0
1
0
x2 x3 x4
0 7.6 1
1 0.2 0
0 0.8 0
0 −1 0
0 −4.4 0
BV
x4
x2
x3
x1
z
x1
0
0
0
1
0
x2
0
1
0
0
0
1.6.2
x3
0
0
1
0
0
x7
0
0
0
1
100
bi
57.6
19.2
4.8
4
153.6
x7
bi
−4.6 39.2
−0.2 18.4
−0.8 1.6
1
4
103.4 167.2
x4
x5
x6
1
1.5
−9.5
0 0.25 −0.25
0 −0.25 1.25
0 −0.25 1.25
0
0.5
5.5
x7
3
0
−1
0
99
bi
24
18
2
6
176
Opportunit¨
atskosten
Zum Abschluss wollen wir das Resultat einer linearen Optimierungsaufgabe interpretieren.
Die Bedeutung der Koeffizienten soll an folgendem Beispiel im Abschlusstableau veranschaulicht werden.
Beispiel 1.11:
x1 + x2
2x1 + x2
x1 + 2x2
xi
≤
≤
≤
≥
8
14
14
0
(A)
(B)
(C)
❀
!
z = 4x1 + 3x2 = Max.
BV
x3
x1
x5
z
x1
0
1
0
0
x2 x3 x4 x5 b i
0.5 1 −0.5 0 1
0.5 0 0.5 0 7
1.5 0 −0.5 1 7
−1 0
2
0 28
BV
x2
x1
x5
z
BV
x3
x4
x5
z
x1 x2 x3 x4 x5 bi
1
1 1 0 0 8
2
1 0 1 0 14
1
2 0 0 1 14
−4 −3 0 0 0 0
x1 x2 x3 x4 x5 bi
0 1 2 −1 0 2
1 0 −1 1 0 6
0 0 −3 1 1 4
0 0 2
1 0 30
Wir wollen nun die Koeffizienten der z-Zeile des Schlusstableaus interpretieren. Zu den
Schlupfvariablen x3 , x4 , x5 geh¨oren die Koeffizienten 2, 1, 0. Dies bedeutet, dass die Un-
24
1 Lineare Optimierung
gleichungen (A) und (B) aktiv sind, w¨ahrend (C) keine Rolle spielt. H¨atte x3 den Wert
1, so erh¨ohte sich der Wert der Zielfunktion um 2. Dies bedeutet, dass eine Erh¨ohung der
Grenze f¨
ur die Ungleichung (A) um eine Einheit einen Zuwachs f¨
ur die Zielfunktion um
zwei Einheiten nach sich zieht. In der nachfolgenden Skizze ist die zu dieser Ver¨anderung
geh¨orende Vergr¨oßerung des zul¨assigen Gebiets dunkel schraffiert. Die zur Zielfunktion
geh¨orende Gerade 4x1 + 3x2 = 30 kann vom Punkt P1 in den Punkt P˜1 verschoben werden. Entsprechend erg¨abe sich bei der Erh¨ohung der Grenze f¨
ur die Ungleichung (B) ein
Zuwachs von einer Einheit f¨
ur die Zielfunktion. Dies f¨
uhrt jedoch nur so lange zu einer
Erh¨ohung der Zielfunktion, wie die u
¨brigen Restriktionen nicht greifen. In unserem Beispiel h¨atte eine Erh¨ohung der Restriktion (A) um mehr als 34 keine Auswirkung mehr.
In der Skizze w¨
urde 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 Gr¨oßen, die als entgangener Gewinn gedeutet werden
k¨onnen, Opportunit¨atskosten.
A
x2
z1 z2
B
Begrenzungsgeraden
mod. Begrenzungsgeraden
Zielfunktion
C˜
P2
P˜2
P∗
P˜1
C
P1
A˜
x1
1.6 Erg¨anzungen
25
Die zur nichtaktiven Ungleichung (C) geh¨orende Variable x5 hat den Wert 4 (dritte Komponente der b-Spalte). Dies bedeutet, dass eine Verkleinerung der Grenze f¨
ur die Ungleichung (C) um vier Einheiten keinen Einfluss auf die optimale L¨osung hat. In der Skizze
ist diese Begrenzung mit C˜ gekennzeichnet.
Erh¨ohung von (A) um 1 Einheit
BV
x3
x4
x5
z
x1
1
2
1
−4
x2
1
1
2
−3
x3
1
0
0
0
BV
x3
x1
x5
z
x1
0
1
0
0
x2
0.5
0.5
1.5
−1
x3
1
0
0
0
BV
x2
x1
x5
z
x1
0
1
0
0
x2
1
0
0
0
x3
2
−1
−3
2
x4
0
1
0
0
x5 b i
0 9
0 14
1 14
0 0
BV
x3
x4
x5
z
x1 x2 x3
1
1 1
2
1 0
1
2 0
−4 −3 0
x4 x5 b i
−0.5 0 2
0.5 0 7
−0.5 1 7
2
0 28
BV
x3
x1
x5
z
x1
0
1
0
0
BV
x3
x1
x2
z
x1
0
1
0
0
x4
−1
1
1
1
x5 b i
0 4
0 5
1 1
0 32
Verminderung von (A) um 0.5 Einheiten
BV
x3
x4
x5
z
x1 x2 x3
1
1
1
2
1
0
1
2
0
−4 −3 0
BV
x3
x1
x5
z
x1
0
1
0
0
x2 x3
0.5 1
0.5 0
1.5 0
−1 0
BV
x2
x1
x5
z
x1
0
1
0
0
x2
1
0
0
0
x3
2
−1
−3
2
Erh¨ohung von (A) um 2 Einheiten
x4
0
1
0
0
x5
0
0
1
0
bi
10
14
14
0
x2 x3 x4
0.5 1 −0.5
0.5 0 0.5
1.5 0 −0.5
−1 0
2
x5
0
0
1
0
bi
3
7
7
28
x2
0
0
1
0
x5
− 31
− 13
bi
x3
1
0
0
0
BV
x3
x4
x5
z
x1
1
2
1
−4
x2
1
1
2
−3
x3
1
0
0
0
x4 x5 b i
−0.5 0 0.5
0.5 0 7
−0.5 1 7
2
0 28
BV
x3
x1
x5
z
x1
0
1
0
0
x2
0.5
0.5
1.5
−1
x3
1
0
0
0
BV
x2
x1
x5
z
x1
0
1
0
0
x2
1
0
0
0
x3
2
−1
−3
2
x5 b i
0 1
0 6.5
1 5.5
0 29
x4
− 13
2
3
− 13
5
3
2
3
2
3
2
3
14
3
14
3
32 23
Verminderung von (C) um 4 Einheiten
x5 b i
0 7.5
0 14
1 14
0 0
x4
−1
1
1
1
x4
0
1
0
0
x4
0
1
0
0
x5 b i
0 8
0 14
1 10
0 0
x4 x5 b i
−0.5 0 1
0.5 0 7
−0.5 1 3
2
0 28
x4
−1
1
1
1
x5 b i
0 2
0 6
1 0
0 30
26
1 Lineare Optimierung
Wir formuliern allgemein:
Die Zielfunktionskoeffizienten der Nichtbasisvariablen im optimalen Simplextableaugeben 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 ver¨andert wird. (unter Beachtung der u
¨brigen Beschr¨ankungen!)
Beispiel 1.12: Ein Unternehmen stellt drei Produkttypen I, II, II her. Zur Produktion
wird ein Rohstoff verwendet; jedes Produkt muss zwei Fertigungsstellen durchlaufen. Rohstoffmenge und die beiden Fertigungsstellen sind durch Kapazit¨atsschranken begrenzt.
Verf¨
ugbare Kapazit¨aten und die Deckungsbeitr¨age f¨
ur die Produkte sind der folgenden
Tabelle zu entnehmen:
I
Produkttyp
II
III
verf¨
ugbare
Kapazit¨at
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
Deckungsbeitr¨age
8 C/ME1
35 C/ME2
13 C/ME3
Die Entscheidungsvariablen x1 , x2 , x3 bezeichnen produzierten Mengen in Mengeneinheiten MEi 3 . Damit ergibt sich das folgende Optimierungsproblem:
!
z = 8x1 + 35x2 + 13x3 = Max unter den Nebenbedingungen:
4x1 + 22x2 + 7x3
x1 + 4x2 + x3
x1 + 5x2 + 2x3
xi
≤ 180
≤ 30
≤ 50
≥ 0
Der Simplexalgorithmus f¨
uhrt zu den folgenden Tableaus.
3
Die Mengeneinheiten (ME) werden entsprechend dem Produktionstyp indiziert. Damit ist aus der
Angabe einer Einheit sofort ewrsichtlich, um welches Produkt es sich handelt. Analog sind die u
¨brigen
Einheiten-Indicex zu verstehen (z. B. 12 h1 = 12 Stunden in der Fertigungsstelle 1 usw.).
1.6 Erg¨anzungen
27
BV
x4
x5
x6
z
x1
4
1
1
−8
x2
22
4
5
−35
BV
x4
x2
x6
z
x1
−1.5
0.25
−0.25
0.75
x2
0
1
0
0
BV
x4
x2
x3
z
x1
−2
− 13
− 23
x2
0
1
0
0
x3
0
0
1
0
x4
1
0
0
0
BV
x4
x1
x3
z
x1
0
1
0
0
x2
6
3
1
2
x3
0
0
1
0
x4
1
0
0
0
1
3
x3
4
1
2
−13
x4
1
0
0
0
x5
0
1
0
0
x3
x4
x5
−1.5 1 −5.5
0.25 0 0.25
0.75 0 −1.25
−4.25 0 8.75
x5
−8
2
3
x6
0
0
1
0
bi
180
30
50
0
x6
0
0
1
0
bi
15
7.5
12.5
262.5
x6
2
− 13
bi
40
5
3
4
3
17
3
10
3
16 23
333 13
x5
−4
2
−1
3
x6
0
−1
1
5
bi
60
10
20
340
− 53
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
Ver¨andert man nun irgendeine Nichtbasisvariable um eine Einheit, so ver¨andert sich der
Deckungsbeitrag z genau in H¨ohe des entsprechenden Zielfunktionskoeffizienten. Im folgenden Tableau erh¨ohen wir die Schranken f¨
ur die beiden letzten Bedingungen um 1 Einheit.
Rechentechnisch bedeutet dies f¨
ur die Variablen x5 und x6 den Wert −1 .
BV
x4
x5
x6
z
x1 x2
x3 x4
4
22
4
1
1
4
1
0
1
5
2
0
−8 −35 −13 0
BV
x4
x1
x3
z
x1
0
1
0
0
x2
6
3
1
2
x3
0
0
1
0
x5
0
1
0
0
x6
0
0
1
0
bi
180
31
51
0
x4 x5 x6 bi
1 −4 0 56
0 2 −1 11
0 −1 1 20
0 3
5 348
28
1 Lineare Optimierung
Der optimale Wert hat sich auf z = 340 − 3 · (−1) − 5 · (−1) = 348 erh¨oht.
F¨
uhren wir einen weiteren Austauschschritt durch, um zu Erzwingen, dass sich x2 = 0
ergibt, so erhalten wir:
BV
x4
x2
x3
z
x1 x2 x3 x4 x5 x6
bi
−2 0 0 1 −8 2
34
1
2
11
1 0 0
− 31
3
3
3
− 13 0 1 0 − 53 43
16 31
5
17
− 23 0 0 0
340 32
3
3
F¨
ur die zul¨assigen Produktionsmengen erhielten wir x1 = 0, x2 = 11
, x3 = 15 13 . Der Wert
3
der Zielfunktion hat sich um den entsprechenden Betrag vermindert:
2
z = 348 − 2 · 11
3 = 340 3
29
2
Transportprobleme
Transportmodelle stellen eine spezielle, aber sehr wichtige Klasse von linearen Optimierungsaufgaben dar. Es handelt sich dabei nicht nur um Probleme auf dem Transportsektor,
sondern um einen formalen Typ von Optimierungsaufgaben, die sich auch in anderen Bereichen (z. B. Produktionsplanung) ergeben.
Zur Optimierung von Transportmodellen ist das zuvor behandelte Verfahren, das SimplexVerfahren, 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 zun¨achst unterstellt, dass
die Summe der Best¨ande genau der Summe der Bedarfsmengen entspricht. Die Transportkosten sollen linear mit den versandten Mengen ansteigen. Die Kosten f¨
ur den Transport
je Einheit des Guts von jedem Liefer- zu jedem Bedarfsort seien bekannt. Gesucht ist
derjenige Transportplan, der zu minimalen Kosten f¨
uhrt.
F¨
ur die mathematische Formulierung des Problems f¨
uhren wir folgende Gr¨oßen ein:
ai
bj
cij
xij
K
: Bestand am Lieferort i ; i = 1, 2, . . . m
: Bedarf am Bedarfsort j ; j = 1, 2, . . . n
: Transportkosten je Einheit vom Lieferort i zum Bedarfsort j
: Transportmenge vom Lieferort i zum Bedarfsort j (Entscheidungsvariable)
: gesamte Transportkosten (Entscheidungskriterium)
Die zu minimierende Zielfunktion ergibt sich als Summe der Produkte aus Transportkosten
je Einheit und transportierte Menge auf allen m¨oglichen Routen.
m
n
K =
!
cij · xij = Min
i=1 j=1
Die Annahme, dass im gesamten System die verf¨
ugbare Menge der ben¨otigten Menge entspricht, wird durch die folgende Beziehung zwischen den Gr¨oßen ai und bj wiedergegeben:
m
n
ai =
i=1
bj
( )
j=1
Diese Gleichgewichtsbedingung“ wird implizit eingehalten, wenn sicher gestellt wird, dass
”
von jedem Lieferort genau die dort verf¨
ugbare Menge abtransportiert und an jedem Be-
30
2 Transportprobleme
darfsort genau die dort ben¨otigte Menge angeliefert wird. Daraus ergibt sich f¨
ur jeden
Liefer- bzw. Bedarfsort eine Gleichung der folgenden Art.
n
j=1
m
xij = ai
; i = 1, 2, . . . m
:
Lieferort
xij = bj
; j = 1, 2, . . . n
:
Bedarfsort
i=1
Wegen der Gleichgewichtsbedingung ( ) sind die obigen (n+m) Gleichungen linear abh¨angig,
d. h. es gen¨
ugt, wenn wir nur (n + m − 1) dieser Nebenbedingungen ber¨
ucksichtigen.
Da nur nichtnegative Mengen sinnvoll sind, muss zus¨atzlich 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 Fabrikationsst¨atten eines Unternehmens vier Abnehmer zu beliefern sind. In der nachstehenden Tabelle sind die Transportkosten je Mengeneinheit auf jeder m¨oglichen Route sowie die Produktions- und Bedarfsmengen festgehalten.
Fabrik Nr.
Abnehmer Nr.
1
2
3
4
Transportkosten/Einheit
1
2
3
5
8
2
5
3
4
2
1
4
7
8
5
Bedarf
10
12
9
7
Kapazit¨at
9
15
14
38
Die Summe der Produktionsmengen betr¨agt ebenso wie die Summe der Verbrauchsmengen 38 Einheiten. Mit den angegebenen Daten l¨asst 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
x11
x12
x13
x14
+
+
+
+
x21
x22
x23
x24
+
+
+
+
31
x31
x32
x33
x34

= 10 


= 12 
= 9 



= 7
Kunden-Restriktionen
und den Nichtnegativit¨atsbedingungen
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 . Zun¨achst m¨
ussen
wir das Minimum-Problem in ein Maximumproblem umformulieren. Wenn wir von allen
Koeffizienten der Kostenmatrix dieselbe Zahl addieren oder subtrahieren, so ver¨andert sich
unser Ausgangsproblem nicht. Wenn wir das Vorzeichen der Koeffizienten ver¨andern, 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 f¨
ur die (Un)gleichungen sowie der zZeile. Da die 6 (Un)gleichungen genau erf¨
ullt sind, m¨
ussen die entsprechenden Eintr¨age in
der z-Zeile mit großen Straffaktoren“ versehen werden. Wegen der Straffaktoren werden
”
die 6 Schlupfvariable stets Nichtbasisvariable. Damit m¨
ussen von den 12 Entscheidungsvariablen stets 6 Basis- und 6 Nichtbasisvariable sein. Das nachfolgende Tableau zeigt diesen
Austausch von Basisvariablen. F¨
ur die Konstante wurde c = 10 gew¨ahlt und die Schlupfvariablen 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
1
Die 3 Fabrik- und 7 Kundenrestriktionen sind linear unabh¨angig. Deshalb sind nur 6 Gleichungen zu
ber¨
ucksichtigen.
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 1 1 1 1 0 0 0 0 0 0 0 0
x14 0 0 −1 0 1 1 0 1 0 0 −1 0
x15 0 0 0 0 0 0 0 0 1 1 1 1
x16 1 0 0 0 1 0 0 0 1 0 0 0
x17 0 1 0 0 0 1 0 0 0 1 0 0
x2,3 0 0 1 0 0 0 1 0 0 0 1 0
z −5 −5 1 −3 −2 −7 0 −2 −8 −6 3 −5
x13
1
0
0
0
0
0
50
x14
0
1
0
0
0
0
50
x15
0
0
1
0
0
0
50
x16
0
0
0
1
0
0
50
x17
0
0
0
0
1
0
50
x18
0
−1
0
0
0
1
59
bi
9
6
14
10
12
9
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 1 1 1 1 0 0 0 0 0 0 0 0
x14 0 0 −1 0 1 1 0 1 0 0 −1 0
x15 −1 0 0 0 −1 0 0 0 0 1 1 1
x3,1 1 0 0 0 1 0 0 0 1 0 0 0
x17 0 1 0 0 0 1 0 0 0 1 0 0
x2,3 0 0 1 0 0 0 1 0 0 0 1 0
z
3 −5 1 −3 6 −7 0 −2 0 −6 3 −5
x13
1
0
0
0
0
0
50
x14
0
1
0
0
0
0
50
x15
0
0
1
0
0
0
50
x16
0
0
−1
1
0
0
58
x17
0
0
0
0
1
0
50
x18
0
−1
0
0
0
1
59
bi
9
6
4
10
12
9
161
BV x1,1 x1,2 x1,3 x1,4
x13 1 1 1 1
x2,2 0 0 −1 0
x15 −1 0 0 0
x3,1 1 0 0 0
x17 0 1 1 0
x2,3 0 0 1 0
z
3 −5 −6 −3
x2,1 x2,2 x2,3 x2,4 x3,1 x3,2 x3,3 x3,4
0 0 0 0 0 0 0 0
1 1 0 1 0 0 −1 0
−1 0 0 0 0 1 1 1
1 0 0 0 1 0 0 0
−1 0 0 −1 0 1 1 0
0 0 1 0 0 0 1 0
13 0 0 5 0 −6 −4 −5
x13
1
0
0
0
0
0
50
x14
0
1
0
0
−1
0
57
x15
0
0
1
0
0
0
50
x16
0
0
−1
1
0
0
58
x17
0
0
0
0
1
0
50
x18
0
−1
0
0
1
1
52
bi
9
6
4
10
6
9
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 1 0 0 1 1 0 0 1 0 −1 −1 0
x2,2 0 1 0 0 0 1 0 0 0 1 0 0
x15 −1 0 0 0 −1 0 0 0 0 1 1 1
x3,1 1 0 0 0 1 0 0 0 1 0 0 0
x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0
x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0
z
3 1 0 −3 7 0 0 −1 0 0 2 −5
x13
1
0
0
0
0
0
50
x14
1
0
0
0
−1
1
51
x15
0
0
1
0
0
0
50
x16
0
0
−1
1
0
0
58
x17
−1
1
0
0
1
−1
56
x18
−1
0
0
0
1
0
58
bi
3
12
4
10
6
3
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 1 0 0 1 1 0 0 1 0 −1 −1 0
x2,2 0 1 0 0 0 1 0 0 0 1 0 0
x3,4 −1 0 0 0 −1 0 0 0 0 1 1 1
x3,1 1 0 0 0 1 0 0 0 1 0 0 0
x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0
x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0
z −2 1 0 −3 2 0 0 −1 0 5 7 0
x13
1
0
0
0
0
0
50
x14
1
0
0
0
−1
1
51
x15
0
0
1
0
0
0
55
x16
0
0
−1
1
0
0
53
x17
−1
1
0
0
1
−1
56
x18
−1
0
0
0
1
0
58
bi
3
12
4
10
6
3
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
x1,4 1 0 0 1 1 0 0 1 0 −1 −1 0
x2,2 0 1 0 0 0 1 0 0 0 1 0 0
x3,4 −1 0 0 0 −1 0 0 0 0 1 1 1
x3,1 1 0 0 0 1 0 0 0 1 0 0 0
x1,3 0 1 1 0 −1 0 0 −1 0 1 1 0
x2,3 0 −1 0 0 1 0 1 1 0 −1 0 0
z
1 1 0 0 5 0 0 2 0 2 4 0
x13
1
0
0
0
0
0
53
x14
1
0
0
0
−1
1
54
x15
0
0
1
0
0
0
55
x16
0
0
−1
1
0
0
53
x17
−1
1
0
0
1
−1
53
x18
−1
0
0
0
1
0
55
bi
3
12
4
10
6
3
268
Damit erhalten wir als optimale L¨osung:
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
k¨onnen, dass h¨ochstens (n + m − 1) Entscheidungsvariable (im obigen Beispiel 6) ungleich
Null sind. Oder anders ausgedr¨
uckt: beim optimalen Transport werden nur (n + m − 1)
Wege (=Entscheidungsvariable ungleich Null) ben¨otigt. Daher gen¨
ugt es bei dem nun
zu besprechenden speziellen Transportalgorithums eine Strategie zu entwickeln, die nur
(n + m − 1) Transportwege ins Kalk¨
ul einbezieht.
2.2
Transportalgorithmus
Der Ablauf des Rechenverfahrens entspricht im Prinzip dem des Simplex-Algorithmus.
Man berechnet zun¨achst eine zul¨assigen Basisl¨osung. Dann f¨
uhrt man einen Optimalit¨atstest durch und geht gegebenenfalls zu einer besseren Basisl¨osung u
¨ber. Hier soll nur eine
heuristische Vorgehensweise dargestellt werden, bei der im Wesentlichen nur Addition und
Subtraktion ben¨otigt wird.
34
2 Transportprobleme
2.2.1
Rechenschema
Die Durchf¨
uhrung der einzelnen Rechenschritte erfolgt in einem speziellen Tableau, das
f¨
ur unser obiges Zahlenbeispiel angeschrieben wird.
1
2
5
1
5
x11
3
x21
1
4
4
ai
x14
9
x24
15
14
7
x13
x22
2
3
2
x12
8
2
3
8
x23
4
5
x31
x32
x33
x34
10
12
9
7
bj
38
Die Kopfzeile enth¨alt 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 K¨astchen aufgeteilt. In der linken oberen Ecke eines K¨astchens werden die
Kostenkoeffizienten cij eingetragen. Die Liefermenge xij vom Lieferort i zum Bedarfsort
j wird im entsprechenden K¨astchen unten rechts eingetragen. Wird von i nach j nichts
transportiert, so bleibt das zugeh¨orige 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 u
uft werden.
¨berpr¨
2.2.2
Nord-West-Ecken-Regel
Zun¨achst wollen wir u
¨berlegen, wie eine Basisl¨osung des Transportproblems aussieht, d.
h. wieviele der insgesamt m · n Entscheidungsvariablen ungleich Null sind. Aus der allgemeinen Fragestellung bei linearen Optimierungsproblemen wissen wir, dass die Anzahl der
Basisvariablen (Zahl der Variablen mit positiven Werten) gleich der Zahl der Nebenbedingungen ist. Ein Transportproblem besitzt m + n Nebenbedingungen, von denen jedoch
eine wegen der Gleichgewichtsbedingung
m
n
ai =
i=1
bj
j=1
u
ussig ist. Es liegen also m + n − 1 linear unabh¨angige Nebenbedingungen vor. Bei
¨berfl¨
einer nichtentarteten Basisl¨osung nehmen daher (m + n − 1) Variable Werte ungleich Null
an; die u
¨brigen sind Null. Zur Bestimmung einer solchen zul¨assigen L¨osung gibt es mehrere
2.2 Transportalgorithmus
35
Methoden. Hier sei nur die einfachste Methode, die sogenannte Nord-West-Ecken- Regel
erl¨autert.
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 Erg¨anzung zu b1 eintragen, ist auch die erste Spalt erledigt. Dabei ist zu beachten,
dass durch diesen Eintrag nicht die zweite Zeilenbedingung verletzt wird. Wir k¨onnen
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 erf¨
ullt und wir k¨onnen zum Feld (2,2) u
¨bergehen. H¨atte sich bei der Belegung
des ersten Feldes (1,1) als Minimum min(a1 , b1 ) = b1 ergeben, so h¨atte man in der oben
beschriebenen Prozedur nur die Bedeutung von Zeile und Spalte vertauscht.
Wichtig ist, dass bei jedem Schritt die maximal m¨ogliche Menge zugeordnet wird. Damit
ist gew¨ahrleistet, dass bei jedem Schritt genau eine Zeilen- oder Spaltenbedingung erf¨
ullt
wird. Tritt einmal, außer bei der Belegung des rechten unteren Feldes, der Fall ein, dass
mit einer Zuteilung gleichzeitig eine Zeilen- und Spaltenbedingung erf¨
ullt wird, so liegt
2
eine Entartung vor . Ansonsten erh¨alt man bei dieser Vorgehensweise genau m + n − 1
belegte Felder.
Im Entartungsfall werden zun¨achst weniger Felder belegt. Wir markieren dann noch Null”
felder“ um formal (m + n − 1) linear unabh¨angige Basisl¨osungen zu erhalten. Dies ist
Voraussetzung f¨
ur die sp¨ater zu behandelnde Stepping-Stone-Methode“ bei der L¨osung
”
des Optimierungsproblems.
1
2
5
1
5
4
2
ai
7
9
8
2
9
3
1
2
1
12
4
10
8
2
4
3
bj
3
12
15
5
7
7
9
7
14
38
Es handelt sich, wie man leicht kontrollieren kann, um eine zul¨assige Basisl¨osung. Die
2
Entartung: auch eine der Basisvariablen nimmt den Wert Null an.
36
2 Transportprobleme
Zielfunktion f¨
ur diese L¨osung hat den Wert
K = 5 · 9 + 8 · 1 + 3 · 12 + 1 · 2 + 4 · 7 + 5 · 7 = 154 .
2.2.3
Optimalit¨
atstest
Wir wollen nun feststellen, ob sich die gefundene L¨osung noch verbessern l¨asst. Zu die¨
sem Zweck berechnen wir f¨
ur jedes nicht besetzte Feld die Anderung
der Zielfunktion
K, die sich beim Transport einer Einheit u
urde. Da¨ber die betreffende Route ergeben w¨
bei ist zu beachten, dass eine Ver¨anderung der Besetzung in einem zun¨achst leeren Feld
Ver¨anderungen in anderen Feldern nach sich ziehen wird. Es sind ja die diversen Zeilenund Spaltenbedingungen einzuhalten. Innerhalb einer Zeile (Spalte) kann die Zuteilung
zu einem Feld nur erh¨oht werden, wenn bei einem anderen Feld derselben Zeile (Spalte) eine entsprechende Verminderung erfolgt. Da bei jeder Ver¨anderung aber stets eine
Zeilen- und Spaltenbedingung ber¨
uhrt wird, kann eine zul¨assige Umverteilung nur auf einem geschlossenen Verteilweg erfolgen. Die Konstruktion eines geschlossenen Verteilwegs
f¨
ur ein bestimmtes Nichtbasisfeld erfolgt so, dass man von einem Feld ausgehend abwechselnd in horizontaler bzw. vertikaler Richtung ausschließlich Basisfelder (d. h. besetzte
Felder) anspringt“, bis man am Ende wieder zum Ausgangsfeld zur¨
uckkommt. Ist man
”
vom Ausgangsfeld waagrecht auf ein Basisfeld gesprungen, so muss der R¨
ucksprung zum
Ausgangsfeld vertikal erfolgen und umgekehrt. F¨
ur jedes Nichtbasisfeld (leeres Feld) existiert genau ein solcher geschlossener Verteilweg. Man u
¨berlegt sich nun zun¨achst, 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 Gr¨oße ver¨andert werden, ergibt sich die auf
der neuen“ Route m¨ogliche Transportmenge aus dem Minimum der beim Ansprung zu
”
reduzierenden Felder. Damit ist auch gew¨ahrleistet, dass ein bisher belegtes Feld zu Null
wird, d. h. die Basis verl¨asst.
Das folgende Tableau zeigt, welche Felder beim geschlossenen Verteilweg anzuspringen
sind, wenn das Feld (1,4) X ver¨andert werden soll. Die anzuspringenden Felder sind
grau unterlegt. Dabei sind die dunkelgrau unterlegten Felder zu vermindern, w¨ahrend die
hellgrauen Felder vergr¨oßert werden.
Prinzipiell w¨aren auch noch andere Umverteilungen m¨oglich, bei denen Nichtbasisfelder
angesprungen werden. Die hier beschriebene Methode garantiert, dass auch bei dieser
Selbstbeschr¨ankung“ das Optimum erreicht wird. Damit ist es m¨oglich f¨
ur alle leeren
”
Felder genau einen m¨oglichen Verteilweg anzugeben und die dabei entstehenden Kosten
zu bestimmen.
2.2 Transportalgorithmus
1
2
5
1
37
5
3
4
2
7
9
8
2
X
3
1
2
1
12
4
10
12
9
8
2
4
3
bj
ai
15
5
7
7
9
7
14
38
Die Ver¨anderung des Zielfunktionswerts K bei Belegung des betreffenden Feldes um eine
Einheit erh¨alt man, indem man die Kostenkoeffizienten der angesprungenen Felder abwechselnd addiert und subtrahiert – je nachdem ob das betreffende Feld vergr¨oßert oder
verkleinert wird. F¨
ur 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.
F¨
ur die anderen Nichtbasisfelder (leeren Felder) ergeben sich folgende Wege und Kostendifferenzen.
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 Verbesserungsm¨oglichkeiten. Aus
den Feldern mit negativer Bewertung w¨ahlen wir das mit dem absolut h¨ochsten Betrag3
aus. Dem neuen Basisfeld soll nun die maximal m¨ogliche Menge zugeordnet werden. Dies
ist die kleinste Transportmenge, die in einem waagrecht angesprungenen Feld auf dem
3
Diese Auswahlverfahren garantiert keineswegs das schnellste Erreichen des Optimum. Es gibt aufwendigere, daf¨
ur aber effizientere Auswahlverfahren. Ebenso kann bereits beim Bestimmen einer ersten
Basisl¨osung die Kostenmatrix ber¨
ucksichtigt werden.
38
2 Transportprobleme
zugeh¨origen Verteilweg zur Verf¨
ugung steht.
min(x3,3 ; x2,1 ) = min(7; 1) = 1
Die neue Basisl¨osung erh¨alt man, indem man das ermittelte Minimum (1) in das neue Basisfeld einsetzt und die auf dem geschlossenen Verteilweg angesprungenen Felder ver¨andert.
Dabei werden die waagrecht angesprungenen Felder um diese Menge vermindert und die
vertikal angesprungenen Felder entsprechend erh¨oht. 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 unver¨andert.
Man beginnt nun wieder mit dem Optimaltit¨atstest und setzt das Verfahren so lange fort,
bis keine negativ bewerteten Felder mehr vorhanden sind. Das betreffende Tableau stellt
dann die optimale L¨osung des Transportproblems dar. Wir wollen diese Schritte f¨
ur unser
Ausgangsproblem nochmals im Zusammenhang darstellen. Dabei wird auch der theoretische Hintergrund sichtbar. Es werden stets genau 4+3-1 = 6 Transportwege benutzt.
Dies entspricht genau der Anzahl der Freiheitsgrade des zugeh¨origen linearen Gleichungssystems. Bei n Kunden und m Lieferanten gibt es zun¨achst n · m Variable. Bei einem
geschlossenen Trtansportproblem m¨
ussen (n + m − 1) Nebenbedingungen erf¨
ullt sein. Daher besitzt das Problem n·m−(n+m−1) Freiheitsgrade. Damit k¨onnen n·m−(n+m−1)
Variable Null gesetzt werden. Die u
¨brigen (n + m − 1) sind dann Basisvariable, die i. A.
Werte ungleich Null annehmen.
1
2
5
1
5
9
8
2
bj
5
1
4
2
3
2
3
3
7
4
1
12
4
ai
8
9
6
15
14
8
2
4
5
-9
-2
7
7
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 Transport) eingetragen. Wir w¨ahlen unter den negativ bewerteten Feldern dasjenige mit dem
h¨ochsten Absolutbetrag, also Feld (3,1), aus. Auf dem zugeh¨origen 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 vergr¨oß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. Daf¨
ur wird x3,1 Basisvariable.
Die Bewertungen der neuen Basisl¨osung sind wieder in der rechten unteren Ecke der Nichtbasisfelder vermerkt.
1
2
5
5
1
9
8
-4
9
2
ai
7
-5
1
-1
9
6
15
14
8
12
4
3
4
2
3
2
bj
3
3
4
5
1
-2
6
7
10
12
9
7
38
K2 = 5 · 9 + 3 · 12 + 1 · 3 + 2 · 1 + 4 · 6 + 5 · 7 = 145 .
Feld (1,3) zeigt die h¨ochste Einsparung pro umverteilte Einheit. Die Felder auf dem zugeh¨origen 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
5
1
5
3
8
2
bj
1
4
4
2
3
2
3
3
7
6
1
12
4
ai
-1
9
1
15
14
8
3
4
5
7
3
5
7
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 k¨onnen maximal min(x1,1 ; x3,4 ) =
min(3;7) = 3 Einheiten umverteilt werden. Der Umverteilweg ist wieder grau unterlegt.
x1,1 verl¨asst die Basis.
40
2 Transportprobleme
1
2
5
1
5
1
8
2
bj
1
5
4
2
3
2
3
3
7
6
1
12
4
ai
3
9
2
15
14
8
3
4
5
10
2
4
4
10
12
9
7
38
Im letzen Tableau sind nur noch positive Bewertungen zu finden, d. h. das Tableau repr¨asentiert die optimale L¨osung x∗ .
x∗1,3 = 6 Einheiten
x∗2,2 = 12 Einheiten
x∗3,1 = 10 Einheiten
x∗1,4 = 3 Einheiten
x∗2,3 = 3 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 repr¨asentieren die transporte von den
Fabriken Fi zu den Kunden Kj . Liegt kein Entartungsfall vor, so sind zur Beschreibung
genau (m + n − 1) Pfeile notwendig.
K4
❖
K3
✐
K2
✼ ❑
3
6
F1
K1
✻
✕
3
12
F2
4
10
F3
Mit etwas Phantasie k¨onnen wir versuchen, die gegenseitige Lage der Kunden und Fabriken
auf einer fiktiven Landkarte aufzuzeichnen. Es ist auff¨allig“, dass jede der drei Fabriken
”
zwei Kunden in ihrer N¨ahe 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 K¨astchen vermerkt.
42
2 Transportprobleme
K4
F1
3
6
K3
4
3
F3
F2
10
12
K1
K2
optimale L¨osung
K4
7
F3
7
K3
2
F2
12
K2
1
K1
9
F1
Startl¨osung
An dieser Stelle ergeben sich Verbindungen zur sogenannten Graphentheorie. Ein Graph besteht aus einer Knotenmenge (Fabriken und Kunden) und
einer Menge von verbindenden Kanten (Transportwege). Die hier interessierende Struktur besitzt f¨
ur n Knoten
genau n − 1 Kanten. Werden zus¨atzlich geschlossene Wege (Zyklen) ausgeschlossen, so bezeichnet man diese
Struktur als Baum.
Man kann zeigen, dass sich jede Basisl¨osung des Transportproblems als
Baum darstellen l¨asst. Dies folgt aus
der Tatsache, dass zu den n − 1 linear unabh¨angigen Nebenbedingungen
des Transportproblems n − 1 Basisvariable geh¨oren. Diese sind als Kanten in
einem Graph deutbar.
F¨
ur die Startl¨osung in unserem Beispiel
hat der zugeh¨orige Baum die nebenstehende Struktur.
Aus einer vorgebenen Struktur von
Knoten und Kanten, die abwechselnd
als Fabriken und Kunden gedeutet werden, lassen sich auch die zur Erf¨
ullung
der Nebenbedingungen notwendigen
Transportmengen bestimmen. Wegen
der Nichtnegativit¨atsbedingung sind
nat¨
urlich nicht alle B¨aume als Transportprobleme bei vorgegebenen Restriktionen deutbar.
2.2 Transportalgorithmus
2.2.4
43
Fiktive Quellen und Senken
H¨aufig ist die zur Anwendung des Transportalgorithmus notwendige Bedingung
m
n
ai =
bj
i=1
j=1
nicht erf¨
ullt. Die im System verf¨
ugbare Menge ist also entweder gr¨oßer (Fall 1) oder kleiner
(Fall 2) als die insgesamt ben¨otigte Menge. Man kann diese Ungleichheit jedoch mit einem
einfachen Trick beheben, indem man fiktive Abnehmer bzw. Fabriken einf¨
uhrt.
¨
Fall 1: Uberkapazit¨
at
Die liefernden Fabriken produzieren mehr als die Kunden abnehmen k¨onnen. Wir f¨
uhren
¨
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 f¨
uhren deshalb einen fiktiven Kunden Nr.
5 ein, dessen Bedarfsmenge der Differenz
m
n
ai −
bj = 41 − 38 = 3
i=1
j=1
entspricht. Wenn wir die zugeh¨origen Kostenkoeffizienten Null setzen, ergibt sich mit der
Nord-West-Ecken-Regel die folgende zul¨assige Basisl¨osung.
1
2
5
1
5
4
2
5
7
ai
0
9
8
2
9
3
1
2
1
12
4
10
8
12
0
2
4
3
bj
3
15
5
0
7
7
3
9
7
3
17
41
Die Optimierung kann nun wie im Standardfall durchgef¨
uhrt werden und liefert als optimale L¨osung:
44
2 Transportprobleme
1
2
5
5
3
4
2
1
5
7
0
6
8
3
2
1
12
2
3
4
3
8
4
15
5
0
7
10
12
9
9
0
3
10
bj
ai
7
17
3
41
F¨
ur 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 f¨allt kleiner aus als beim urspr¨
unglichen Transportproblem ohne den
¨
fiktiven Kunden Nr. 5. Durch Uberkapazit¨
at ergibt sich zus¨atzlicher planerischer Spielraum, der zu einer Minimierung der Kosten f¨
uhrt. Dabei werden die eventuell anfallenden
Lagerkosten nicht ber¨
ucksichtigt.
Fall 2: Unterkapazit¨at
Die liefernden Fabriken produzieren weniger als die Kunden abnehmen k¨onnen. Wir f¨
uhren
deshalb eine fiktive Fabrik ein, die den Fehlbedarf erzeugt. Die den Kunden von der fiktiven
Fabrik gelieferten Mengen sind f¨
ur 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 f¨
uhren deshalb eine fiktive Fabrik Nr. 4 ein,
dessen Produktionsmenge der Differenz
n
m
bj −
j=1
a1 = 42 − 38 = 4
i=1
entspricht. Wenn wir die zugeh¨origen Kostenkoeffizienten Null setzen, ergibt sich mit der
Nord-West-Ecken-Regel die folgende zul¨assige Basisl¨osung.
2.2 Transportalgorithmus
1
45
2
5
3
5
1
4
2
ai
7
9
8
9
3
2
5
2
1
8
10
4
15
4
3
5
2
0
0
9
0
14
14
4
4
0
4
bj
3
12
9
7
42
Wir optimieren wieder mit dem Standardverfahren und erhalten als optimale L¨osung das
Tableau:
1
5
2
5
3
4
2
1
7
6
8
3
2
1
12
2
3
4
3
3
4
15
5
14
0
0
0
4
4
14
9
8
14
0
bj
ai
12
9
7
4
42
F¨
ur 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
zus¨atzlicher planerischer Spielraum. Dies f¨
uhrt ebenso zur Kostenreduktion, wenn eventuelle Fehlbedarfskosten nicht ber¨
ucksichtigt 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 Fehlmengenkosten beim Fall 2 f¨
ur alle Produktionsst¨atten 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 h¨aufig zus¨atzlichen einschr¨ankenden Bedingungen, welche mit dem Transportalgorithmus nicht unmittelbar ber¨
ucksichtigt werden
k¨onnen. Durch Manipulation der Kostenmatrix lassen sich jedoch einige dieser Restriktionen auf einfache Weise erfassen. Dies sei an zwei Beispielen erl¨autert.
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 L¨osung, welche die betreffenden Felder
(wegen der hohen Kosten) nicht belegt.
Zur Illustration nehmen wir bei unserem Eingangsbeispiel an, dass die Route von der Fabrik F2 zum Kunden K2 gesperrt ist. Wir ersetzen den entspechenden Kostenkoeffizienten
c2,2 durch den Wert 30 und erhalten das folgende Tableau.
1
2
5
1
3
5
2
ai
7
9
8
2
9
30
1
2
1
12
4
10
8
2
4
3
bj
4
12
15
5
7
7
9
7
14
38
Durch Anwendung des Optimierungs-Algorithmus ergibt sich die L¨osung:
2.2 Transportalgorithmus
1
5
47
2
3
5
1
2
7
30
9
1
2
8
9
2
bj
ai
9
8
3
4
4
4
10
3
10
12
6
15
1
14
5
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 zus¨atzliche Bedingung, eine Route nicht zu benutzen, schr¨ankt den planerischen
Spielraum ein und f¨
uhrt deshalb zu h¨oheren 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 Umst¨anden vollst¨andig beliefert werden.
Der formale Ausgleich zwischen Angebot und Nachfrage erfolgt wieder durch Einf¨
uhrung
einer fiktiven Fabrik. Die von dieser Fabrik gelieferten Mengen stellen in Wirklichkeit Fehlmengen beim belieferten Kunden dar. Wir k¨onnen somit die Forderung nach vollst¨andiger,
realer Belieferung eines bestimmten Kunden umwandeln in ein Verbot der Route von der
fiktiven Fabrik zu diesem Kunden. Wir erzwingen die Einhaltung dieser Bedingung (analog zur vorangegangenen Problematik) dadurch, indem wir das betreffende Kostenfeld mit
einem fiktiven hohen Wert belegen.
Dies sei wieder am Eingangsbeispiel erl¨autert. Soll z. B. der Kunde K4 vollst¨andig beliefert
werden, so m¨
ussen 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
5
3
5
4
2
7
1
6
8
3
2
1
3
4
3
3
4
15
5
14
0
14
0
0
50
4
4
bj
9
8
12
2
ai
14
12
9
7
4
42
Das optimale Tableau hat die folgende Gestalt:
1
2
5
3
5
2
1
3
2
2
3
4
5
5
4
15
5
2
0
0
2
2
14
12
9
8
12
0
bj
1
10
ai
7
4
8
4
4
14
50
4
9
7
42
Wie zu erwarten war, ist das Feld (4,4) nicht belegt. F¨
ur die minimalen Kosten K ∗ gilt:
K ∗ = 2 · 4 + 7 · 5 + 3 · 10 + 1 · 5 + 2 · 12 + 5 · 2 0 · 2 + 0 · 2 = 112 .
¨
bez¨
uglich der KosBemerkung In manchen Situationen ist auch die folgende Uberlegung
tenmatrix hilfreich: Addiert oder subtrahiert man bei der Kostenmatrix von s¨amtlichen
Elementen einer Zeile oder Spalte dieselbe Zahl, so erh¨alt man ein ¨aquivalentes Optimierungsproblem. Dadurch ver¨andern sich die Kosten aller Wege von einer Fabrik bzw. zu
einem Kunden um denselben Betrag. Die Auswahl der Entscheidungsvariablen wird davon
nicht ber¨
uhrt, da ja die gesamte Kapazit¨at einer Fabrik bzw. Nachfrage eines Kunden
gleichm¨aßig betroffen ist.
2.3 Umladeprobleme
2.3
49
Umladeprobleme
Wir betrachten nun ein Transportproblem mit Zwischenlagern Zr . Mit einem kleinen Trick
k¨onnen wir diese Fragestellung mit den zuvor behandelten Methoden l¨osen. Wir betrachten die Zwischenlager gleichzeitig als Fabriken und Kunden. F¨
ur 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 beschr¨ankt sein. Wir erl¨autern diese
Vorgehensweise an unserem Eingangsbeispiel auf Seite 30, indem wir zwei Zwischenlager hinzuf¨
ugen. Transporte zwischen Z1 und Z2 seien verboten. Dies wird durch einen
entsprechend hohen Eintrag (20) in der Kostenmatrix erreicht.
Abnehmer Nr.
Zwischenlager Nr.
2
3
4
1
2
Transportkosten/Einheit
1
Fabrik/Lager Nr.
1
2
3
1
2
5
8
2
2
1
5
3
4
1
2
2
1
4
3
1
7
8
5
4
3
1
2
1
0
20
1
1
2
20
0
Bedarf
10
12
9
7
10
50
Kapazit¨at
9
15
14
10
50
98
Das Standardverfahren zur Optimierung ergibt das nachfolgende Tableau.
K1
5
K2
5
K3
2
K4
7
Z1
1
Z2
1
F1
8
3
F2
2
2
F3
4
2
5
9
4
15
1
9
4
9
1
2
10
1
Z1
3
4
0
14
20
10
1
bj
8
4
2
Z2
1
ai
2
10
1
3
6
10
20
0
7
12
9
7
37
10
50
50
98
50
2 Transportprobleme
Der Eintrag 37 im Feld (5,5) stellt einen fiktiven Transport innerhalb des Zwischlagers
Z2 dar, um die Kapazit¨at von 50 zu erf¨
ullen. Da die Kostenmatrix an dieser Stelle den
Eintrag Null hat, ist dies ohne Einfluss auf die Transportkosten. Der Eintrag von 50 f¨
ur
die Kapazit¨at von Z2 soll eine f¨
ur unsere Fragestellung unbeschr¨ankte Aufnahmekapazit¨at ausdr¨
ucken. Die vorgegebene Kapazit¨at von 10 f¨
ur Z1 wird voll ausgesch¨opft. 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
l¨asst sich wie folgt skizzieren:
F¨
ur die Erledigung von n Aufgaben stehen genauso viele Mittel (Arbeiter, Maschinen, etc.)
zur Verf¨
ugung. Grunds¨atzlich kann jedes Mittel zur Erf¨
ullung jeder Aufgabe eingesetzt
werden. Doch ist nicht jedes Mittel f¨
ur jede Aufgabe gleich gut geeignet. Diese spezifische
Eignung sei quantitativ fassbar und wird durch eine Matrix analog der Kostenmatrix
ausgedr¨
uckt. Gesucht ist diejenige Zuordnung der n Mittel zu den n Aufgaben, bei der
die Summe der Eignungskoeffizienten ihr Optimum erreicht. Dabei ist zu ber¨
ucksichtigen,
dass jede Aufgabe erledigt werden muss und jedes Mittel genau einmal eingesetzt werden
kann.
Intuitiv w¨
urde man zun¨achst versuchen, jeder Aufgabe das f¨
ur sie am besten geeignete
Mittel zuzuordnen. Da es aber bei dieser Strategie in der Regel Zielkonflikte gibt (ein Mittel ist z. B. f¨
ur mehrere Aufgaben am besten geeignet) f¨
uhrt diese Vorgehensweise in der
Regel zu keiner optimalen L¨osung. Auch der Gedanke, die beste L¨osung durch Aufz¨ahlen
aller M¨oglichkeiten und anschließendem Kostenvergleich zu ermitteln, l¨asst sich bei gr¨oßeren Problemen in der Praxis nicht durchf¨
uhren. Die Anzahl der zul¨assigen L¨osungen f¨
ur
ein n · n-Problem betr¨agt n! und u
ur leistungsf¨ahige Rechner die
¨bersteigt damit auch f¨
Kapazit¨at. (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 f¨
ur 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. (Andernfalls l¨asst sich dies durch Addition einer Konstanten zur gesamten Eignungsmatrix erreichen.) Die xi,j sind Auswahlvariable, die nur die Werte Null und Eins annehmen k¨onnen.
Wir legen fest:
xi,j = 1
⇔
wenn das Mittel i der Aufgabe j zugeordnet wird, andernfalls xi,j = 0
Damit l¨asst sich die Aufgabenstellung wie folgt beschreiben:
Man bestimme das Minimum der Funktion
n
n
Z =
ci,j · xi,j
i=1 j=1
unter den Nebenbedingungen
n
xi,j = 1
f¨
ur alle
j = 1, 2, . . . , n
xi,j = 1
f¨
ur alle
i = 1, 2, . . . , n
i=1
n
j=1
xi,j =
1
0
Die Nebenbedingungen bewirken, dass nur solche L¨osungen des Zuordnungsproblems zul¨assig 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
4
5
2
5
4
2
1
1
5
1
4
stellt die Entscheidungsmatrix


0 1 0 0
 1 0 0 0 


X = (xi,j ) = 

 0 0 1 0 
0 0 0 1
3
2
1
5





Mittel
1
2
3
4
Aufgabe
2
1
3
4
entspricht der Zuordnung
eine zul¨assige L¨osung dar – in jeder Zeile und Spalte steht genau eine Eins.
Der (keineswegs optimale) Wert der Zielfunktion f¨
ur diese L¨osung betr¨agt:
Z = 5 + 4 + 1 + 5 = 15
52
2 Transportprobleme
In der oben formulierten Gestalt kann das Zuordnungsproblem als spezielles Transportproblem interpretiert werden. Man setzt m = n und ai = 1 f¨
ur i = 1, 2, . . . , n sowie bj = 1
f¨
ur j = 1, 2, . . . , n. Die grunds¨atzlich m¨ogliche L¨osung des Zuordnungsproblems mit dem
Transportalgorithmus ist jedoch vergleichsweise m¨
uhsam. Ein spezieller Algorithmus f¨
ur
das Zuordnungsproblem ist wesentlich schneller.
Die L¨osung des Zuordnungsproblems besteht in der Aufgabe, aus den n · n Koeffizienten
der Eignungsmatrix C diejenigen n Elemente auszuw¨ahlen, deren Summe das erreichbare
Minimum darstellt. Dabei m¨
ussen die ci,j so gew¨ahlt 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 F¨allen n Nullelemente in der Eignungsmatrix stehen. Zuhilfe kommt uns hier
die schon erw¨ahnte 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
4
5
2
5
4
2
1
1
5
1
4
3
2
1
5





Wir subtrahieren von der ersten Spalte die Zahl Zwei, von den u
¨brigen Spalten wird Eins
abgezogen.



C1 = (cij ) = 

0
2
3
0
4
3
1
0
0
4
0
3
2
1
0
4





Es sind zwar gen¨
ugend Nullen entstanden, aber leider nicht in der verwertbaren Anordnung. Die in der zweiten Zeile befindet sich keine Null. Deshalb subtrahieren wir noch von
der zweiten Zeile die Zahl Eins.


0
4
0
2
 1
0 
2
3


C2 = (cij ) = 

 3
1
0
0 
0
0
3
4
Die als Basiselemente ausgew¨ahlten Variablen sind eingerahmt. Dies entspricht der folgenden Entscheidungsmatrix:
2.4 Zuordnungsproblem



X = (xi,j ) = 

1
0
0
0
0
0
0
1
53
0
0
1
0
0
1
0
0





Mittel
1
2
3
4
Aufgabe
1
4
3
2
entspricht der Zuordnung
Das Minimum erhalten wir durch Einsetzen der Zuordnung in die urspr¨
ungliche Eignungsmatrix:
Z∗ = 2 + 2 + 1 + 1 = 6
Es stellt sich nun die Frage, ob diese Strategie stets zum Ziel f¨
uhrt. Wie wir beim n¨achsten
Beispiel sehen werden, muss diese Subtraktionsmethode noch etwas modifiziert werden.4


8 7 2 5 3


 3 5 11 12 7 



Beispiel 2.3:
C = (cij ) = 
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.


6 5 0 3 1


 0 2 8 9 4 



C1 = (cij ) = 
 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 f¨
ur solche Spalten aktuell, die noch
keine Null enthalten. Damit ergibt sich auch in der vierten Spalte ein Nullelement.


6
5
0
3
0


 0
2
8
9
3 




C2 = (cij ) =  6
4
2
0
1 


 1
0
5
8
6 


6
5
2
0
2
Schritt 3: Es ist nun zu pr¨
ufen, ob in jeder Spalte und Zeile genau eine Null ausgew¨ahlt
werden kann, d. h. ob n linear unabh¨angige Entscheidungsvariable mit Eins belebt werden
4
In der Literatur wird dieses Verfahren als ungarische Methode bezeichnet; benannt nach den ungarischen Mathematikern Egervary und K¨onig.
54
2 Transportprobleme
k¨onnen. Dies ist bei der Matrix C2 nicht der Fall. Die weiß eingerahmten Nullen sind
linear unabh¨angig, w¨ahrend die beiden grau unterlegten Nullen davon abh¨angig sind.
Die Pr¨
ufung auf lineare Unabh¨angigkeit erfolgt
mittels eines sogenannnten Deckliniensystems. Die
ausgew¨ahlten Nullen werden mit horizontalen und
vertikalen Decklinien“ u
¨berdeckt. Werden dazu
”
genau n Linien ben¨otigt, so liegt lineare Unabh¨angigkeit vor. In unserem Fall ist dies offensichtlich nicht der Fall. Es reichen vier Linien aus
um alle Nullelemente zu u
¨berdecken.
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 4: Durch geschicktes Subtrahieren m¨
ussen 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 unver¨andert
bleiben und die Elemente auf den Kreuzungspunkten um die im vorangegangenen
Schritt bestimmte Zahl (bei unserem Beispiel: 1) vergr¨oßert werden.




C3 = (cij ) = 



7
0
6
2
6
0
7
1
5
1
5
1
3
0
4
4
9
0
9
0
0
2
0
6
1








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
Schritt 4 ergab eine zus¨atzliche Null. Der Test f¨
ur die lineare Unabh¨angigkeit mittels
Decklinien verl¨auft positiv. Wir w¨ahlen die weiß unterlegten Nullen als Basis f¨
ur unsere
Entscheidungsmatrix




X = 



0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0








Mittel
1
2
3
4
5
Aufgabe
3
1
5
2
4
entspricht der Zuordnung
2.4 Zuordnungsproblem
55
Die Kostensumme f¨
ur das Optimum ergibt sich zu:
Z ∗ = 2 + 3 + 6 + 1 + 9 = 21
Falls sich keine n linear unabh¨angige Nullvektoren“ ergeben, sind die Schritte 3 und 4 zu
”
wiederholen.
Maximierung statt Minimierung
Ein Zuordnungsproblem, dessen Zielfunktion zu maximieren ist, kann mit den vorhandenen Hilfsmitteln dadurch gel¨ost werden, dass man die Maximierungsaufgabe durch eine
¨aquivalente Minimierungsaufgabe ersetzt.
!
xi,j · ci,j = Max
z =
⇔
!
xi,j · (−ci,j ) = Min
z =
i,j
i,j
Die Eignungsmatrix des ¨aquivalenten Minimierungsproblems ist die mit dem Fakltor (−1)
multiplizierte Eignungsmatrix der Maximierungsaufgabe. Um wieder eine Matrix mit positiven Koeffizienten zu erhalten, addieren wir eine gen¨
ugend 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 =
xi,j · ci,j = = Max
i,j

3 2 5


C = (cij ) =  −1 2 3  ;
6 4 4


−3 −2 −5


(−1) · C =  1 −2 −3 
−6 −4 −4




1 1 1
3 4 1



˜ = 
(−1) · C + 6 ·  1 1 1  = C
 7 4 3 
1 1 1
0 2 2

Zeilen- und Spaltenreduktion ergibt bereits die optimale Matrix:






2 3 0
2 2 0
3 4 1






❀ C∗ =  4 0 0 
❀  4 1 0 
 7 4 3 
0 2 2
0 2 2
0 1 2
Die zugeh¨orige

0 0

X =  0 1
1 0
Entscheidungsmatrix

1

entspricht der Zuordnung
0 
0
Das Maximum der Bewertungsfunktion z ergibt sich zu:
Mittel
1
2
3
Aufgabe
3
2
1
z = 6 + 2 + 5 = 13
56
3
3 Dynamische Optimierung
Dynamische Optimierung
Mit Hilfe der bisher entwickelten Verfahren sind wir in der Lage, sogenannte einstufige
Entscheidungsprozesse zu optimieren. Einstufig heißen Entscheidungsprobleme, wenn es
m¨oglich ist, sie in zeitlicher und sachlicher Hinsicht von anderen Entscheidungsproblemen
zu isolieren. In zunehmendem Maße sieht man sich jedoch mit immer komplexeren Problemen konfrontiert, welche eine Abfolge von einander wechselseitig beeinflussenden Entscheidungen notwendig macht. Die dynamische Optimierung (DO) bietet L¨osungsm¨oglichkeiten
f¨
ur Entscheidungsprobleme bei denen eine Folge voneinander abh¨angiger Entscheidungen
getroffen werden muss. Die Folge dieser Entscheidungen soll ein Optimum f¨
ur den Gesamtprozess ergeben. Das Besondere an der dynamischen Optimierung liegt also in der
sequentiellen L¨osung eines in mehrere Perioden (Stufen) aufgeteilten Entscheidungsprozesses, 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 Optimalit¨at einer jeden
Einzelentscheidung nicht unmittelbar, sondern erst im Zusammenhang mit den u
¨brigen
Entscheidungen beurteilt werden kann. F¨
ur Anwender ist die dynamische Optimierung ein
weitaus schwierigeres Teilgebiet des Operation Research als etwa die lineare Optimierung.
Die Gr¨
unde hierf¨
ur liegen sowohl in der geeigneten Modellwahl als auch in der Auwahl des
geeigneten L¨osungsverfahrens f¨
ur die Optimierung.
Beispiel 3.1: Wir betrachten ein Bestellmengenproblem. Hierbei sind die Stufen, in die
der L¨osungsprozess unterteilt werden kann, Zeitperioden. Die Einkaufsabteilung eines Unternehmens muss f¨
ur vier aufeinanderfolgende Perioden eine bestimmte, in jeder Periode
gleiche Menge eines Rohstoffes bereitstellen.
Die Einkaufspreise unterliegen saisonalen Schwankungen; sie
seien aber f¨
ur jede Periode bekannt und k¨onnen der nebenstehenden Tabelle entnommen werden. Der Lieferant kann,
Periode k
1 2
3
4
Preis qk
Bedarf bk
7 9
1 1
12
1
8
1
bei vernachl¨assigbarer Lieferzeit, in einer Periode maximal den Bedarf f¨
ur zwei Perioden
liefern. Die Lagerkapazit¨at ist ebenfalls auf den Bedarf von zwei Perioden beschr¨ankt. 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 m¨oglichst geringe Beschaffungskosten entstehen?
3.1 Darstellung mehrstufiger Entscheidungsprozesse
3.1
57
Darstellung mehrstufiger Entscheidungsprozesse
Der Einfachheit halber wollen wir von einer zeitlichen Strukturierung der Entscheidungsprozesse ausgehen. Wir betrachten einen Entscheidungsprozess in den diskreten Zeitpunkten 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
zi1 , zi2 , . . . , ziM , zusammengefasst im Zustandsvektor zi , beschrieben. Die Zustandsvariablen m¨
ussen so gew¨ahlt 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 k¨onnen wir den Prozess durch eine Entscheidung beeinflussen. Zur Beschreibung dieser Entscheidung dienen die Entscheidungsvariablen x1i , x2i , . . . , xN
i , zusammengefasst im Entscheidungsvektor xi . Durch die
Entscheidung xi geht das System vom Zustand zi−1 in den Zustand zi u
¨ber. Da der
Endzustand zi der Stufe i vom Anfangszustand zi−1 und von der Entscheidung xi
abh¨angt, k¨onnen 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.
Entscheidung
xi
❄
Anfangszustand zi−1
✲
System
❄
Beitrag zum Kriterium
Ki = gi ( zi−1 , xi )
✲
Endzustand zi = hi ( zi−1 , xi )
58
3 Dynamische Optimierung
Die Verkettung der Stufen (Perioden) u
¨ber den gesamten Prozessverlauf soll die nachfolgende Skizze deutlich machen.
x1
z0✲
x2
❄
z1✲
1
xn−1
xi
❄
z3✲
2
...
zi−1✲
❄
i
zi✲
zn−2✲
...
❄
n−1
xn
zn−1
✲
❄
n
❄
❄
❄
❄
❄
K1
K2
Ki
Kn−1
Kn
zn✲
F¨
ur unser Eingangsbeispiel ergibt sich folgende Konkretisierung als Graph. An den Entscheidungspfeilen ist die Entscheidungsvariable xi und Beitrag Ki zum Entscheidungskriterium als Wertepaar (xi , Ki ) vermerkt. Die Zust¨ande zi sind in den Knoten vermerkt.
2
✒
(0,0)
(2,18)
1
(1,9)
✒
0
✲
1
(1,12)
✒
(2,14)
(1,7)
✲
0
✒
(0,0)
(0,0)
(2,18)
(2,24)
(1,9)
❘
✲ 0
❘
✲ 1
(0,0)
(1,12)
❘
✲ 0
(1,8)
❘
✲ 0
✲
1
2
3
4
k
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 St¨orgr¨oß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 L¨osungsprinzip der dynamischen Optimierung
3.2
59
L¨
osungsprinzip der dynamischen Optimierung
Eine Folge von Entscheidungen, die einen Zustand z0 in einen Zustand zn u
uhrt,
¨berf¨
¨
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 Zust¨ande und damit die Beitr¨age zur Zielfunktion aller Stufen beeinflusst, findet man die optimale Gesamtpolitik im Allgemeinen nicht dadurch, dass man auf jeder
Stufe des Prozesses den Einzelbeitrag Ki optimiert. Ein Wegweiser f¨
ur das Auffinden des
Gesamtoptimums ist das Bellmansche Optimaltit¨atsprinzip. Es lautet verk¨
urzt:
Jede Unterpolitk einer optimalen Gesamtpolitik ist in ihrem Teilbereich wieder optimal.
oder in der Sprechweise der Mathematik ausgedr¨
uckt:
Satz: Sei x∗1 , x∗2 , . . . , x∗i−1 , x∗i , . . . , x∗n eine optimale Gesamtpolitik, die den Anfangszustand z0 in den Endzustand zn u
uhrt. Sei ferner z∗i−1 der Zustand, den das System
¨ berf¨
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 u
uhrt.
¨ berf¨
• Die Folge von Entscheidungen x∗1 , . . . , x∗i−1 ist eine optimale Teilpolitik, die das System vom Anfangsstand z0 in den Zustand z∗i−1 in Stufe i − 1 u
uhrt.
¨ berf¨
Diese Optimalit¨atsprinzip wird rekursiv angewendet. Man bildet dabei entweder vom bekannten Ausgangszustand (Vorw¨artsrechnung) oder vom geforderten Endzustand (R¨
uckw¨artsrechnung, h¨aufiger angewandt) ausgehend sukzessive optimale Unterpolitiken, zu deren
Konstruktion nur optimale Unterpolitiken niedrigerer Ordnung benutzt werden.
F¨
ur jede Einzelentscheidung xi in der Periode i, die den Zustand zi−1 in den Zustand zi
u
uhrt, bestimmen wir eine Bewertungsfunktion Fi−1 (zi−1 ). Sie berechnet sich aus dem
¨berf¨
aktuellen Beitrag Ki (xi , zi−1 ) und dem im vorangegangenen Schritt bestimmten Optimum
Fi∗ (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
Schritt 1: i = 4 Die Entscheidungsvariable x4 ist in Abh¨angigkeit der m¨oglichen z3
Zust¨ande z3 so festzulegen, dass der Endzu- 1
stand erreicht wird. Die optimale Entschei- 0
dung ist mit ∗ markiert.
durch R¨
uckw¨artsrechnen“ optimieren.
”
x4 z4 K4 (z3 , x4 )) F3 (z3 ) optimal
0
1
0
0
0
8
0
8
∗
∗
60
3 Dynamische Optimierung
Schritt 2: i = 3 Die Entscheidungsvariable x3 ist in Abh¨angigkeit der
m¨oglichen Zust¨ande z2 so festzulegen,
dass der Endzustand erreicht wird.
Die optimale Entscheidung ist mit ∗
markiert.
z2 x3 z3 K3 (z2 , x3 ) F3∗ (z3 ) F2 (z2 ) optimal
Schritt 3: i = 2 Die Entscheidungsvariable x2 ist in Abh¨angigkeit der
m¨oglichen Zust¨ande z1 so festzulegen,
dass der Endzustand erreicht wird.
Die optimale Entscheidung ist mit ∗
markiert.
z1 x2 z2 K2 (z1 , x2 ) F2∗ (z2 ) F1 (z1 ) optimal
2
1
1
0
0
0
1
0
2
1
1
1
1
0
0
Schritt 4: i = 1 Die Entscheidungsvariable x1 ist in Abh¨angigkeit vom
Startzustand z0 so festzulegen, dass
der Endzustand erreicht wird. Die optimale Entscheidung ist mit ∗ markiert.
Die Verkettung dieser Entscheidungen
1
1
0
1
0
2
1
0
2
1
0
12
0
24
12
2
1
0
1
0
0
0
8
0
8
18
9
0
18
9
0
8
20
8
20
0
12
8
24
20
18
17
20
26
29
0
0
2
1
1
0
14
7
17
26
31
33
f¨
uhrt zu der optimalen Gesamtpolitik
mit dem Optimum
F0∗ (z0 ) = 31
2
✒
(0,0)
(2,18)
1
✒
0
✲
1
(1,12)
✒
(2,14)
(1,7)
✲
0
(0,0)
(2,18)
(2,24)
❘
✲ 0
❘
✲ 1
✒
(0,0)
(1,9)
(0,0)
(1,12)
❘
✲ 0
(1,8)
❘
✲ 0
✲
1
2
∗
∗
∗
∗
z0 x1 z1 K1 (z0 , x1 ) F1∗ (z1 ) F0 (z0 ) optimal
x1 = 2; x2 = 1; x3 = 0; x4 = 1
(1,9)
∗
3
4
k
∗
3.2 L¨osungsprinzip der dynamischen Optimierung
61
Im vorangegangenen Beispiel haben wir die optimale Teilpolitik durch Auflisten aller F¨alle
bestimmt. Dies ist bei ganzzahligen Entscheidungsvariablen mit eingeschr¨anktem Bereich
m¨oglich. Sind die Entscheidungsvariable reelle Gr¨oßen, so ist f¨
ur jede Stufe ein geeignetes
Optimierungsverfahren bereit zu stellen. Dies sei am nachfolgenden Beispiel erl¨autert.
Von einem Wirtschaftsgut werde jeweils zu Beginn einer Periode eine gewisse Menge verkauft. Anschließend wachse der verbleibende Bestand bis zum Beginn der n¨achsten 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 ,
zn = 0
G(z0 , x1 , x2 , . . . , xn ) =
n
i = 1, 2, . . . , n
!
gi (zi−1 , xi ) = Max
i=1
√
Zahlenbeispiel: a = 2 ; n = 3 ; z0 = 1 ; gi (zi−1 , xi ) = xi (D.h. der Gewinn h¨angt nur
von xi ab.)
¨
Wir schreiben die Ubergangsgleichungen
und die zu optimierenden Ausdr¨
ucke 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 m¨ogliche Politik“ sei im nachfolgenden Tableau dargestellt.
”
Zustandsvariable zi
z0 =
Entscheidungsvariable xi Gewinnfunktion gi (xi )
1
z1 = 2 · 1 − 12
= 1
x1 = 12
1
2
z2 = 2 · 1 − 12
= 1
x2 = 12
1
2
z3 =
= 0
x3 = 1
2 · (1 − 1)
G( 12 , 12 , 1) =
1
2
+
1
2
+ 1 ≈ 2.41 . . .
√
1
62
3 Dynamische Optimierung
z2
z2
2
z1
z1
x2
z0
1
z0
x3
x1
z3
z3
t
L¨asst sich der Gewinn durch geschicktere“ Wahl von x1 , x2 noch optimieren?
”
Wir optimieren durch R¨
uckw¨artsrechnen und benutzen dabei die Beziehung:
Fi−1 (zi−1 ) = Fi∗ (zi ) + gi (zi−1 , xi )
Nun gilt: F3 (z3 ) = F3 (0) = F3∗ (0) = 0
Schritt 1
√
F2∗ (z2 ) = max
x3
F2 (z2 ) = F3∗ (z3 ) + g3 (z2 , x3 )
0≤x3 ≤z2
❀
√
√
= 0 + x3
=
z2 , x 3 = z2
Schritt 2
F1 (z1 ) = F2∗ (z2 ) + g2 (z1 , x2 )
√
√
z2 + x2
mit z2 = 2(z1 − x2 ) erh¨alt man daraus
=
√
=
2 · (z1 − x2 ) + x2
F1∗ (z1 ) =
max
0≤x2 ≤z1
2 · (z1 − x2 ) +
√
x2
√ !
Nebenrechnung: w(u) = c · (t − u) + u = max in 0 ≤ u ≤ t
1 =! 0 ❀
−c
+ √
w (u) =
2 c(t − u) 2 u
c
1
= √
2
u
2 c(t − u)
√
c(t − u)
c u =
c2 u = c(t − u) ❀
t
umax = c +
1
wmax =
t
c· t− c+
1
2
= c c+t1
+
t
c+1
=
t
c + 1 · (c + 1) =
(c + 1)t
3.2 L¨osungsprinzip der dynamischen Optimierung
damit gilt:
F1∗ (z1 ) =
√
63
x2 = z31
3z1 ,
Schritt 3
F0 (z0 ) = F1∗ (z1 ) + g1 (z0 , x1 )
√
√
3z1 + x1
mit z1 = 2(z0 − x1 ) erh¨alt man daraus
=
√
=
6 · (z0 − x1 ) + x1
F0∗ (z0 ) =
max
0≤x1 ≤z0
6 · (z0 − x1 ) +
√
x1
Mittels obiger Nebenrechnung (c = 6) erh¨alt man:
√
F0∗ (z0 ) = 7z0 , x1 = z70
Die optimale Politik“ ist im nachfolgenden Tableau dargestellt.
”
Zustandsvariable zi
Entscheidungsvariable xi Gewinnfunktion gi (xi )
z0 = 1
z1 = 2 · 1 − 17
= 12
7
x1 = z70 =
1
7
1
7
4
z2 = 2 · 12
7 −7
= 16
7
x2 = z31 =
4
7
4
7
16
z3 = 2 · 16
7 − 7
=
x3 = z 2 =
16
7
16
7
0
Der optimale Gewinn errechnet sich zu:
√
∗
)
=
F
Gmax ( 17 , 47 , 16
(1)
=
7·1 =
0
7
1
7
+
4
7
+
16
7
≈ 2.65 . . .
Solche Fragestellungen k¨onnen auch mit der Technik, das Maximum einer Funktion mehrerer Variabler zu bestimmen, angegangen werden. Dazu stellen wir die Gewinnfunktion
direkt in Abh¨angigkeit der Entscheidungsvariablen dar. Bei obigem Beispiel setzen wir
dazu die Transformationsgleichungen
z0 = 1
√
z1 = 2 · (z0 − x1 )
0 ≤ x1 ≤ z 0
g1 (x1 ) =
x1
√
z2 = 2 · (z1 − x2 )
0 ≤ x2 ≤ z 1
g2 (x2 ) =
x2
√
!
z3 = 2 · (z2 − x3 ) = 0
0 ≤ x3 ≤ z 2
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 Abh¨angigkeit der beiden Entscheidungsvariablen x1 , x2 .
F (x1 , x2 ) =
√
x1 +
√
x2 +
√
x3 =
√
x1 +
√
x2 +
√
4 − 4x1 − 2x2
da alle Verk¨aufe xi ≥ 0 sein m¨
ussen, gilt f¨
ur die beiden Entscheidungsvariablen x1 , x2 die
64
3 Dynamische Optimierung
Einschr¨ankung:
x1 ≥ 0 ,
0 ≤ x2 ≤ 2 − 2x1
Wir bestimmen die optimale Politik indem wir die partiellen Ableitungen Null setzen.
∂F = √1 + √
−4
∂x1
2 x1 2 4 − 4x1 − 2x2
∂F = √1 + √
−2
∂x2
2 x2 2 4 − 4x1 − 2x2
❀
√
√
4 x1 =
4 − 4x1 − 2x2
16x1 = 4 − 4x1 − 2x2
20x1 + 2x2 = 4
❀
√
√
2 x2 =
4 − 4x1 − 2x2
4x2 = 4 − 4x1 − 2x2
4x1 + 6x2 = 4
Als L¨osung des linearen Gleichungssystems
10x1 + x2 = 2
2x1 + 3x2 = 2
erh¨alt man die bekannten Werte x1 = 17 , x2 = 74 .
Die nachfolgenden Bilder sollen dieses Optimierungsprinzip deutlich machen. Auf die Problematik nichtlinearer Optimierung werden wir im n¨achsten Abschnitt genauer eingehen.
3.2 L¨osungsprinzip der dynamischen Optimierung
65
66
3.3
3 Dynamische Optimierung
Stochastische Probleme
Wir betrachten erneut unser Bestellmodell und beschr¨anken uns auf die ersten drei Perioden. Nun nehmen wir an, dass der Bedarf bi jeder Periode i gleich 1 ist mit der Wahrscheinlichkeit p1 = 0.6 und gleich 0 mit der Wahrscheinlichkeit p0 = 0.4 . Lagerbestand
und Liefermenge sind wie bisher auf zwei Einheiten beschr¨ankt.
Periode k
1
2
3
Preis ck
Bedarf bk
Wahrscheinlichkeit
7
9
12
1
0.6
0
0.4
1
0.6
0
0.4
1
0.6
0
0.4
Wir unterstellen ferner, dass f¨
ur die Produktion bei nicht ausreichendem Bestand Fehl-
3.3 Stochastische Probleme
67
mengenkosten in H¨ohe von 20 Einheiten entstehen. Eine am Ende des Planungszeitraums
eventuell vorhandene Restmenge sei nicht verwertbar.
Bei stochastischen Modellen der dynamischen Optimierung ist es u
¨blich eine Poltik zu
bestimmen, die den Kostenerwartungswert (Beschaffungs- und Fehlmengenkosten) minimiert. Der nachfolgende Graph soll die diversen Entscheidungen veranschaulichen.
✲ 2
0
✲
1
✒
0
✲
✗
2
❯
✲ 1
✕
0
✲
❘❯
✲ 1
0
✲
✲ 2
0
✲
❯
✲ 1
✒✕
1
0
✲ 2
✒✍
❯
✲ 0
2
✒
1
✲
0
❘
❯
✲ 0
✒
✕
1
0
✲
❯
✲ 0
✒
❘
Da die entstehenden Kosten nicht allein von Entscheidungen, sondern auch vom Zufall
(dem stochastischen Bedarf) abh¨angen, enth¨alt der Graph zwei Arten von Knoten. Zustandsknoten, 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 zufallsabh¨angigen Nachfrage.
Ausgehend von einem Zustand zi−1 gelangen wir durch eine Entscheidung xi eindeutig
zu einem stochastischen Knoten (dicker Pfeil). Von dort erreichen wir u
¨ber die zufallsabh¨angige Nachfrage bi einen von zwei m¨oglichen deterministischen Knoten zi . Von jedem stochastischen Knoten (Quadrat) gehen zwei Pfeile aus (d¨
unner 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 Entscheidung xi in h¨ochstens zwei Folgezust¨ande gelangen.
zi = zi−1 + xi − bi
¨
Mit diesen Uberg¨
angen sind die deterministischen Beschaffungskosten ci · xi und die folgenden zufallsabh¨angigen Fehlmengenkosten verbunden:
20
0
fi (zi−1 , xi , bi ) =
falls zi−1 = xi = 0 und bi = 1
sonst
Im Laufe der R¨
uckw¨artsrechnung berechnen wir f¨
ur jeden Entscheidungsknoten zi−1 den
∗
minimalen Kostenerwartungswert Fi−1
(zi−1 ) gem¨aß der Beziehung:
1
∗
Fi−1
(zi−1 )
= min ci · xi +
xi
pk · [ fi (zi−1 , xi , k) + Fi∗ (zi ) ]
k=0
Die folgenden Tabellen geben den L¨osungsgang f¨
ur unser Ausgangsproblem wieder. Im
Gegensatz zu Abschnitt 3.2 sind zu jedem Anfangszustand zi−1 und jeder Entscheidung xi
zwei m¨ogliche Endzust¨ande zi (mit den Wahrscheinlichkeiten pk ) ins Kalk¨
ul 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 ∗ markiert.
Schritt 1: i = 3
f3 (z2 , x3 , b3 ) F3∗ (z3 ) F2 (z2 ) optimal
z 2 x3 z 3 c 3 · x3
pk
2
2
0
0
2
1
0
0
0.4
0.6
0
0
0
0
0
*
1
1
0
0
1
0
0
0
0.4
0.6
0
0
0
0
0
*
0
0
0
0
1
1
0
0
1
0
0
0
1 · 12
1 · 12
0
0
0.4
0.6
0.4
0.6
0
0
0
20
0
0
0
0
12
*
12
*
3.3 Stochastische Probleme
Schritt 2: i = 2
Schritt 3: i = 1
69
f2 (z1 , x2 , b2 ) F2∗ (z2 ) F1 (z1 ) optimal
z 1 x2 z 2 c 2 · x2
pk
2
2
0
0
2
1
0
0
0.4
0.6
0
0
0
0
1
1
1
1
1
1
0
0
2
1
1
0
1·9
1·9
0
0
0.4
0.6
0.4
0.6
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
2
1
1
0
0
2
1
1
0
0
0
2·9
2·9
1·9
1·9
0
0
0.4
0.6
0.4
0.6
0.4
0.6
0
0
0
0
0
20
0
0
0
12
12
12
z 0 x1 z 1 c 1 · x1
pk
0
0
0
0
0
0
0.4
0.6
0.4
0.6
0.4
0.6
2
2
1
1
0
0
In der nebenstehenden Abbildung sind die optimalen
Teilpolitiken fett gezeichnet.
Bei Stufe 1 sind auf jeden
Fall zwei Mengeneinheiten
zu beschaffen. Im Anschluss
an die zuf¨allige Realisation
einer Nachfrage ist auf Stufe 2 sowohl in z1 = 2 als
auch in z1 = 1 die Entscheidung x2 = 0 zu treffen. F¨
ur
z1 = 0 stellt x2 = 1 die
optimale Teilpolitik dar. Auf
Stufe 3 ist jede (hinsichtlich
der Nebenbedingungen sinnvolle) Entscheidung optimal.
2
1
1
0
0
0
2·7
2·7
1·7
1·7
0
0
0
*
9
7.2
*
18
16.2
*
24
f1 (z0 , x1 , b1 ) F1∗ (z1 ) F0 (z0 ) optimal
0
0
0
0
0
20
✲2
0
7.2
7.2
16.2
16.2
16.2
0 ✲
✗
18.32
*
19.6
28.2
✲2
✒✍
0 ✲
✲2
❘❯
✲
1
✒✕
0 ✲
❯
✲1
✕
❯
✲0
✒
1 ✲
❯
✲0
✒
1 ✒
2
✕
❯
✲1
2 ✒
1
0
0 ✲
❯
✲0
0 ✲
1 ✲
0 ❘
0 ❘
✲
1
2
3
i
70
4
4 Nichtlineare Optimierung
Nichtlineare Optimierung
Bisher haben wir uns ausschließlich mit linearen Optimierungsaufgaben besch¨aftigt, d.
h. Fragestellungen bei denen Zielfunktion und Nebenbedingungen lineare Funktionen von
x1 , x2 , . . . , xn sind. In der Realit¨at sind aber auch Optimierungsaufgaben, bei denen Zielfunktion und/oder Nebenbedingungen nichtlinear eingehen, nicht allzu selten. F¨
ur solche
Probleme ist die Differentialrechnung das klassische Instrument zur Berechnung von Extremwerten. F¨
ur einfache Modelle der Unternehmensforschung kann damit das Optimum
explizit berechnet werden. Bereits bei mittlerer Gr¨oße und mittlerem Komplexit¨atsgrad der
Entscheidungsmodelle scheitert die Differentialrechnung jedoch. Der Wert dieser Methoden liegt heute mehr in der theoretischen Fundierung moderner Optimierungsalgorithmen.
Beispiele f¨
ur h¨aufig vernachl¨assigte nichtlineare Beziehungen sind:
• der Einfluss der Gr¨oßendegression in der Fertigung bei Entscheidungen u
¨ber das
Produktionsprogramm
• mangelnde Additivit¨at einzelner Faktoren bei Mischungsproblemen
• wechselseitige Beeinflussung von Verkaufsmengen und -preisen, woraus die Nichtlinearit¨at des Umsatzes resultiert
• abnehmende Ertragszuw¨achse, z. B. im Absatzbereich (doppelter Werbeeinsatz ergibt nicht unbedingt den doppelten Ertrag), bei Rationalisierungsmaßnahmen etc.
In vielen F¨allen ist das Ausmaß und/oder der Einfluss der Nichtlinearit¨at auf das Ergebnis
gering, so dass die L¨osung des linearisierten Modells als hinreichend gute N¨aherung des
Problems angesehen werden darf. Es bleiben jedoch gen¨
ugend Problemstellungen, die eine
explizite Ber¨
ucksichtigung von Nichtlinearit¨aten 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 )
erf¨
ullen m¨
ussen.
≤
≥
=
bi ;
i = 1, 2, . . . , m
71
Bemerkung: Speziell wird bei der linearen Optimierung gefordert, dass die Zielfunktion
die Bauart
n
z(x1 , x2 , . . . , xn ) =
cj · xj
j=1
und alle Nebenbedingungen von der Art
n
gi (x1 , x2 , . . . , xn ) =
ai,j · xj
j=1
sind. Weiterhin wird Nichtnegativit¨at f¨
ur alle Variablen angenommen.
Alle Optimierungsprobleme, die nicht diese spezielle Form haben, bezeichnen wir als nichtlineare Probleme. In dieser allgemeinen Definition von nichtlinear“ sind auch alle ganzzah”
ligen, kombinatorischen Optimierungsaufgaben enthalten. Ganzzahlige Problemstellungen
unterscheiden sich jedoch von den u
¨brigen nichtlinearen Problemen insoweit, dass eine
gemeinsame Behandlung keine Vorteile h¨atte. Wir beschr¨anken uns daher im Folgenden
auf nichtlineare Optimierungsaufgaben im engeren Sinne, also auf solche, die nichtlineare,
aber kontinuierliche Funktionen enthalten. Ganzzahlige, kombinatorische Optimierungsprobleme werden separat betrachtet.
Derzeit existiert kein, dem Simplex-Algorithmus entsprechendes Verfahren, das s¨amtliche
nichtlineare Optimierungsaufgaben zuverl¨assig l¨ost. Alle praktisch einsetzbaren Verfahren stellen relativ strenge Forderungen an die Art und die zul¨assige Anzahl nichtlinearer
Funktionen. Aber selbst bei starken Beschr¨ankungen kann nicht die Wirksamkeit und
Zuverl¨assigkeit des Simplex-Algorithmus erreicht werden. Der Grund hierf¨
ur liegt in der
erheblichen grunds¨atzlichen Verkomplizierung von Optimierungsaufgaben beim Auftreten
nichtlinearer Funktionen. Zur Verdeutlichung wollen wir nochmals die grunds¨atzlichen Eigenschaften linearer Optimierungsprobleme deutlich machen:
a) Die Menge der zul¨assigen L¨osungen bilden einen konvexen Bereich des n-dimensionalen
Raumes, welcher endlich viele Ecken besitzt.
b) Die optimale L¨osung liegt auf dem Rand des zul¨assigen Gebiets. Es gibt einen Eckpunkt (Basisl¨osung) mit Optimalit¨at.
c) Es gibt außer dem globalen Optimum keine lokalen Optima.
d) Sofern die zul¨assige L¨osungsmenge nicht leer ist und die Zielfunktion auf dem zul¨assigen Bereich beschr¨ankt ist, existiert stets eine globale optimale L¨osung.
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
zul¨assigen 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 zul¨assigen 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 zul¨assigen Bereichs.
Maximiere die Zielfunktion :
unter den Nebenbedingungen :
z(x1 , x2 ) = (x1 − 1)2 + (x2 − 2)2
g1 (x1 , x2 ) = 2x1 + x2 ≤ 9
g2 (x1 , x2 ) = 0.4x1 + x2 ≤ 5
Das Problem besitzt vier lokale Maxima bei
(0, 0)
(0, 5)
(2.5, 4)
(4.5, 0)
mit
mit
mit
mit
z(0, 0)
z(0, 5)
z(2.5, 4)
z(4.5, 0)
=
=
=
=
5
10
6.25
16.25
75
Beispiel 4.4: Unendlich viele lokale Maxima im Inneren des zul¨assigen Bereichs.
Maximiere die Zielfunktion :
unter den Nebenbedingungen :
z(x1 , x2 ) = sin (x1 − 1)2 + (x2 − 2)2 + 1.1
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 u
¨berlegen, unter welchen Zusatzvoraussetzungen ein
lokales Extremum auch gleichzeitig global ist. Beim Kapitel Lineare Optimierung“ haben
”
wir erkannt, dass das zul¨assige Gebiet konvex sein muss, wenn der Simplex-Algorithmus
eine globale L¨osung liefern soll. Von dieser Voraussetzung wollen wir auch hier ausgehen.
Zun¨achst gehen wir der Frage nach, unter welchen Zusatzvoraussetzungen lokale Extrema
einer Funktion y = f (x) bez¨
uglich eines Intervalls [a, b] auch global sind.
y
y
f (x)
f (x)
x
a
x∗
b
konkave Funktion
x
x∗
a
b
konvexe Funktion
Eine konkave Funktion hat bez¨
uglich des Maximums diese Eigenschaft, w¨ahrend bei einer
konvexe Funktion das lokale Minumum auch global ist.
Wir wollen f¨
ur konkave1 Funktion eine charakteristische Ungleichung f¨
ur 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 Gr¨oßen visualisiert.
1
H¨aufig wird diese Eigenschaft auch als streng konkav bezeichnet.
77
y
f (x)
f (x(t))
f (x2 )
y(t)
f (x1 )
x
a
x1
x(t)
x2
b
konkave Funktion
y
f (x)
f (x1 )
y(t)
f (x2 )
f (x(t))
x
a
x1
x(t)
konvexe Funktion
x2
b
78
4 Nichtlineare Optimierung
F¨
ur Funktionen mehrerer Variabler f ( x) wird die Eigenschaft konvex und konkav mit
denselben Ungleichungen erkl¨art.
Bei der Optimierung von Funktionenn f ( x) mehrerer Variabler spielen naturgem¨aß die
partiellen Ableitungen von f ( x) eine zentrale Rolle. Zur u
¨bersichtlichen Darstellung fassen
wir s¨amtliche partiellen Ableitungen zu einem Vektor zusammen und bezeichnen diesen
Vektor mit ∇f ( x); gesprochen Gradient von f .





∇f ( x) = 



∂f
( x)
∂x1
∂f
( x)
∂x2
..
.
∂f
( x)
∂xn









Der Gradientenvektor ist f¨
ur jeden Punkt des Definitionsbereichs von f erkl¨art. F¨
ur n = 2
kann der Gradient von f anschaulich gedeutet werden. Die zu optimierende Funktion
z = f ( x) stellt dann eine Fl¨ache im Raum dar. Der Vektor ∇f ( x) gibt dann in der
(x1 , x2 )-Ebene die Richtung des st¨arksten Anstiegs an. In der folgenden Skizze sind f¨
ur die
Funktion
z = f (x1 , x2 ) =
1 − x21 − 2.5x22
in der (x1 , x2 )-Ebene neben den H¨ohenlinien einige Gradienten eingezeichnet.
y
z = sqrt1 − x2 − 2.5y 2
x
4.1 L¨osungsverfahren
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) f¨
ur
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)
erf¨
ullt und damit konkav ist. F¨
ur solche Funktionen gilt nun der Satz:
Satz: Es sei f ( x) eine auf einer konvexen Menge erkl¨arten 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 f¨
ur ein globales Maximum dar.
Eine analoge Aussage gilt f¨
ur kovexe Funktionen bez¨
uglich des Minimums.
Der obere Satz ist eine reine Existenzausssage. Er hat aber auch f¨
ur den Anwender eine gewisse Bedeutung. Liefert ein N¨aherungsverfahren unter den Voraussetzungen dieses
Satzes eine L¨osung, so kann man sicher sein, dass diese auch global ist. In allen anderen
F¨allen m¨
ussen wir versuchen durch Zusatzbetrachtungen, Variation der Startbedingungen
des Algorithmus etc. eine globale L¨osung zu rechtfertigen.
4.1
L¨
osungsverfahren
¨
Wir versuchen hier nur einen Uberblick
u
¨ber diverse Grundgedanken zu geben, die zu
L¨osungsverfahren f¨
ur nichtlineare Optimierungsprobleme f¨
uhren. Zun¨achst seien einige
Spezialf¨alle erw¨ahnt, die einer expliziten L¨osung zug¨anglich sind. Dabei sei die Nichtlinearit¨at auf die Zielfunktion beschr¨ankt. Der zul¨assige Bereich f¨
ur die L¨osungen bilde – wie
im linearen Fall – ein von Hyperebenen beschr¨anktes konvexes Gebiet im IRn .
a) Probleme mit trennbarer Zielfunktion
Eine Zielfunktion von n Variablen heißt trennbar, wenn sie als Summe von n Funktionen dargestellt werden kann, die jeweils nur von einer Variablen xj abh¨angen.
n
z = f (x1 , x2 , . . . , xn ) =
fi (xi )
i=1
Erf¨
ullen die Zielfunktionen fi zus¨atzlich Bedingungen ( z. B. konvex oder konkav),
so lassen sich die entsprechenden Optimierungsaufgaben auf die Einzelfunktionen
zur¨
uckspielen.
80
4 Nichtlineare Optimierung
b) Probleme mit quadratischer Zielfunktion
Eine Zielfunktion heisst quadratisch, wenn sie nur Glieder erster und zweiter Ordnung enth¨alt.
n
z = f (x1 , x2 , . . . , xn ) =
n
n
c i xi +
i=1
di,j xi xj
i=1 j=1
In vektorieller Schreibweise l¨asst 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 quadratischer Ausdr¨
ucke linear sind, kann man dieses Optimierungsproblem unter einfachen Zusatzvoraussetzungen (Matrix muss positiv semidefinit sein) durch Einf¨
uhrung
zus¨atzlicher Schlupfvariabler auf den Simplex-Algorithmus zur¨
uckspielen.
c) Probleme mit hyperbolischer Zielfunktion
n
c0 +
c i xi
i=1
n
z = f (x1 , x2 , . . . , xn ) =
d0 +
d i xi
i=1
Man spricht von einer hyperbolischen Zielfunktion, wenn die Zielfunktion als Quotient zweier linearer Ausdr¨
ucke dargestellt werden kann.
Zielfunktionen dieser Art treten in den F¨allen auf, in denen relative Kriterien zu
optimieren sind, z. B bei Rentabilit¨at.
Durch einen kleinen Trick l¨asst sich dieses Problem auf eine lineare Fragestellung
zur¨
uckf¨
uhren. Man erweitert den Quotienten mit einer Hilfsvariablen t > 0 und
f¨
uhrt neue Variable ein:
n
c0 · t +
c i xi · t
i=1
n
z = f (x1 , x2 , . . . , xn ) =
d0 · t +
di xi · t
i=1
mit der zus¨atzlichen Nebenbedingung
n
d0 · t +
di xi · t = 1
i=1
und den neuen Variablen yj = xj · t ergibt sich ein lineares Optimierungsproblem
n
z˜ = f˜(y1 , y2 , . . . , yn , t) = c0 · t +
ci yi
i=1
4.1 L¨osungsverfahren
81
Bez¨
uglich der L¨osung allgemeiner nichtlinearer Optimierungsaufgaben wollen wir uns auf
wenige Grundgedanken beschr¨anken. Im Zweidimensionalen wird die zu optimierende Zielfunktion F (x1 , x2 ) durch eine Fl¨ache im IR3 dargestellt. Der Gradient von F ergibt einen
zweidimensionalen Vektor, der im Definitionsgebiet in Richtung des st¨arksten Anstiegs
auf der Fl¨ache weist (Falllinie). Wir versuchen nun das Maximum iterativ zu erreichen.
Dazu bestimmen wir ausgehend von einer N¨aherung xn die Richtung des Gradienten und
bestimmen auf dieser Geraden den Punkt xn+1 mit maximalem Wert der Zielfunktion als
n¨achste N¨aherung. Auf diese Weise k¨onnen wir den Gipfel des Berges ersteigen.
Soll das Minimum bestimmt werden, so geht man in Richtung des negativen Gradienten
zur n¨achsten N¨aherung.
Beispiel 4.5: Quadratische Zielfunktion mit globalem Minimum im Inneren des zul¨assigen
Bereichs.
Minimiere die Zielfunktion :
unter den Nebenbedingungen :
z(x1 , x2 ) = (x1 − 1)2 + 2(x2 − 2)2
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)
(0, 5)
(2.5, 4)
(4.5, 0)
mit
mit
mit
mit
z(0, 0)
z(0, 5)
z(2.5, 4)
z(4.5, 0)
(1, 2)
mit
z(1, 2)
=
=
=
=
9
19
10.25
20.25
= 0
Zur L¨osung gehen wir von einem N¨aherungspunkt in Richtung des negativen Gradienten
zur n¨achsten N¨aherung. 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 L¨osungsverfahren
83
Wenden wir dasselbe Prinzip unver¨andert zur Bestimmung des maximalen Wertes an, so
erreichen wir schnell den Rand des zul¨assigen Bereichs und der Prozess bricht ab. Der
Algorithmus ber¨
ucksichtigt nicht die Berandung des zul¨assigen 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 f¨
uhrt. Ein vern¨
unftiger Algorithmus muss die aus den Nebenbedingungen stammenden zul¨assigen Richtun”
gen“ mit einbeziehen. Nur so sind die lokalen Maxima in den Eckpunkten erreichbar.
84
Zum Abschluss wollen wir noch die T¨
ucken bei der Anwendung von Software (z. B. Excel, MATLAB) auf unser
Beispiel deutlich machen.
Bei der Suche nach dem Maximum ergeben sich bei obigem Beispiel je nach Startwert verschiedene L¨osungen.
Solche Programme erkennen h¨aufig 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 h¨aufig auch ein vereinfachtes lineares Modell.
4 Nichtlineare Optimierung
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 erl¨autern. In Zelle
B6 ist die Zielfunktion in Abh¨angigkeit von x1 , x2 , d. h. von Zelle B5 bzw. C5 einzugeben.
Die Koeffizienten der Ungleichungen geben wir in den Zellbereich B9:C10 ein; die Schranken tragen wir in D9:D10 ein. In der Berechnungtabelle B12:C13 berechnen wir die linken
Seiten der Ungleichungen.
4.1 L¨osungsverfahren
A
1 Nichtlineare
2 Optimierung
3
4 Variable
5 Werte
6 Funktion
7
8 Ungleichungen
9
10
11
12 Berechnung
13
85
B
C
D
x1
0
=(B5-1)ˆ2+2*(C5-2)ˆ2
x2
5,00000001486873
ai1
2
0,4
ai2
1
1
di
9
5
=B5*B9
=B5*B10
=C5*C9
=C5*C10
=SUMME(B12: C12)
=SUMME(B13: C13)
Nun wird f¨
ur die Zelle B7 (Zielfunktion) der Solver“ aufgerufen. In die Solver-Dialog-Box
”
machen wir folgende Eintr¨age:
Zielzelle
Zielwert
Ver¨anderbare Zelle
Nebenbedingungen
: $B$6
: Max anklicken
: $B$5: $C$5
$D$12: $D$13
:
$B$5: $C$5
<= $D$9: $D$10
>= 0
Wenn wir in die Zellen B5:C5 die verschiedenen Startwerte eintragen und anschließend
den Solver aufrufen, ergeben sich die erw¨ahnten drei lokalen Maxima.
86
5 Warteschlangentheorie
5
Warteschlangentheorie
Warteschlangensituationen trifft man u
¨berall an: Autos vor einer Ampel, Kunden vor
einer Kasse, Anrufe bei einer Telefonzentrale und Maschinen, die auf eine Reparatur warten. Jedes Wartesystem besteht aus den Komponenten Inputprozess, Warteschlange und
Servicesystem. Warteschlangenmodelle werden mit Hilfe der charakteristischen Eigenschaften dieser drei Komponenten klassifiziert.
Wartesystem
Kundenquelle
ankommende✲
Kunden
abgefertigte ✲
Kunden
Warteschlange
Bedienungsstation
Die obige Abbildung zeigt den prinzipiellen Aufbau eines Wartesystems mit einer Bedienungsstation, die aus zwei parallelen Schaltern besteht.
5.1
Klassifizierung
In diesem Abschnitt wollen wir, ohne auf konkrete Rechenstrukturen einzugehen, Warteschlangensysteme charakterisieren.
a) Inputprozess
Als Modell stellen wir uns daf¨
ur eine Quelle vor, die Einheiten (Kunden, Autos,
Maschinen etc.) f¨
ur unser System liefert. Dabei unterscheiden wir:
• Unbeschr¨ankte Quelle (offenes System)
Beschr¨ankte Quelle (geschlossenes System)
Beispiel f¨
ur offenes System: Kunde - Bankschalter
5.1 Klassifizierung
87
Beispiel f¨
ur geschlossenes System: Maschinenpark - Servicemonteur
• Einzelank¨
unfte oder Gruppenank¨
unfte
Beispiel f¨
ur Einzelank¨
unfte: Friseur
Beispiel f¨
ur Gruppenank¨
unfte: Restaurant
• Zeiten zwischen zwei Ank¨
unften sind statistisch von einander abh¨angig oder
unabh¨angig
• Die Wahrscheinlichkeitsverteilung der Zwischenzeiten ist zeitunabh¨angig
( station¨ar ) oder h¨angt von der Zeit ab ( nichtstation¨ar ).
Ein nichtstation¨arer Inputprozess liegt vor, wenn sich Zeiten des Hochbetriebs
mit Flauten abwechseln.
• Manchmal h¨angen die Inputprozesse auch vom jeweiligen Zustand der Warteschlange ab.
Beispiel f¨
ur einen vom Systemzustand abh¨angigen Inputprozess: Falls die Warteschlange zu lang ist, tritt ein potentieller Kunde mit einer bestimmten Wahrscheinlichkeit nicht ins System ein. Als Spezialfall ist hier auch ein beschr¨ankter
Warteraum enthalten.
b) Warteschlange
Hier wird die Reihenfolge der Bedienung sowie das Kundenverhalten in der Schlange
charakterisiert.
• Auswahlordnungen f¨
ur den Service, die von der Reihenfolge des Eintreffens
abh¨angen:
FIFO : first in, first out
LIFO : last in, first out
SIRO : service in random order
• Priorit¨atensystem
Die ankommenden Einheiten werden f¨
ur die Bedienungsreihenfolge in Rangklassen eingeteilt. Die Priorit¨at der Bedienung kann auch absolut“ erkl¨art sein, d.
”
h. eine Einheit h¨oheren Ranges unterbricht sogar den laufenden Service einer
niedrigeren Einheit.
Der Rang einer Einheit kann sowohl extern vorgegeben werden (z. B. Stammkunden 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 Warteschlange, wenn diese zu lang ist.
88
5 Warteschlangentheorie
c) Servicesystem
Ein Servicesystem besteht aus mehreren gekoppelten Servicestellen ( = Kan¨alen )
• Servicestellen
Eine entscheidende Kenngr¨oße einer Servicestelle ist die Wahrscheinlichkeitsverteilung der Servicezeiten. Zur Klassifizierung dienen die Eigenschaften:
– alle Kunden sind in Bezug auf die Servicezeit vom selben Typ bzw. verhalten sich unterschiedlich.
– alle Servicestellen des Systems verhalten sich gleich oder besitzen ein unterschiedliches Serviceverhalten
– Servicezeiten sind vom jeweiligen Systemzustand unabh¨angig oder abh¨angig.
(Bei Andrang schnellere Abfertigung!)
– die Servicezeitverteilung ist station¨ar oder h¨angt von der Zeit ab
• Struktur von Servicesystemen
– Parallelschaltung von Servicestellen: Die Abfertigungsrate des Gesamtsystems ergibt sich als Summe der einzelnen Abfertigungsraten.
– Reihenschaltung
Falls zwischen den Servicestellen Warteschlangen beliebiger L¨ange m¨oglich
sind, ist die Gesamtabfertigungsrate des Systems gleich der Abfertigungsrate derjenigen Servicestelle, die den Engpass bildet. Bei beschr¨anktem Warteraum zwischen den verschiedenen Servicestationen k¨onnen durch R¨
uck”
stau“ Blockierungseffekte auftreten, die die Leistung des Gesamtsystems
unter die Engpassleistung dr¨
ucken.
Reihenschaltungen sind erheblich schwerer zu analysieren als Parallelschaltungen.
• Stochastische Netzwerke
Aus der Parallel- und Reihenschaltung von Servicestellen k¨onnen beliebig komplizierte 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 f¨
ur die Auspr¨agung 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 Schlangenkapazit¨at an
f
:
f < ∞ oder f = ∞ signalisiert, ob der Input beschr¨ankt ist oder nicht
Im Falle d=FIFO, e=f=∞ beschr¨ankt man sich darauf, die ersten drei Merkmale anzugeben.
F¨
ur A und B kommen folgende gebr¨auchliche Wahrscheinlichkeitsverteilungen in Frage:
M :
exponentiell verteilte Zwischenzeiten; beim Input ergibt sich ein Poisson-Strom
(M = Markov-Eigenschaft)
E
:
Input gen¨
ugt 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 K¨
urzel M|D|2 : (FIFO|∞|∞) bedeutet:
Input
:
Zwischenankunftszeiten sind exponential verteilt
Service
:
konstante Servicezeiten; zwei parallele Kan¨ale
Schlangendisziplin
: FIFO (first in, first out)
Schlangenkapazit¨at :
unbeschr¨ankt
System
unbeschr¨ankt
:
Leistungen der Warteschlangentheorie
Eine Warteschlangenanalyse wird bei Entscheidungen f¨
ur einen Systementwurf ben¨otigt.
Um Entscheidungen u
¨ber Geschwindigkeit, Anzahl und Anordnung von Servicestationen,
den Wartraum und die Auswahlordnung eines Systems treffen zu k¨onnen, ben¨otigen wir
detaillierte Informationen u
¨ber das Verhalten von solchen Warteschlangensystemen. Wir
versuchen deswegen Maßzahlen zu berechnen, die die Leistungsf¨ahigkeit solcher Systeme
widerspiegelt. H¨aufig verwendete Leistungskennzahlen sind Erwartungswert (entspricht
Mittelwert) und Varianz der Warteschlangenl¨ange und der Wartezeit. Ebenso bestimmt
man Parameter, die den Ausnutzungsgrad der Servicestellen und den maximal m¨oglichen
Durchfluss.
90
5 Warteschlangentheorie
Die Warteschlangentheorie liefert uns f¨
ur viele Systemvarianten analytisch gewonnene Formeln f¨
ur die oben erw¨ahnten Parameter. F¨
ur komplexere Systeme, die in der Praxis durchaus 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 Warteschlange 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 Bedienungszeit oder Servicezeit des n-ten Kunden. Als aktuelle Wartezeit Wnq des Kunden n in der
Schlange bezeichnen wir die Zeitspanne zwischen Ankunft und Beginn der Bedienung.
Wn = Wnq + Sn
ist dann die Gesamtzeit des n-ten Kunden im Wartesystem, auch Verweilzeit genannt. F¨
ur
den Zeitpunkt Dn , zu dem der Kunde das Wartesystem verl¨asst gilt:
Dn = Tn + Wnq + Sn
Sei L(t) die Anzahl der Kunden im Wartesystem zum Zeitpunkt t ≥ 0. Im Falle eines
Bedienungsschalters gilt dann f¨
ur die Anzahl Lq (t) der Kunden in der Schlange
Lq (t) =
L(t) − 1, falls L(t) ≥ 1
0,
falls L(t) = 1
.
Die Gr¨oßen Tn , Zn , Sn , Wn , Wnq ; n = 1, 2, . . . sowie L(t), Lq (t) ; t ≥ 0 stellen
Zufallsgr¨oßen dar. Bei einem Wartesystem sind in der Regel die Verteilungen von Zn und
Sn gegeben und die Verteilungen von Wnq und L(t) gesucht. Wir werden im Folgenden nur
Wartesysteme betrachten, bei denen Zn und Sn jeweils unabh¨angige, identisch verteilte
Zufallsgr¨oßen sind und damit durch je ein Zufallsvariable Z ( die Zwischenankunftszeit“)
”
bzw. S ( die Bedienungszeit“) beschrieben werden k¨onnen. Außerdem sollen Z und S
”
voneinander stochastisch unabh¨angig sein. Diese Voraussetzung ist oft in der Praxis nicht
gegeben. In diesem Fall muss auf die Simulation des Systems zur¨
uckgegriffen 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 zur¨
uckbleibenden Kunden, wenn der n-te
Kunde das Wartesystem verl¨asst.
5.3 Das Wartesystem M|M|1
91
3
W3
2
W2
1
W1
t
T1
T3
T2
D1
D2
T4
D3
Die obige Skizze illustriert einen solchen stochastischen Prozess“. Sie zeigt vier Ank¨
unfte
”
zu den Zeiten T1 , T2 , T3 , T4 . Zu den Zeiten D1 , D2 , D3 verl¨asst jeweils ein Kunde das
System. Die Doppelpfeile sollen die zugeh¨origen Verweildauern Wi deutlich machen.
5.3
Das Wartesystem M|M|1
Beim Wartesystem M|M|1 sind die Zwischenankunftszeit und die Bedienzeit exponentialverteilte Zufallsvariable. Wir wollen versuchen f¨
ur dieses einfache“ System ein mathema”
tisches Modell zu entwickeln. Dabei werden wir wieder auf die aus der Wahrscheinlichkeitstheorie bekannten Possion-Verteilung treffen. Mit Hilfe der Wahrscheinlichkeitsrechnung
l¨asst sich zeigen, dass die Anzahl der Ereignisse in einem festen Zeitraum T bei einem
exponentialverteilten Ankunftsstrom einer Poisson-Verteilung gen¨
ugt.
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 daf¨
ur, dass im Zeitraum [0, T ] genau k Ereignisse stattfinden.
• 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 ]
T
pλ (1) =
ein Ereignis in [0, T ]
e−λτ · λe−λ(T −τ ) dτ = λe−λT
0
T
= λe−λT τ
1dτ
0
T
0
= λT e−λT
• genau zwei Ereignisse in [0, T ]: es ist zu falten
ein Ereignis in [0, T ]
T
pλ (2) =
ein Ereignis in [0, T ]
λτ e−λτ · λe−λ(T −τ ) dτ = λ2 e−λT
T
τ dτ
0
0
2
= λ2 e−λT τ2
T
0
=
(λT )2 −λT
2 e
• Vermutung: Poisson-Verteilung mit dem Parameter λT
Wir f¨
uhren den Nachweis mit vollst¨andiger Induktion. Es ist noch der Induktionssschritt durchzuf¨
uhren.
Es gelte pλ (k) =
(λT )k −λT
e
.
k!
Wir bestimmen die Wahrscheinlichkeit f¨
ur genau k + 1 Ereignisse in [0, T ]: es ist zu
falten
k Ereignisse in [0, T ]
T
pλ (k + 1) =
0
ein Ereignis in [0, T ]
λk τ k e−λτ · λe−λ(T −τ ) dτ = λk+1 e−λT
k!
k!
k+1
k+1
= λ e−λT τ
k!
k+1
T
0
=
T
τ k dτ
0
k+1
(λT )
e−λT
(k + 1)!
Diese Verteilung besitzt den Erwartungswert E(X ) = λT mit der Bedeutung
durchschnittliche Anzahl der Anrufe im Beobachtungszeitraum [0, T ]“.
”
E(X )
Daraus errechnet sich wieder die Ankunftsrate“ λ =
T .
”
Der Kehrwert
Ank¨
unften“.
T
E(X )
hat die Bedeutung durchschnittliche Zeit zwischen zwei
”
Wir wollen hier alternativ versuchen,
A2, A3 abzuleiten. Dabei formulieren
scheinlichkeiten p(k). Dieser Weg hat
vorg¨ange“ fassbar sind. Im Gegensatz
tion¨aren Fall!
diese Verteilungen aus folgenden Forderungen A1,
wir ein Differenzialgleichungssystem f¨
ur die Wahrden Vorteil, dass prinzipiell auch die Einschwing”
¨
dazu beschreibt die obere Uberlegung
nur den sta-
5.3 Das Wartesystem M|M|1
A1
93
Die Wahrscheinlichkeit P , dass ein Kunde in einem beliebigen Zeitintervall ∆t eintrifft sei proportional zu Intervalll¨ange und unabh¨angig 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 abgefertigt wird, sei wieder proportional zu Intervalll¨ange und unabh¨angig vom Zeitpunkt 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 f¨
ur das Abfertigen 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 unabh¨angige Zufallsgr¨oßen. D. h. die Anzahl der zuvor eingetroffenen Kunden beeinflusst nicht die Ankunft der nachfolgenden Kunden. Dasselbe
gelte f¨
ur die Ereignisse Abfertigen eines Kunden“.
”
Wir wollen nun unter den Voraussetzungen A1 bis A3 alle m¨oglichen Zustands¨anderungen
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 w¨ahrend eines Zeitintervalls ∆t m¨oglichen Zustands¨
uberg¨ange“ sind in der nachfolgenden Tabelle aufgelistet.
”
Bei den Wahrscheinlichkeiten wurden nur die linearen Glieder in ∆t ber¨
ucksichtigt.
94
5 Warteschlangentheorie
Zustand
zur Zeit t+∆t
Bedeutung des
Zustands¨
ubergangs
Wahrscheinlichkeit des
Zustands¨
ubergangs
j≥0
j+1
ein neuer Kunde ist
angekommen
λ · ∆t
j+1
j
ein Kunde wurde
abgefertigt
µ · ∆t
j≥1
j
weder ein neuer Kunde angekommen noch ein neuer Kunde
abgefertigt oder
ein neuer Kunde ist angekommen und ein Kunde wurde im
selben Intervall abgefertigt.
j=0
j=0
Zustand
zur Zeit t
1 − (λ · ∆t + µ · ∆t)
kein neuer Kunde ist
angekommen
1
1 − λ · ∆t
Mittels obiger Tabelle k¨onnen wir nun f¨
ur die Wahrscheinlichkeiten pj (t) und pj (t + ∆t)
eine Differenzengleichung angeben. Dabei werden wieder nur die linearen Glieder in ∆t
ber¨
ucksichtigt.2
keine Ver¨
anderung
eine Abfertigung
p0 (t + ∆t) = (1 − λ∆t) · p0 (t) + µ∆t · p1 (t)
pj (t + ∆t) = λ∆t · pj−1 + (1 − λ∆t − µ∆t) · pj (t) + µ∆t · pj+1 (t) ;
eine Ankunft
keine Ver¨
anderung
j = 1, 2, . . .
eine Abfertigung
Obiges System l¨asst sich auch als Differenzenquotient anschreiben:
p0 (t + ∆t) − p0 (t)
= −λ · p0 (t) + µ · p1 (t)
∆t
pj (t + ∆t) − pj (t)
= λ · pj−1 + − (λ + µ) · pj (t) + µ · pj+1 (t) ;
∆t
1
j = 1, 2, . . .
Es gilt exakt :
(1 − λ · ∆t) · (1 − µ · ∆t) + (λ · ∆t) · (µ · ∆t) = 1 − (λ + µ) · ∆t + 2λ · µ · (∆t)2
Wenn wir die Glieder zweiter Ordnung in ∆t vernachl¨assigen, so erhalten wir den obigen Tabelleneintrag.
2
Hintergrund ist der Satz von der totalen Wahrscheinlichkeit: Seinen B1 , B2 , . . . Br paarweise disjunkte Ereignisse mit ∪rk=1 Bk = Ω . Dann gilt f¨
ur ein beliebiges Ereignis A
r
P (A|Bk ) · P (Bk )
P (A) =
k=1
P (A ∩ Bk )
5.3 Das Wartesystem M|M|1
95
Der Grenz¨
ubergang ∆t → 0 liefert dann das folgende System von Differenzialgleichungen,
wobei wir wie u
¨blich die Ableitung nach der Zeit mit einem Punkt bezeichnen.
p˙0 (t) = −λ · p0 (t) + µ · p1 (t)
p˙j (t) = λ · pj−1 + − (λ + µ) · pj (t) + µ · pj+1 (t) ;
j = 1, 2, . . .
Zu obigen Differenzialgleichungen m¨
ussen noch Startwerte vorgegeben werden. Wenn wir
standardm¨aßig annehmen, dass wir mit einem leeren System starten, so erh¨alt man die
Anfangsbedingungen:
p0 (0) = 1
pj (0) = 0 ;
j = 1, 2, . . .
¨
Aus den obigen Uberlegungen
k¨onnen die Verteilungsfunktionen des Ankunfts- und Abgangsprozesses sowie die Verteilung der Wartezeiten bestimmt werden. Exemplarisch wollen wir die Verteilungsfunktion f¨
ur den Ankunftsprozess ableiten.
Es sei qj (t) die Wahrscheinlichkeit daf¨
ur, dass bis zum Zeitpunkt t genau j Klienten angekommen sind. Wir erhalten das zugeh¨orige Differenzialgleichungssystem, indem wir oben
µ = 0 und pj (t) = qj (t) setzen.
q˙0 (t) = −λ · q0 (t)
q0 (0) = 1
q˙j (t) = λ · qj−1 (t) − λ · qj (t)
qj (0) = 0
;
j = 1, 2, . . .
Wir l¨osen nun sukzessive das System.
Fall j = 0
Das Anfangswertproblem q˙0 (t) = −λ · q0 (t) ;
q0 (0) = 1 besitzt die L¨osung:
q0 (t) = e−λt
Fall j = 1
Zu l¨osen ist das Problem q˙1 (t) = λ · e−λt − λ · q1 (t) ; q1 (0) = 0 .
F¨
ur die homogene L¨osung erhalten wir wieder q1,h (t) = Ce−λt .
Wegen Resonanz“ machen wir f¨
ur die partikul¨are L¨osung den Ansatz:
”
q1,p = A · t · e−λt
❀
q˙1p = A · e−λt + A · t · e−λt (−λ)
In die Differenzialgleichung eingesetzt, ergibt sich eine Bestimmungsgleichung f¨
ur A:
A · e−λt + A · t · e−λt (−λ) = λ · e−λt + (−λ) · A · t · e−λt
❀
A = λ
Nun m¨
ussen wir noch die L¨osung 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 L¨osung des Problems q˙2 (t) = λ · (λt)e−λt − λ · q2 (t) ;
derselben L¨osungsstrategie:
q2 (t) =
q2 (0) = 0 erhalten wir mit
(λt)2 −λt
·e
2!
Wir vermuten nun, dass sich auch f¨
ur j ≥ 2 eine Poisson-Verteilung ergibt. Der Nachweis
wird durch vollst¨andige Induktion erbracht.
F¨
ur j = 1, 2 haben wir oben bereits den Nachweis erbracht. Es gelte nun
qj (t) =
(λt)j −λt
·e
;
j!
j = 0, 1, 2, . . . n
Wir wollen nun zeigen, dass
qn+1 (t) =
(λt)n+1 −λt
·e
(n + 1)!
die Differentialgleichung
q˙n+1 (t) = λqn (t) − λqn+1 (t) = λ ·
(λt)n −λt
·e
− λqn+1 (t)
n!
erf¨
ullt. Dazu differenzieren wir den Ausdruck
q˙n+1 (t) = d
dt
(λt)n+1 −λt
·e
(n + 1)!
=
(λt)n
(λt)n+1 −λt
· e · (−λ)
· λ · e−λt +
n!
(n + 1)!
λqn (t)
−λqn+1 (t)
Damit haben wir den Nachweis erbracht, dass der Ankunftsprozess einer Poisson-Verteilung
mit dem Parameter λt gen¨
ugt. Man spricht dann auch von einem Poisson-Prozess oder
einem Poisson-Strom.
Die Anzahl der im Mittel pro Zeiteinheit ankommenden Kunden bezeichnen wir als Ankunftsrate. F¨
ur das Wartesystem M|M|1 ist die Ankunftsrate gleich dem Erwartungswert
einer Poisson-verteilten Zufallsvariablen f¨
ur t = 1, also gleich λ.
¨
F¨
ur die Zwischenankunftszeit Z gilt mit obigen Uberlegungen
P (Z > t) = P (in [0, t] ist kein Kunde angekommen) = q0 (t) = e−λt
.
F¨
ur 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 Erwartungswert 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
f¨
uhrt wieder zum Erwartungswert µ1 .
Der Quotient der beiden Parameter
λ
ρ = µ
wird Verkehrsintensit¨at genannt; er ist ein Maß f¨
ur die Auslastung des Systems.
Wir haben damit verifiziert, dass die Bedingungen A1, A2, A3 zum Wartesystem M|M|1
f¨
uhren, d. h. die Zwischenankunftszeit Z und die Bedienungszeit S sind exponentialverteilte Zufallsgr¨oß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|1
Die Bestimmung der Verteilungsfunktion f¨
ur die Verweildauer w¨
urde die L¨osung des urspr¨
unglichen Differenzialgleichungssystems mit unendlich vielen Funktionen pj (t) erfordern.
p˙0
p˙1
p˙2
p˙3
p˙4
= −λp0 +
µp1
= λp0 − (λ + µ)p1 +
µp2
=
λp1
− (λ + µ)p2 +
µp3
=
λp2
− (λ + µ)p3 +
µp4
=
λp3
− (λ + µ)p4 + µp5
..
.
Dies ist sehr aufwendig und nur n¨aherungsweise l¨osbar. Wir betrachten deshalb hier den
station¨aren Fall, der sich rechentechnisch dadurch ergibt, dass man die im obigen Differenzialgleichungssystem auftretenden Ableitungen zu Null setzt.
Bezeichnen wir die station¨aren Wahrscheinlichkeiten mit πj , so erhalten wir mit dieser
¨
Uberlegung
das folgende lineare Gleichungssystem
0
0
0
0
0
= −λπ0 +
µπ1
= λπ0 − (λ + µ)π1 +
µπ2
=
λπ1
− (λ + µ)π2 +
µπ3
=
λπ2
− (λ + µ)π3 +
µπ4
=
λπ3
− (λ + µ)π4 + µπ5
..
.
98
5 Warteschlangentheorie
Durch sukzessives Ineinander-Einsetzen erhalten wir
λ π
π1 = µ
0
λ+µ λ
λ+µ
λ
λ
π2 =
µ π1 − µ π0 =
µ
µ π0 − µ
λ+µ
λ π = λ+µ λ 2π −
π3 =
π
−
2
0
µ
µ 1
µ
µ
λ+µ λ 3
λ+µ
λ
π4 =
µ π3 − µ π2 =
µ
µ π0 −
..
.
π0
λ
µ
λ
µ
λ
µ
λ
µ
λ
µ
=
2
3
π0 =
π0 =
2
3
4
π0
π0
π0
Allgemein ergibt sich
λ
µ
πk =
k
π0
λ <1
bzw. mit ρ = µ
πk = ρ k π0
.
Der Wert f¨
ur π0 ergibt sich aus der Normierungseigenschaft:
∞
∞
πk = π0 ·
1 =
k=0
k=0
1
ρ k = π0 · 1 −
ρ
❀
π0 = 1 − ρ
Damit erhalten wir f¨
ur die station¨aren Wahrscheinlichkeiten:
πk = (1 − ρ) · ρk ;
k = 0, 1, 2, . . .
λ
mit ρ = µ
Damit lassen sich alle f¨
ur das System wichtige Kennzahlen bestimmen. Exemplarisch wollen wir dies f¨
ur die Erwartungswerte der Anzahl der Kunden im System L bzw. der L¨ange
der Warteschlange Lq durchf¨
uhren.
E(L) =
∞
k · (1 − ρ)ρk
k=1
= ρ · (1 − ρ) ·
∞
kρk−1
k=1
∞
= ρ · (1 − ρ) · d
dρ
k=0
= ρ · (1 − ρ) · d
dρ
1
1−ρ
1
(1 − ρ)2
λ
1
= ρ· 1−
ρ = µ−λ
= ρ · (1 − ρ) ·
ρk
5.3 Das Wartesystem M|M|1
E(Lq ) =
∞
99
(k − 1) · (1 − ρ)ρk
k=1
=
∞
k · (1 − ρ)ρk −
k=1
∞
(1 − ρ)ρk
k=1
∞
ρ
ρk + (1 − ρ)
= 1 − ρ − (1 − ρ) ·
k=0
ρ
λ2
= 1−ρ − ρ =
µ(µ − λ)
Sind W die mittlere Verweildauer im System und Wq die mittlere Wartezeit, dann sind
die Beziehungen
W = 1 ·L
λ
plausibel; denn
1
λ
bzw.
Wq = 1 · Lq
λ
ist der Erwartungswert der Zwischenankunftszeit.
Die f¨
ur den Umgang mit station¨aren M|M|1-Systemen wichtigen Definitionen und Beziehungen sind nochmals in den folgenden Tabellen zusammengestellt.
Symbol
Bedeutung
λ
mittlere Ankunftsrate
1
λ
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
f¨
ur n = 0, 1, 2, 3, . . .
Wahrscheinlichkeit, dass sich n Einheiten 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
f¨
ur n = 0
n+1
(1 − ρ)ρ
f¨
ur n = 1, 2, . . .
ρ2
λ2
E(Lq ) = 1 − ρ =
µ(µ − λ)
V ar(Lq ) =
2
2
ρ (1 + ρ − ρ )
(1 − ρ)2
P (W ≤ t) = 1 − e−(µ−λ)t ;
E(W ) =
t≥0
1
µ−λ
λ
µ(µ − λ)
1
V ar(Wq ) =
− 12
(µ − λ)2
µ
E(Wq ) =
E(Lq |Lq > 0) =
E(Wq |Wq > 0) =
λ
µ−λ
1
µ−λ
Mittelwert und Varianz der
Warteschlangenl¨ange
kumulierte Verteilungsfunktion der
Verweilzeit im Gesamtsystem
Mittelwert und Varianz der
Verweilzeit im Gesamtsystem
1
V ar(W ) =
(µ − λ)2
P (Wq ≤ t) = 1 − ρe−(µ−λ)t ;
Wahrscheinlichkeit, dass sich n Einheiten in der Warteschlange befinden
t≥0
kumulierte Verteilungsfunktion der
Wartezeit in der Schlange
Mittelwert und Varianz der
Wartezeitzeit in der Schlange
mittlere L¨ange der nichtleeren
Schlange (exklusive L¨ange Null)
mittlere Wartezeit in nichtleerer
Schlange (exklusive Nullwartezeiten)
5.3 Das Wartesystem M|M|1
101
In der nachfolgenden Tabelle sind f¨
ur einige Kombinationen von λ und µ die Zahlenwerte
f¨
ur die interessante Gr¨oßen zusammengestellt. Dabei u
¨berrascht, wie unerwartet groß die
Schlangenl¨ange 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
1
0.5
0.5
0.5
0.5
0.167
0.167
1
2
0.5
0.25
1
3
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
0.333 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 Werkzeugausgabe dauert im Mittel drei Minuten. Sowohl bei den Ank¨
unften wie bei der Ausgabedauer kann Exponentialverteilung unterstellt werden.
L¨osung: Die Voraussetzungen des M|M|1-Modells sind gegeben.
• Wie lange muss ein Arbeiter durchschnittlich warten?
4 = 1 ❀ λ = 14
λ
1 ❀ µ = 1
3 = µ
3
λ = 3 = 0.75
ρ = µ
4
E(Wq ) =
1
λ
4
=
µ(µ − λ)
1 1−1
3 3 4
= 9
• Wie lange ist die durchschnittliche Wartezeit, exklusive Null-Wartezeiten?
E(Wq |Wq > 0) =
1
= 1 1 1 = 12
µ−λ
3−4
102
5 Warteschlangentheorie
• Wie lange braucht ein Arbeiter im Mittel insgesamt, um ein Werkzeug zu holen?
1
E(W ) =
= 1 1 1 = 12
µ−λ
3−4
• Wieviele Arbeiter stehen im Mittel vor dem Schalter, wobei der gerade Bediente
mitgerechnet werden soll?
1
λ
= 1 4 1 = 3
E(L) =
µ−λ
3−4
• Wie lange ist die durchschnittliche Schlangenl¨ange, wobei der gerade Bediente nicht
mitgerechnet wird?
λ2
E(Lq ) =
= E(Wq ) · λ = 9 · 14 = 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, u
¨ber
die Gegenwahrscheinlichkeit.
Pˆ = (1 − ρ) + (1 − ρ)ρ + (1 − ρ)ρ2 + (1 − ρ)ρ3
= (1 − ρ) (1 + ρ + ρ2 + ρ3 )
= 14 1 + 34 + 34
2
+ 34
3
≈ 0.68
In 32% der F¨alle stehen mehr als drei Arbeiter am Schalter.
• Wie groß ist die Wahrscheinlichkeit, dass ein Arbeiter l¨anger als 10 Minuten warten
muss?
P (Wq > 10) = 1 − P (Wq ≤ 10)
= 1 −
1 − ρe−(µ−λ)·10
= ρe−(µ−λ)·10
1
1
= 34 · e−( 3 − 4 )·10 ≈ 0.33
• Welchen Prozentsatz der Zeit ist der Mann am Schalter durchschnittlich besch¨aftigt?
λ = 0.75
α = µ
75 % der Zeit ist der Mann am Schalter besch¨aftigt.
• W¨
urde die mittlere Abholzeit gr¨oßer als 15 Minuten werden, so w¨
urde die Firma
einen zweiten Mann f¨
ur die Werkzeugausgabe anstellen. Auf welchen Wert m¨
usste
die Ankunftsfrequenz steigen, damit dieser Fall eintritt?
F¨
ur diese Grenzfrequenz λ∗ ergibt sich die Bestimmungsgleichung:
5.3 Das Wartesystem M|M|1
103
1
4 bzw. 1 = 15 = 3.75
= 1 1 ∗ ❀ λ∗ = 15
4
µ − λ∗
λ∗
3 −λ
D. h. die mittlere Zwischenankunftszeit m¨
usste auf 3.75 Minuten sinken.
15 = E(W ) =
¨
¨
Das Ubergangsverhalten“
eines Wartesystems im Gleichgewichtsfall (Ubergang
von ei”
¨
nem Zustand in einen anderen) kann auch in Form eines sogenannten Ubergangsgraphen
veranschaulicht werden. Die Zust¨ande des Wartesystems (Anzahl der im System befindli¨
chen Kunden) entsprechen dabei den Knoten und die m¨oglichen unmittelbaren Uberg¨
ange
¨
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
erh¨alt man durch die folgende Plausibilit¨atsbetrachtung auf
einfache Weise das Gleichungssystem f¨
ur die station¨aren Wahrscheinlichkeiten.
Wir betrachten zun¨achst einen Zustand bzw. Knoten j ≥ 1. Von den Zust¨anden j − 1 und
¨
¨
j + 1 ist jeweils ein Ubergang
in den Zustand j m¨oglich und zwar mit den Ubergangsraten
λ bzw. µ. Die (station¨are) Wahrscheinlichkeit, dass sich das System im Zustand j − 1 bzw.
j + 1 befindet ist πj−1 bzw. πj+1 . Damit ist die Gesamteingangsrate“ f¨
ur den Zustand
”
bzw. Knoten j gleich
λ πj−1 + µ πj+1
¨
Befindet sich das System im Zustand j, so sind umgekehrt Uberg¨
ange in die Zust¨ande
¨
j − 1 bzw. j + 1 m¨oglich und zwar mit den Ubergangsraten µ bzw. λ. Die (station¨are)
Wahrscheinlichkeit, dass sich das System im Zustand j befindet ist πj . Folglich ist die
Gesamtausgangsrate“ gleich
”
(λ + µ) · πj
Da im Gleichgewichtsfall f¨
ur jeden Zustand die Gesamteingangsrate gleich der Gesamtausgangsrate sein muss ergibt sich
λ πj−1 + µ πj+1 = (λ + µ) · πj ;
j = 1, 2, 3, . . .
.
F¨
ur den Knoten j = 0 wer h¨alt 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 mathematisch einfachste Spielart dieser Problemstellung dar. Wir stellen hier noch einige Erweiterungen vor.
5.4.1
Endlicher Warteraum
Der zur Aufnahme der Warteschlange bestimmte Raum sei nun auf r Pl¨atze beschr¨ankt.
¨
Mit der zuletzt entwickelten Modellvorstellung eines Ubergangsgraphen
f¨
ur den station¨aren
Fall k¨onnen wir die Zustandswahrscheinlichkeiten leicht ausrechnen.
λ
λ
✲
λ
✲
0
λ
✲
1
2
r−2
✲
r
r−1
✛
✛
✛
✛
µ
µ
µ
µ
F¨
ur 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 L¨osung erhalten wir wieder f¨
ur j < r den Ausdruck
πj = π0 ρ j ;
λ
mit ρ = µ
.
Auch f¨
ur j = r erhalten wir dieselbe Beziehung aus
λp
πr = µ
r−1
Der Anfangswert“ π0 ergibt sich wieder aus der Normierungsbedingung.
”
r
1 =
r
= π0 ·
k=0
k=0
1 − ρr+1
ρk = π0 · 1 − ρ
❀
π0 =
1−ρ
1 − ρr+1
5.4 Ausblick
105
Damit gilt:
πk =
1−ρ
· ρk ;
1 − ρr+1
k = 0, 1, 2, . . . , r
Bemerkung: da es sich nur um endlich viele Zust¨ande handelt, ist die Konvergenzbedingung ρ < 1 nicht mehr notwendig. F¨
ur ρ = 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 − ρr
1−ρ
r
·
ρ
=
1 − ρr+1
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 f¨
ur die Anzahl der Einheiten im
System angegeben.
E(L) =
r
k · πk =
k=1
r
k·
k=1
1−ρ
ρk
1 − ρr+1
r
=
(1 − ρ)ρ
·
k · ρk−1
1 − ρr+1 k=1
=
(1 − ρ)ρ d
·
1 − ρr+1 dρ
=
(1 − ρ)ρ 1 − (r + 1)ρr + rρr+1
·
1 − ρr+1
(1 − ρ)2
=
ρ 1 − (r + 1)ρr + rρr+1
(1 − ρ)(1 − ρr+1 )
1 − ρr+1
1−ρ
Um den Einfluss eines begrenzten Warteraums zu demonstrieren, greifen wir das vorangegangene Beispiel nochmals auf.
Beispiel 5.3: Erg¨anzend zum Beispiel 5.2 auf Seite 101 nehmen wir einen endlichen Warteraum an. Insgesamt seien r Positionen (einschließlich der Schalterposition) verf¨
ugbar.
Dann ergeben sich f¨
ur die Zustandswahrscheinlichkeiten im station¨aren Zustand:
πk =
1 − 0.75 · 0.75k
1 − 0.75r+1
F¨
ur 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 )
r
α = 1 − 0.75r+1
1 − 0.75
106
5 Warteschlangentheorie
Die folgende Tabelle soll den Einfluss des endlichen Warteraums demonstrieren.
r
L
α
π0
π1
π2
π3
π4
4
5
6
7
∞
1.4443
1.7009
1.9217
2.1100
3
0.8963
0.9278
0.9487
0.9629
1
0.3278
0.3041
0.2885
0.2778
0.2500
0.2458
0.2281
0.2164
0.2084
0.1875
0.1844
0.1711
0.1623
0.1563
0.1406
0.1383
0.1283
0.1217
0.1172
0.1055
0.1037
0.0962
0.0913
0.0879
0.0791
5.4.2
π5
π6
π7
0
0
0
0.0722
0
0
0.0685 0.0513
0
0.0659 0.0494 0.0371
0.0593 0.0445 0.0334
Das Wartesystem M|M|s
Wir wollen jetzt annehmen, dass s parallele identische Bedienungsschalter zur Verf¨
ugung
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 beschr¨anken, k¨onnen wir die Zustands¨
wahrscheinlichkeiten wieder aus dem Ubergangsgraphen
entnehmen. Dabei ist zu beachten,
dass die Bedienungsraten f¨
ur die Knoten j < s jeweils linear mit j anwachsen. F¨
ur j ≥ s
erhalten wir dann die konstante Bedienungsrate s · µ.
λ
0
λ
λ
✲
✲
1
2
✛
s−2
✛
µ
λ
✲
(s − 1)µ
✲
s
s−1
✛
2µ
λ
✲
s+1
✛
✛
sµ
sµ
Die Wahrscheinlichkeiten πk lassen sich wieder aus den Bilanzgleichungen f¨
ur die einzelnen
Knoten bestimmen.
λπ0 = µπ1
λπj−1 + (j + 1)µπj+1 = (λ + jµ)πj
λπj−1 + sµπj+1 = (λ + sµ)πj
f¨
ur j = 1, 2, . . . , s − 1
f¨
ur j = s, s + 1, s + 2, . . .
Aus den Bilanzgleichungen ergeben sich nach einiger Zwischenrechnung:
1
π0 =
s−1
1+
j=1
ρj
ρs
+
j! (s − 1)! · (s − ρ)
j
πj =
ρ
·π
j! 0
f¨
ur
j = 1, 2, . . . , s − 1
πj =
ρj
· π0
s! · sj−s
f¨
ur
j = s, s + 1, s + 2, . . .
5.4 Ausblick
107
Die Wahrscheinlichkeit, dass ein zuf¨allig Ankommender warten muss, bestimmt sich daraus
zu
∞
P∗ =
∞
πk = π0
k=s
k=s
ρk
ρs
k−s = (s − 1)! · (s − ρ) · π0
s! · s
Die Parameter des Wartesystems errechnen sich daraus durch Auswertung der entsprechenden Reihen.
E(L) =
∞
k · πk
=
k=0
E(Lq ) =
∞
(k − s) · πk =
k=s
ρs+1
· π0 + ρ ;
(s − 1)! · (s − ρ)2
E(W ) = 1 · E(L)
λ
ρs+1
· π0 ;
(s − 1)! · (s − ρ)2
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:
1
π0 =
s−1
1+
j=1
0.75j +
0.75s
j!
(s − 1)! · (s − 0.75)
j
πj = 0.75 · π0
j!
πj =
0.75j · π
0
s! · sj−s
f¨
ur
j = 1, 2, . . . , s − 1
f¨
ur
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
Zus¨atzlich zu den bisherigen Angaben wollen wir noch unterstellen, dass ein Mann an der
Werkzeugausgabe Kosten in H¨ohe von 100 EUR pro Zeiteinheit verursacht. Wir nehmen
weiter an, dass die Produktionsausfallkosten eines Arbeiters w¨ahrend der Abholung bei
150 EUR liegen. Daraus ergibt sich die folgende Kostentafel:
Anzahl der Schalter
Kosten der Schalter
Produktionsausfallkosten
Gesamtkosten
s=1
s=2
1 · 100
2 · 100
3 · 150 0.8727 · 150
550
330.90
s=3
3 · 100
0.7647 · 150
414.70
Offenbar ist es optimal, die Werkzeugausgabe mit zwei Schaltern zu best¨
ucken.
108
5 Warteschlangentheorie
5.4.3
Das Wartesystem M|Ek |1
Die Annahme, dass die Bedienzeit exponentialverteilt ist, f¨
uhrt h¨aufig zu unrealistischen
Modellen. Die sogenannte Erlang-Verteilung besitzt neben dem Erwartungswert einen
zus¨atzlichen Parameter zur Modellierung der Bedienzeiten. Diese Verteilung besitzt noch
den Vorzug, dass sich die Warteschlangenparameter noch explizit berechnen lassen. Die
Dichtefunktion lautet:


0
f¨
ur t < 0

fk (t) =
.
k

 (kµ) · e−kµt · tk−1 f¨
ur t ≥ 0
(k − 1)!
F¨
ur k = 1 ergibt sich wieder die Exponential-Verteilung.
Die nachfolgende Skizze zeigt diese Dichtefunktionen f¨
ur einige ausgew¨ahlte Parameter.
1
µ
1
k=1
k=3
k=6
k=9
t
1
Die Erlang-Verteilung entsteht als Summe von k Exponenzial-Verteilungen. F¨
ur 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.
t
f2 (t) =
t
(µe−µτ ) · (µe−µ(t−τ ) ) dτ = µ2 e−µt
0
1 dτ
= µ2 · e−λt τ
0
t
0
= µ2 · t · e−λt
• F¨
ur die Dichtefunktion der Summe von drei Exponential-Verteilungen mit demselben
Parameter µ ergibt sich:
t
f3 (t) =
(µ2 τ e−µτ )·(µe−µ(t−τ ) ) dτ = µ3 e−λt
0
0
• Vermutung:
Es gelte fn (t) =
t
µn tn−1
· e−µt .
(n − 1)!
2
τ dτ = µ3 ·e−µt τ2
t
0
=
µ3 t2 −λt
·e
2!
5.4 Ausblick
109
Der Induktionsschluss ist noch durchzuf¨
uhren.
t
µn τ n−1 −µτ
e
(n − 1)!
fn+1 (t) =
0
· (µe−µ(t−τ ) ) dτ
t
µn+1
· e−λt ·
=
(n − 1)!
τ n−1 dτ
0
n
µn+1
=
· e−λt · τn
(n − 1)!
=
µ
n+1 n
n!
t
t
0
· e−µt
Soll der Erwartungswert der Summe von n Zufallsvariablen gleich bleiben, so muss der Erwartungswert des einzelnen Summanden auf den
n-ten Teil gesetzt. Damit ist gew¨ahrleistet, dass
der Erwartungswert konstant bleibt.
(nµ)n · tn−1 −nµt
·e
(n − 1)!
1
E(X + . . . + X ) = µ
V ar(X + . . . + X ) = 1 2
kµ
en (t) =
Im Gegensatz zur Exponential-Verteilung kann die Erlang-Verteilung mit Hilfe von zwei
Parametern an empirisch vorgefundene Verteilungen angepasst werden. Insbesondere ist
es m¨oglich, den Mittelwert (Erwartungswert) und die Varianz unabh¨angig voneinander zu
manipulieren. Sogar der deterministische Fall kann durch k → ∞ hergeleitet werden.
Die wichtigsten Formeln f¨
ur das System M|Ek |1
Formel
Bedeutung
λ = ρ
α = µ
2
ρ
E(L) = k + 1 · 1 − ρ + ρ
2k
2
ρ
λ2
E(Lq ) = k + 1 · 1 − ρ = k + 1 ·
2k
2k
µ(µ − λ)
Ausnutzungsgrad der Servicestelle
Mittelwert der Anzahl der Einheiten
im Gesamtsystem
Mittelwert der Warteschlangenl¨ange
λ
1
E(W ) = k + 1 ·
+ 1 = E(Wq ) + µ
2k µ(µ − λ) µ
Mittelwert der Verweilzeit im Gesamtsystem
E(Lq )
λ
E(Wq ) = k + 1 ·
=
2k
λ
µ(µ − λ)
Mittelwert der Wartezeit in der
Schlange
110
5 Warteschlangentheorie
Beispiel 5.5: Ein Friseur hat sich selbst¨andig gemacht und arbeitet noch alleine. F¨
ur
einen Haarschnitt ben¨otigt er durchschnittlich 15 Minuten bei einer Standardabweichung
von 5 Minuten. Es sind die interessierenden Gr¨oßen zu bestimmen, wenn die Kunden im
durchschnittlichen Abstand von 20 Minuten eintreffen.
Zur L¨osung 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 ) =
1
kµ2
❀
5
60
2
=
1
k · 42
❀
k = 9
32
λ2
E(Lq ) = k + 1 ·
·
= 10
= 54
18
2k
µ(µ − λ)
4 · (4 − 3)
λ = 5 + 3 = 2
E(L) = E(Lq ) + µ
4
4
5
E(Lq )
5
E(Wq ) =
= 43 = 12
bzw. 25 Minuten
λ
1 = 5 + 1 = 2
E(W ) = E(Wq ) + µ
bzw. 40 Minuten
12
4
3
5.4.4
Einschwingverhalten
F¨
ur endliche Warter¨aume wird das auf Seite 95 hergeleitete Differenzialgleichungssystem
f¨
ur exponential verteilte Wartesysteme endlich. Es ist lediglich die letzte Gleichung zu
modifizieren. F¨
ur r Wartepl¨atze erhalten wir das folgende System homogener linearer
Differenzialgleichungen mit konstanten Koeffizienten.
p˙0 (t) = −λ · p0 (t) + µ · p1 (t)
p˙j (t) = λ · pj−1 + − (λ + µ) · pj (t) + µ · pj+1 (t) ;
j = 1, 2, . . . , r − 1
p˙r (t) = −λpr−1 (t) − µpr (t)
bzw. in

p˙0

 p˙1

 p˙2


 .
 ..



 p˙r−1
p˙r
Matrix-Form


−λ
µ
0
0 0
···


µ
0 0
···
 λ −(λ + µ)



 0

λ
−(λ + µ) µ 0
···


 ..

..
..
.
..
 = .
.
.




λ −(λ + µ)
µ
0




0
λ
−(λ + µ) µ


0
0
λ
−µ

p0
p1
p2






· .
  ..



  pr−1
pr













5.4 Ausblick
111
F¨
ur s gleiche Kan¨ale ist das Differenzialgleichungssystem entsprechend zu modifizieren.
(vgl. Abschnitt 5.4.2)
p˙0 (t) = −λ · p0 (t) + µ · p1 (t)
p˙j (t) = λ · pj−1 + − (λ + j · µ) · pj (t) + (j + 1) · µ · pj+1 (t) ;
p˙j (t) = λ · pj−1 + − (λ + s · µ) · pj (t) + s · µ · pj+1 (t) ;
j = 1, 2, . . . , s − 1
j = s, (s + 1), . . . , r − 1
p˙r (t) = −λpr−1 (t) − s · µpr (t)
bzw.



 in Matrix-Form
−λ
µ
0
0 0
···
p0
p˙0




2µ
0 0
···
  p1
 λ −(λ + µ)
 p˙1 




  p2
 0
 p˙2 
λ
−(λ
+
2µ)
3µ
0
·
·
·





 ..


..
..
..
 · .
 .  = .
.
.
.
  ..

 .. 




λ
−(λ
+
sµ)
sµ
0








0
λ
−(λ + sµ) sµ   pr−1

 p˙r−1 
pr
p˙r
0
0
λ
−sµ
Solche Systeme sind numerisch unproblematisch. Wenn wir als Anfangsbedingung
p0 (0) = 1, pj (0) = 1; j = 1, 2, . . . r w¨ahlen, ergibt sich das folgende Einschwingverhalten der L¨osungskurven des Diffferenzialgleichungssystems.













112
5 Warteschlangentheorie
5.4.5
Simulation
Bei vielen praktischen Problemen treffen die in den vorangegangenen Abschnitten gemachten Annahmen nicht zu. Die Verteilungsstrukturen der Ank¨
unfte und der Bedienungszeiten
k¨onnen sehr vielf¨altig sein.
Ebenso ist zu beachten, dass die analytisch abgeleiteten Formeln nur f¨
ur den station¨aren
Zustand gelten. Viele Prozesse erreichen diesen station¨aren Zustand gar nicht (nur kurz¨
fristiges Offnen
der Servicestation).
H¨aufig trifft auch die FIFO-Regel“ nicht zu. Ebenso k¨onnen Problemstellungen mit meh”
reren sequentiellen Servicestationen auftreten.
In solchen F¨allen empfiehlt sich die L¨osung mittels stochastischer Simulation. Man erzeugt f¨
ur Zwischenankunfts-, Bedienungszeiten etc. Zufallswerte und errechnet die daraus
resultierenden Mittelwerte.
Beispiel 5.6: Simulation eines M|M|1-Warteschlangenmodell mit den Parameterwerten
λ = 10
und µ = 10
.
9
7
In den Spalten B und D stehen die Zufallswerte f¨
ur die Zwischenankunfts- bzw. Bedienungszeit. 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 nat¨
urlich unmittelbar nach seinem Eintreffen (T1 = 1, 5276) beginnen. Nach einer
Bedienungdauer von 1,0959 verl¨asst 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 f¨
ur den station¨aren Fall sind in der letzten Zeile (E(?))
angef¨
ugt.
Es zeigen sich starke Unterschiede zum station¨aren Fall. Ebenso erh¨alt man starke Unterschiede bei verschiedenen L¨aufen. Dies liegt an der kleinen“ Datenmenge. Eine Stabilisie”
rung w¨
urde sich erst bei mehreren tausend Kunden einstellen. Im Ergebnis bedeutet dies,
dass solche Simulationen mit einem Tabellenkalkulationsprogramm wenig aussagekr¨aftig
sind.
5.4 Ausblick
113
A
B
C
Nr.
Zwischenank.-Zeit
AnkunftsZeit
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
19,0405
25,4298
44,4703
0,7052
0,9418
1,6470
2,7222
3,5000
25,9093
∅
E(?)
0,9596
1
λ
= 0.9
D
E
F
G
Bedienungs- Bedienungs- Bedienungs- WarteBeginn
Zeit
Dauer
Ende
1
µ
= 0.7
H
VerweilZeit
114
6
6 Simulation
Simulation
6.1
Begriff Simulation
Aus Sicht des Operationsresearch besch¨aftigt sich die Simulation mit der Nachahmung
der Realit¨at durch Modelle auf einem Rechner. Das Durchspielen“ komplexer Zusam”
menh¨ange auf einem Rechner empfiehlt sich, wenn entweder ein Ausprobieren in der Realit¨at zu teuer ist oder sich aus anderen Gr¨
unden verbietet (Zerst¨orung etc.).
Besonders n¨
utzlich ist die Simulation in folgenden Situationen:
• Ein vollst¨andiges mathematisches Modell ist nicht verf¨
ugbar.
• Die verf¨
ugbaren analytischen Methoden setzen vereinfachende Annahmen voraus,
die den Kern des eigentlichen Problems verf¨alschen.
• Es ist zu kostspielig reale Experimente durchzuf¨
uhren.
• Die Beobachtung eines realen Systems ist zu gef¨ahrlich (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) L¨osungsverfahren nur eingesetzt werden, wenn
analytische Methoden nicht verf¨
ugbar sind.
• Bedingt durch die einfache Realisationsm¨oglichkeit besteht die Gefahr, auch weniger wichtige Einzelheiten in die Modellierung aufzunehmen. Es ist im Sinn einer
Selbstbeschr¨ankung auf eine sorgf¨altige, klare Modellierung zu achten.
• Simulation kann sich h¨aufig nicht wie andere Methoden des Operations Research auf
erprobte und standardisierte Kalk¨
ule st¨
utzen (Simplex-Methode, Gradiententechniken, etc.). Deshalb kommt der Korrektheitspr¨
ufung des Rechenprogramms und
des zugrundeliegenden Modells besondere Bedeutung zu. Eine Pr¨
ufung f¨
ur bekannte
Sonderf¨alle ist unabdingbar.
• Der Output eines Simulationslaufs l¨asst sich als Realisation entsprechender Zufallsvariabler interpretieren. Die Auswertung der Stichprobe hinsichtlich der Sch¨atzung
6.2 Erzeugen und Testen von Zufallszahlen
115
von Parameterwerten f¨
uhrt zu statistischen Aussagen etwa der Art, dass der Erwartungswert 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 tats¨achlich außerhalb liegt.
6.2
Erzeugen und Testen von Zufallszahlen
Zur Durchf¨
uhrung von Simulationen werden viele Zufallszahlen ben¨otigt. Beim Einsatz
von Computern stammen sie in der Regel nicht aus aktuellen Beobachtungen realer Zufallsexperimente (beispielsweise die Impulse eines Geigerz¨ahlers), 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 f¨
ur eine vorgegebene Verteilung auf
einem Rechner in zwei Stufen vorgenommen. Zun¨achst werden durch sogenannte Zufallszahlengeneratoren (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 g¨angigsten Verfahren und Ideen sind in der nachfolgenden Liste zusammengestellt.
• Physikalische Generatoren
– Zerfallsprozesse beim radioaktivem Zerfall: Zerplatzen der Kerne erfolgt rein
zuf¨allig; die Anzahl der gespaltenen Kerne pro Zeiteinheit gen¨
ugt einer Exponentialverteilung.
– Rauschvorg¨ange in R¨ohren
Diese M¨oglichkeit wird in Zukunft durch die einfachen und billigen Speicherm¨oglichkeiten (CD-Rom, DVD) wohl an Bedeutung gewinnen.
• Ziffernfolge bei Dezimaldarstellung der Zahl π
Die Ziffernfolge bei der N¨aherungsberechnung der transzendenten Zahl π gen¨
ugt keinerlei Gesetzm¨aßigkeit. Sie sind zuf¨allig“. Ziffern-Bl¨ocke bei der Berechnung k¨onnen
”
als Zufallszahlen dienen.
π = 3. 14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 . . .
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
Y10
116
6 Simulation
Nach Division durch 105 ergeben sich Standard-Zufallszahlen zwischen 0 und 1.
Zi = Yi5
10
• 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 gew¨ahlt, so ergibt sich eine Folge von Zahlen zwischen 0 und
Yi
m − 1. Standardzufallszahlen ergeben sich nach Division durch m: zi = m
Einen solchen linearen Kongruenzoperator bezeichnen wir mit
C(m, a, r, Y0 )
Einfachstbeispiel f¨
ur 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 = 1
Der lineare Kongruenzoperator erzeugt zum Startwert Y0 = 1
8 zuf¨allige“ Zahlen zwischen 0 und 31.
”
Normierung auf 1 ergibt:
Yi
Zi
10
10
32
9
9
32
2
2
32
17
17
32
26
26
32
25
25
32
18
18
32
1
1
32
An diesem Beipiel wird klar: Von totaler Zuf¨alligkeit kann keine Rede sein. Die Zahlenfolge
muss periodisch werden, da nur endlich viele Reste m¨oglich sind. Wenn m und a entsprechend gew¨ahlt werden, ergeben sich lange Perioden und angen¨aherte Gleichverteilung.
Vorschl¨age:
• 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.
Qualit¨
atskontrolle der Pseudo-Zufallszahlen
Forderungen:
• Periode sollte m¨oglichst groß sein!
• Die relative H¨aufigkeit der standardisierten Pseudo-Zufallszahlen zi , die in einem
Teilintervall von [0, 1] liegen, sollte ungef¨ahr gleich der Intervallbreite sein:
h(zi : z ≤ zi ≤ z + ∆z) ≈ ∆z
• Aus der Lage der Pseudo-Zufallszahl zi sollte keine wesentliche Information u
¨ber die
Lage der folgenden Zahl zi+1 ableitbar sein. (Verallgemeinerung: zi → 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 unabh¨angig, so multiplizieren sich die
Wahrscheinlichkeiten, d.h. es m¨
usste gelten:
h( (zi , zi+1 ) : z ≤ zi ≤ z + ∆z; z˜ ≤ zi+1 ≤ z˜ + ∆˜
z ) ≈ ∆z · ∆˜
z
Durchfu
¨ hrung fu
¨r
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 < L¨aufen.
¨
• Zur Uberpr¨
ufung 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 m¨
ussten jeweils 5.000 Zahlen in jedem Teilintervall
liegen. Dies wird nat¨
urlich nicht genau der Fall sein – zuf¨allige Abweichungen m¨
ussen
zugelassen werden. Die typische Messgr¨oße f¨
ur Abweichungen von Soll- und Ist-Wert
ist die Summe der Abweichungsquadrate. Der Statistiker spricht vom sogenannten
χ2 -Test.
118
6 Simulation
Pr¨
ufgr¨oße:
χ2ber
1
= n
N
i=1
Hi
pi
N
n
:
:
:
:
(Hi − npi )2
pi
absolute H¨aufigkeiten
theoretische Wahrscheinlichkeiten; hier pi =
Anzahl der Klassen; hier N = 20
Stichprobenzahl; hier n = 1000.000
1
20
Die theoretische Schranke zum Vertrauensniveau 0.99 ist: χ219 = 36.2
• Zum Test der Zahlenpaare (zi , zi+1 ) auf Unabh¨angigkeit unterteilen wir das Einheitsquadrat in 100 Teilquadrate und bestimmen wieviele der Zahlenpaare in jedem Quadr¨atchen liegen. Die gemessenen H¨aufigkeiten werden mit den theoretischen
Wahrscheinlichkeiten verglichen und die entsprechende Pr¨
ufgr¨oße berechnet.
Pr¨
ufgr¨oße:
χ2ber
1
= n
N
i=1
Hi
pi
N
n
:
:
:
:
(Hi − npi )2
pi
absolute H¨aufigkeiten
theoretische Wahrscheinlichkeiten; hier pi =
Anzahl der Klassen; hier N = 100
Stichprobenzahl; hier n = 1000.000
1
100
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 erh¨alt 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 erh¨alt sie einfach dadurch, dass man jeweils n Bernoulli-veteilte Zufallszahlen generiert und die Ergebnisse aufsummiert.
6.2 Erzeugen und Testen von Zufallszahlen
119
Zufallszahlen, die einer empirischen Verteilung genu
¨ gen
In ¨okonomischen Simulationsrechnungen ben¨otigt man oft diskrete Zufallszahlen, die einer
empirisch ermittelten Verteilung gen¨
ugen.
Beispiel 6.1: F¨
ur die w¨ochentliche Nachfrage nach einem Produkt wurden in der Vergangenheit die folgenden H¨aufigkeiten registriert:
Nachfragemenge
H¨aufigkeit
relative H¨aufigkeit
0
1
5
10
0.1 0.2
2
3
20
4
0.4 0.08
4
5
5
6
0.1 0.12
Die simulierten Absatzmengen sollen in ihren Wahrscheinlichkeiten den bisher beobachteten relativen H¨aufigkeiten entsprechen. Unter Verwendung von im Intervall (0, 1) gleichverteilten Zufallszahlen zi lassen sich diskrete Zufallszahlen, die den vorgegebenen relativen
H¨aufigkeit entsprechen, wie folgt ermitteln:
Man unterteilt das Intervall (0, 1) entsprechend den relativen H¨aufigkeiten 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). F¨allt eine
Zufallszahl zi in das k-te Intervall (mit k = 0, 1, . . . , 5), so erh¨alt man die simulierte
Zufallszahl xi = k.
0
0.1
0.3
0.7 0.78 0.88
1
gleichverteilt: zi
(
)[
)[
)[
)
Nachfrage:
| 0 |
xi
1
|
2
)[
)[
| 3 | 4 |
5
|
Viele Software-Pakete bieten entsprechende Generatoren auch f¨
ur kompliziertere Verteilungsstrukturen 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 Verteilungsfunktion
xi = F −1 (zi )
120
6 Simulation
ab.
1
F (x + ∆x)
zi
F (x)
xi
x
x + ∆x
F¨
ur 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) =

1
2
cos x
0
π
f¨
ur − π
2 ≤x≤ 2
sonst
F¨
ur die Verteilungsfunktion erhalten wir:




x
f (t)dt =
F (x) =
−∞
1



1
2
Konstruktion der Umkehrfunktion:
z
=
e−λx =
−λx =
x =
1 − e−λx
1−z
ln(1 − z)
− 1 ln(1 − z)
λ
f¨
ur
x < −π
2
π
+ 12 sin x f¨
ur − π
≤
x
≤
2
2
π
1
f¨
ur
x> 2
0
6.2 Erzeugen und Testen von Zufallszahlen
121
F (x)
1
z1
1
f (x)
z2
x
x
π
2
− π2
− π2
x2
x1
π
2
F¨
ur die Umkehrfunktion erhalten wir:
z = 12 + 12 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 m¨oglich, die Umkehrung der Verteilungsfunktion zu bestimmen. Eine anylytisch sehr einfache Methode, die
ausnutzt, dass (0, 1)-gleichverteilte Zufallszahlen ohne großen Aufwand erzeugt werden
k¨onnen, ist als Verwerfmethode bekannt. Sie ben¨otigt nur die Dichte f (x) der gew¨
unschten Verteilung, die auf einem (zun¨achst als beschr¨ankt angenommenen) Intervall stetig,
positv und beschr¨ankt 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 f¨
ur eine Realisation (z1 , z2 ) der Punkt (X, Y ) nicht oberhalb des Funktionsgraphen von f (x), d. h.
gilt
Y ≤ f (X)
bzw.
z2 ≤
1
· f (a + [b − a]z1 )
c
so wird
x = a + (b − a)z1
als n¨achste Zufallszahl verwendet. Liegt dagegen das Paar (X, Y ) oberhalb der Funktionskurve, 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 Fl¨acheninhalt des Rechtecks A = c · (b − a) erheblich gr¨oßer als 1 ist.
122
6 Simulation
y
c
˜ Y˜ )
(X,
f (x)
(X, Y )
x
a
b
Bei unbeschr¨anktem Intervall ist der x-Bereich zun¨achst einer Transformation zu unterwerfen.
Erzeugung von Zufallszahlen fu
¨ r spezielle stetige Verteilungen
Standard-Normalverteilung
Aus zwei (0, 1)-gleichverteilten Zufallszahlen z1 , z2 erh¨alt man zwei Zufallszahlen f¨
ur 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 h¨aufig auftretende Erlang-Verteilung mit den Parametern λ und n ergibt sich als die Wahrscheinlichkeitsverteilung der Summe von n unabh¨angigen, identisch mit dem Parameter λ verteilten exponentiellen Zufallsvariablen. Sie besitzt
die Dichtefunktion
n n−1 −λ
f (x) = λ x e
(n − 1)!
Eine einfache Methode zur Erzeugung derart verteilter Zufallszahlen x geht von n exponentiell verteilten Zufallszahlen u1 , u2 , . . . un aus, die wiederum aus (0, 1)-gleichverteilten
Zufallszahlen z1 , z2 , . . . zn erzeugt werden k¨onnen.
n
x =
uk
k=1
= −1
λ
n
ln(zk )
k=1
F¨
ur große Werte von n ist diese Methode allerdings nicht zu empfehlen. In diesem Fall
ist die Verwerfmethode g¨
unstiger, da bei ihr die Zahl der ben¨otigten (0, 1)-gleichverteilten
Zufallszahlen nicht von n abh¨angt.
6.3 Beispiele
6.3
123
Beispiele
Die Vorgehensweise soll an drei Beispielen deutlich gemacht werden. Dabei spielen Simulationen mit diskreten und kontinuierlichen Zufallsvariablen eine Rolle. Die Beispiele
sind bewusst so angelegt, dass sie auch noch einer expliziten Berechnung mit Hilfsmitteln
der Wahrscheinlichkeitsrechnung zug¨anglich sind. Diese Berechnungen sind angef¨
ugt, obwohl sie teilweise u
¨ber 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. F¨
ur 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 unabh¨angig voneinander ablaufen. Beim Stand von 5:5 soll nun die Wahrscheinlichkeit ermittelt werden,
mit der Spieler A gewinnt. Wir wollen nun eine Reihe von Satzverl¨aufen simulieren. Die
dabei beobachtete relative H¨aufigkeit des Satzgewinns von A l¨asst sich als Sch¨atzwert f¨
ur
die gesuchte Wahrscheinlichkeit verwenden. Wir bestimmen zun¨achst die theoretischen
Wahrscheinlichkeiten, dass der Spieler A bzw. B gewinnt. Ebenso wollen wir den Erwartungswert f¨
ur 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 + 13 13 = 59
b) Wahrscheinlickeit, dass Spieler A bzw. B gewinnt.
22
pA = 2 2 3 3 1 1 = 45
33 + 33
11
pB = 2 2 3 3 1 1 = 15
33 + 33
c) Erwartungswert f¨
ur die Spiell¨ange
Die Wahrscheinlichkeit, dass der Satz nach einer Zweier-Runde beendet wird ist pE =
5
. Die Anzahl der ben¨otigten Zweier-Runden gen¨
ugt einer geometrischen Verteilung.
9
pZ (k) = 59 49
k−1
124
6 Simulation
F¨
ur deren Erwartungwert L (Anzahl der Zweier-Runden) gilt:
∞
L =
∞
k · pZ (k) =
k=1
D. h.
9
5
k=1
k 95 49
k−1
= . . . = 59
· 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 f¨
ur A bzw. B je nachdem ob zi ≤ 23 gilt.
Nr.
Zufallszahl
Spielgewinn
Matchstand
Satzgewinner
Satzl¨ange
1
2
3
4
0.7222
0.4615
0.0258
0.3495
B
A
A
A
5
6
7
8
:
:
:
:
6
6
6
6
A
14
5
6
7
8
0.7626
0.1824
0.2178
0.0145
B
A
A
A
5
6
7
8
:
:
:
:
6
6
6
6
A
14
9
10
11
12
0.1887
0.6957
0.8013
0.7728
A
B
B
B
6
6
6
6
:
:
:
:
5
6
7
8
B
14
13
14
15
16
17
18
0.6448
0.5845
0.6857
0.5457
0.7688
0.8506
B
A
B
A
B
B
5
6
6
7
7
7
:
:
:
:
:
:
6
6
7
7
8
9
B
16
19
20
0.5123
0.5261
A
A
6:5
7:5
A
12
21
22
0.5704
0.0541
A
A
6:5
7:5
A
12
23
24
25
..
.
0.7373
0.5448
0.5144
..
.
B
A
A
..
.
5:6
6:6
7:6
..
.
..
.
..
.
6.3 Beispiele
125
Unsere Simulation f¨
ur sechs S¨atze ergab die folgenden Werte:
a) Relative H¨aufigkeit f¨
ur den Satzgewinn von Spieler A bzw. B
hA = 46 = 23
hB = 26 = 31
b) Mittlere Satzl¨ange
16 + 12 + 12 = 82 = 13.6
LS = 14 + 14 + 14 +
6
6
Die Simulation traf “ den theoretischen Wert der Satzl¨ange relativ gut.
”
13.6
↔
13.6
Die Abweichungen bei der Gewinnwahrscheinlichkeit sind relativ groß.
4, 1
5 5
↔
2, 1
3 3
Angesichts der geringen Zahl von Simulationsl¨aufen ist dies auch nicht weiter verwunderlich. Bei Erh¨ohung der Simulationszahl ergaben sich folgende Werte:2
Anzahl der L¨aufe
hA
hB
LS
20
50
100
1000
10000
100000
0.7000
0.8000
0.7700
0.8110
0.8041
0.7996
0.3000
0.2000
0.2300
0.1890
0.1959
0.2004
13.1000
13.4000
13.5800
13.5640
13.5692
13.5885
6.3.2
Simulation eines M|M|1-Warteschlangenmodells
Eine M|M|1-Warteschlangenmodell mit den Parameterwerten λ =
simuliert werden. Die theoretischen Werte ergeben sich zu:
mittlere Zwischenankunftszeit
mittlere Bedienzeit
mittlere Verweilzeit
mittlere Wartezeit
2
10
9
und µ =
1
Z = 1 = 10
λ
9
1
1
Z = µ = 10
7
1
W =
= 10 1 10
µ−λ
7 − 9
Wq =
10
λ
9
=
µ(µ − λ)
10 10 − 10
7 7
9
10
7
soll
=
0.9
=
0.7
= 3.15
= 2.45
Die Simulation erfolgte mit dem Zufallszahlengenerator von MATLAB f¨
ur (0, 1)-gleichverteilte Zufallszahlen; Startstellung: rand(’seed’,0)
126
6 Simulation
A
B
C
Nr.
Zwischenank.-Zeit
AnkunftsZeit
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
19,0405
25,4298
44,4703
0,7052
0,9418
1,6470
2,4500
3,1500
25,9093
∅
E(?)
0,9596
1
λ
= 0.9
D
E
F
G
Bedienungs- Bedienungs- Bedienungs- WarteBeginn
Zeit
Dauer
Ende
1
µ
= 0.7
H
VerweilZeit
In den Spalten B und D stehen die Zufallswerte f¨
ur die Zwischenankunfts- bzw. Bedienungszeit. 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 nat¨
urlich unmittelbar nach seinem Eintreffen (T1 = 1, 5276) beginnen. Nach einer
Bedienungdauer von 1,0959 verl¨asst 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 f¨
ur den station¨aren Fall sind in der letzten Zeile (E(?))
angef¨
ugt.
Es zeigen sich starke Unterschiede zum station¨aren Fall. Ebenso erh¨alt man starke Unterschiede bei verschiedenen L¨aufen. Dies liegt an der kleinen“ Datenmenge. Eine Stabilisie”
rung w¨
urde sich erst bei mehreren tausend Kunden einstellen. Im Ergebnis bedeutet dies,
dass solche Simulationen mit einem Tabellenkalkulationsprogramm3 wenig aussagekr¨aftig
sind.
6.3.3
Ein Entscheidungsproblem
Viele Anwendungen f¨
ur die Simulation ergeben sich bei Entscheidungsproblemen im Zusammenhang 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 gerade mit der Bedienung eines Kunden begonnen, aber kein Kunde warte zus¨atzlich. Es sei
bekannt, dass die Bedienungszeiten unabh¨angige, exponentialverteilte Zufallsgr¨oß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. 20
Einheiten. Ferner wisse der OR-Spezialist, dass
3
in K¨
urze ein Inspektor eintreffen wird, der zuerst Kasse 1 und dann Kasse 2 kontrollieren
wird. Bei der Kontrolle muss die Bedienung an der jeweiligen Kasse f¨
ur die Dauer von 20
Einheiten unterbrochen werden. (Die Kontrolle finde auch w¨ahrend 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
unabh¨angig von den Bedienungszeiten der Kunden. Vor welcher Kasse soll sich unser ORSpezialist anstellen, wenn er keine M¨oglichkeit hat, sp¨ater zu wechseln? Ist es g¨
unstiger,
sich an Kasse 1 anzustellen, an der die mittlere Servicezeit k¨
urzer ist als an Kasse 2, aber
gleichzeitig eine gr¨oßere Gefahr besteht, durch Kassenkontrolle aufgehalten zu werden?
Zun¨achst wollen wir wieder mit Hilfe der Wahrscheinlichkeitsrechnung eine Entscheidung
treffen, indem wir f¨
ur die beiden Varianten die Erwartungswerte bestimmen. Ist P1 bzw.
P2 die Wahrscheinlichkeit, dass w¨ahrend 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 · 20
3 · P2 +
3
2 · 20
3 + 20 · (1 − P2 )
Die Simulation wurde mit dem Tabellenkalkulationsprogramm Excel vorgenommen.
128
6 Simulation
Berechnung von P1
a) Wir bestimmen zun¨achst die Dichtefunktion f1 (t) f¨
ur die Gesamtwartezeit. Sie ist
die Summe zweier identischer, exponentiell verteilter Zufallsvariabler.4 Die Dichtefunktion ergibt sich durch Auswertung des entsprechenden Faltungsintegrals.
∞
f1 (t) =
−∞
= µ21
fµ1 (τ )fµ1 (t − τ )dτ
t
e−µ1 τ · e−µ1 (t−τ ) dτ
0
µ21 e−µ1 t
=
= µ21 te
t
1dτ
0
−µ1 t
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 f¨
ur P1 :
∞
P1 =
0
µ21 te−µ1 t · e−λt dt
= µ21
∞
te−(µ1 +λ)t dt
0
−(µ1 +λ)t
− te
µ1 + λ
= µ21
−(µ1 +λ)t
= µ21 − e
(µ1 + λ)2
=
=
∞
+
0
1
µ1 + λ
∞
e−(µ1 +λ)t dt
0
∞
0
µ21
(µ1 + λ)2
0.22
= 0.64
(0.2 + 0.05)2
Berechnung von P2
a) F¨
ur die Dichtefunktion f2 (t) der Gesamtwartezeit ergibt sich analog:
f2 (t) = µ22 te−µ2 t
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
4
Es ergibt sich eine Erlang-Verteilung mit dem Parameter n = 2.
6.3 Beispiele
129
nimmt ja diese Zeit in Anspruch. F¨
ur die folgende Zeit ist die um 20 Einheiten
verschobene“ Verteilungsfunktion der Ankunftszeit zu ber¨
ucksichigen.
”
20
µ22
P2 =
∞
te
−µ2 t
dt +
µ22
0
I1 = µ22
=
20
te−µ2 t · e−λ(t−20) dt = I1 + I2
20
te−µ2 t dt
0
e−µ2 t · (−1 − µ t)
2
µ22
µ22
= 1−e
−20µ2
20
0
(1 + 20µ2 )
= 1 − 4e−3
I2 = µ22
∞
te−µ2 t · e−λ(t−20) dt
20
= µ22 e20λ
=
µ22 e20λ
=
µ22
=
∞
te−(λ+µ2 )t dt
20
e−(λ+µ2 )t · (−1 − (λ + µ )t)
2
(λ + µ2 )2
(λ + µ2 )2
∞
20
· e20λ · e−20(λ+µ2 ) (1 + 20(λ + µ2 ))
µ22
· e−µ2 (1 + 20(λ + µ2 ))
(λ + µ2 )2
2
= 0.152 5e−4
0.2
P2 = I1 + I2
= 1 − e−20µ2 (1 + 20µ2 ) +
µ22
· e−µ2 (1 + 20(λ + µ2 ))
(λ + µ2 )2
2
= 1 − 4e−3 + 0.152 5e−4 ≈ 0.9407
0.2
Bestimmung der Erwartungswerte
W1 = µ21 · P1 +
2
µ1 + 20 · (1 − P1 )
= 10 · 0.64 + 30 · 0.36 = 17.2
W2 = µ22 · P2 + µ22 + 20 · (1 − P2 )
100
= 40
3 · 0.9407 . . . + 3 · 0.0593 . . . ≈ 14.516
130
6 Simulation
Die Simulation dieser Entscheidungssituation kann so vorgenommen werden, dass die
zuf¨alligen Bedienzeiten des wartenden Kunden und des OR-Spezialisten sowie die zuf¨allige
Dauer bis zum Eintreffen des Inspektors durch exponentialverteilte Zufallszahlen bestimmt
werden. Das einmalige Durchspielen“ dieser Entscheidungssituation f¨
ur Kasse 1 oder 2
”
stellt einen Simulationslauf dar. Aus einer Vielzahl von Simulationsl¨aufen l¨asst sich dann
absch¨atzen, wie groß der Erwartungswert der Verweildauer bis zum Ende der Bedienung
des OR-Spezialisten ist. In den folgenden beiden Tabellen sind jeweils 10 Simulationsl¨aufe5
eingetragen.
Bedienzeit des
wartenden
Kunden an
Bedienzeit des
OR-Spezialisten
an
Kasse 1
Kasse 2
Kasse 1
Kasse 2
µ1 =0.2
µ2 =0.15
µ1 =0.2
µ2 =0.15
λ=0.05
7.5943
15.2833
1.9367
1.9335
0.3377
4.7921
3.2752
0.9258
16.8235
14.6440
4.2363
2.6584
32.4451
6.3909
18.0361
5.8234
2.5050
3.5291
0.4807
1.1136
3.2034
11.9317
2.1239
4.3854
1.7749
0.4698
1.3577
6.6884
15.2389
1.5321
7.4269
3.0524
1.8611
0.0600
6.7129
9.3214
0.1174
2.1654
1.8881
2.8563
Mittelwert
6.7546
7.7219
4.8706
Erwartungswert
5
6.6
41.626
100.187
Parameter
Varianz
Dauer bis zur
Ankunft des
Inspektors
Verweildauer des
OR-Spezialisten
an
Kasse 1
Kasse 2
52.4322
9.1889
2.4500
25.9869
16.5834
5.3185
14.7741
28.7287
25.8265
20.4739
10.7978
47.2150
24.0605
6.3188
2.1126
5.2618
4.6330
7.6143
52.0624
16.1760
11.6631
5.7108
54.3063
6.4509
24.7490
15.1448
2.6224
5.6946
2.3688
3.9699
3.5462
20.1763
17.6252
13.2681
5
6.6
20
17.2
14.516
24.851
10.063
208.572
326.883
255.730
Aus den ersten 10 Simulationsl¨aufen erhalten wir Werte f¨
ur die Verweildauer, die relativ
nahe an den theoretisch errechneten liegen. Aus diesem Simulationslauf ergibt sich ganz
klar eine Pr¨aferenz f¨
ur Kasse 2. Beim zweiten Simulationslauf ergibt sich das umgekehrte
Bild. Der Unterschied zu den theoretischen Werten ist betr¨achtlich.
Auff¨allig ist weiter, dass die Varianz bei beiden L¨aufen an der Kasse 1 gr¨oßer ist. Ein
Risiko liebender Entscheidungstr¨ager wird sich daher – in der Hoffnung auf einen schnellen
Einkauf – eher an Kasse 1 anstellen.
5
Die Zufallszahlen wurden mit MATLAB gewonnen. Es wurde der eingebaute Zufallszahlengenerator
f¨
ur Exponentialverteilungen benutzt.
6.3 Beispiele
131
Bedienzeit des
wartenden
Kunden an
Bedienzeit des
OR-Spezialisten
an
Kasse 1
Kasse 2
Kasse 1
Kasse 2
µ1 =0.2
µ2 =0.15
µ1 =0.2
µ2 =0.15
λ=0.05
2.7961
1.1007
17.0481
3.1326
3.4810
0.2283
1.4498
2.9477
0.5785
2.3512
1.1462
12.2269
10.3175
2.2392
13.5796
15.9800
8.6166
38.7285
5.8745
24.1101
1.7137
0.3206
7.1374
8.5492
5.7358
0.5996
2.1381
9.4744
1.9184
4.7620
6.3164
4.6244
12.7580
3.5494
1.1183
3.5163
0.3041
3.9115
12.7301
0.1122
Mittelwert
3.5114
13.2819
4.2349
Erwartungswert
5
6.6
23.889
125.322
Parameter
Varianz
Dauer bis zur
Ankunft des
Inspektors
Verweildauer des
OR-Spezialisten
an
Kasse 1
Kasse 2
17.8922
39.0640
11.4222
27.5565
14.3277
15.3561
0.7936
41.4246
32.2131
22.8356
4.5098
1.4213
44.1855
11.6818
9.2167
0.8279
23.5879
12.4221
2.4970
7.1132
7.4626
16.8513
23.0756
5.7886
14.6978
19.4963
8.9207
42.6400
18.6047
24.2223
4.8941
22.2886
11.7463
18.1760
5
6.6
20
17.2
14.516
11.297
20.911
165.002
176.065
114.302
Die folgende Tabelle enth¨alt die errechneten Mittelwerte f¨
ur diverse Simulationsl¨aufe.
Anzahl der
L¨aufe der
Simulation
20
50
100
1000
10000
100000
Erwartungswert
Varianz f¨
ur
n = 100000
Bedienzeit des
wartenden
Kunden an
Bedienzeit des
OR-Spezialisten
an
Dauer bis zur
Ankunft des
Inspektors
Kasse 1
Kasse 2
Kasse 1
Kasse 2
µ1 =0.2
µ2 =0.15
µ1 =0.2
µ2 =0.15
λ=0.05
6.2730
5.0241
4.8059
4.9618
4.9909
4.9962
5.0202
6.1169
6.3887
6.6222
6.6977
6.6481
4.5525
5.3901
5.1606
5.3101
4.9501
4.9887
7.3419
5.5905
6.3622
6.3558
6.6706
6.7419
5
6.6
5
25.064
43.836
24.882
Verweildauer des
OR-Spezialisten
an
Kasse 1
Kasse 2
15.7290
20.7572
23.4875
19.9252
19.8943
20.0058
19.8255
19.6142
15.1665
17.5719
17.1630
17.1498
12.3621
12.9074
13.9509
14.1380
14.5743
14.5815
6.6
20
17.2
14.516
45.713
399.195
192.824
160.664
132
LITERATURVERZEICHNIS
Literaturverzeichnis
[1] Domschke, W. und Drexl, A.: Einf¨
uhrung in Operations Research. Springer-Verlag,
Berlin 2002
¨
[2] Domschke, W. und Drexl, A.: Ubungsbuch
Operations Research. Springer-Verlag,
Berlin 1995
[3] D¨
urr, W. und Kleibohm, K.:
M¨
unchen/Wien 1992
Operations Research 3. Aufl., Hanser-Verlag,
[4] Leiser, W.: Angewandte Wirtschaftsmathematik. Sch¨afer-Poeschel Verlag, Stuttgart
2000
[5] Mohr, R.: Statistik f¨
ur Ingenieure und Naturwissenschaftler. Expert-Verlag, Renningen 2003
[6] Neumann, K. und Morlock, M.: Operations Research. Hanser-Verlag, M¨
unchen/Wien
1999
[7] Stingl, P.: Operations Research. Fachbuch Verlag im Hanser-Verlag, M¨
unchen 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,
M¨
unchen/ Wien 2001
Index
¨
Uberkapazit¨
at, 43
Abbruchkriterium, 7
Abfertigungsrate, 99
Ankunftsrate, 92, 93, 99
Ausnutzungsgrad, 99
Austauschverfahren, 4
Basisfeld, 37, 39
Basisl¨osung, 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 L¨osung, 1
Zielfunktion, 2
zul¨assiger Punkt, 2
lineare Ungleichungen, 2, 3, 7
Markov-Eigenschaft, 89
Matrixinversion, 4
nichtlineare Optimierung, 70
Zielfunktion, 70
Nord-West-Ecken-Regel, 34
Opportunit¨atskosten, 23
Optimalit¨atstest, 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
¨
Ubergangsgraph,
103, 104, 106
Umladeprobleme, 49
ungarische Methode, 53
Unterkapazit¨at, 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
zul¨assiger Bereich, 3, 16–18
Zuordnungsproblem, 50
Maximierung, 55
Zustand, 57
Zustandsvariable, 57
INDEX
Document
Kategorie
Gesundheitswesen
Seitenansichten
35
Dateigröße
3 777 KB
Tags
1/--Seiten
melden