Sie sind auf Seite 1von 31

Ver. 1.0 24.07.

01

Zusammenfassung „Einführung in die Operations


Research I/II“ bei Prof. Neumann

I. Lineare Optimierung
Die Lineare Optimierung ist dadurch gekennzeichnet, daß sowohl die Zielfunktion wie auch die
Funktionen der Entscheidungsparameter linear sind, d.h. Geraden in einem Koordinatensystem
bilden.
Beispiele:
- Produktionsplanung: Wie optimiere ich bei beschränkter Faktoreinsatzmenge und mehreren
Outputs meinen Gewinn?
- Transportproblem: Welches Lager beliefert welchen Kunden mit welcher Menge?
- Verkehrsnetze: Welches ist der kürzeste / schnellste Weg durch das Netz?
- Tourenplanungsproblem: Wie erreiche ich auf kürzestem Weg in kürzester Zeit meine Kunden?
- Zuordnungsproblem: Welche Bewerber soll ich auch welche Stelle setzten und wonach
auswählen?
- Verschnittproblem: Wie wähle ich mein Schnittmuster, so daß möglichst wenig Verschnitt
entsteht?

II. Nichtlineare Optimierung


Nichtlineare Optimierung muß dann angewendet werden, wenn auch nur eine nichtlineare Zielfunktion
oder Nebenbedingung auftritt. Dies ist häufig bei wechselseitigen Abhängigkeiten von Einflußgrößen
der Fall.
Beispiel:
- Nichtlineare Produktionsplanung: Wie produziere ich effizient, wenn der Energiebedarf schwankt
und ich günstigere eigene Energie und teure Fremdenergie zur Verfügung habe, welche sich aus
Bereitstellungs- und Verbrauchskosten zusammensetzt?

III. Dynamische Optimierung


Diese Art der Optimierung ist meistens unter Berücksichtigung von nichtlinearen Zusammenhängen
bei planungsablaufabhängigen Problemen der Fall. Hier können auch Prognosen in die Planung mit
einfließen.
Beispiel:
- Ersatzteilbeschaffung: Welches Ersatzteil verwende ich, wenn sie zu unterschiedlichen Preisen
und Lebensdauern zur Verfügung stehen?
- Dynamische Lagerhaltung: Verringerung von Stillstandzeiten durch Pufferhaltung.
- Maschinenbelegungsplanung: Wie kann ich meine Stillstandszeiten einer Fertigungsstraße
minimieren?
- Warteschlangen: z.B. Supermarktkassenschlange bei zufallsbedingter Ankunft und Kassiermenge
von Kunden.

1/1
© A. Jacob
Ver. 1.0 24.07.01

Inhaltsverzeichnis

Zusammenfassung „Einführung in die Operations Research I/II“ bei Prof. Neumann ............................ 1
I. Lineare Optimierung ......................................................................................................................... 1
II. Nichtlineare Optimierung .............................................................................................................. 1
III. Dynamische Optimierung.............................................................................................................. 1
Inhaltsverzeichnis................................................................................................................................. 2
Lineare Optimierung ................................................................................................................................ 3
Formulierung eines linearen Optimierungsproblems........................................................................ 3
Lösung des Problems ....................................................................................................................... 3
Typische Eigenschaften linearer Optimierungsprobleme................................................................. 3
Standardproblem der Linearen Optimierung .................................................................................... 3
Die entartete oder degenerierte Ecke............................................................................................... 4
Das Simplexverfahren ...................................................................................................................... 4
Kleinste-Index-Regel ........................................................................................................................ 5
Der Austauschschritt der Simplexmethode ...................................................................................... 6
Dualität.............................................................................................................................................. 6
Modifikationen des Standardproblems und Sonderformen des Simplex ......................................... 8
Sensitivitätsanalyse und parametrische Optimierung .................................................................... 10
Vektoroptimierung und Goal-Programming .................................................................................... 10
Zwei-Personen-Nullsummenspiele................................................................................................. 11
Graphen und Netzwerke .................................................................................................................... 12
Graphen und Digraphen auf Rechnern .......................................................................................... 13
Minimalgerüste ............................................................................................................................... 13
Kürzeste Wege in Netzwerken ....................................................................................................... 14
Kürzeste Wege zwischen allen Knoten .......................................................................................... 15
Elemente der Netzplantechnik........................................................................................................ 15
Das Gantt-Diagramm .................................................................................................................. 16
Flüsse in Netzwerken ..................................................................................................................... 16
Das Transportproblem .................................................................................................................... 17
Ganzzahlige und kombinatorische Optimierung ................................................................................ 18
Ganzzahlige Optimierungsprobleme mit total unimodularer Koeffizientenmatrix .......................... 19
Verfahren von Gomory zur Lösung eines rein ganzzahligen Optimierungsproblems.................... 19
Die Branch-and-Bound-Methode zur Lösung kombinatorischer Probleme.................................... 19
Branch-and-Cut-Verfahren ............................................................................................................. 20
Nichtlineare Optimierung ....................................................................................................................... 22
Spezialfall der nicht-linearen Optimierung: konvexe Optimierungsprobleme ............................. 22
Lagrange-Funktion und Karush-Kuhn-Tucker-Bedingung .......................................................... 22
Dynamische & stochastische Modelle und Methoden ........................................................................... 24
Problemstellung der allgemeinen dynamischen Optimierung .................................................... 25
Bellmansches Optimalitätsprinzip................................................................................................... 25
Bellmansche Funktionalgleichung .................................................................................................. 25
Bellmansche Funktionalgleichungsmethode .................................................................................. 25
Lagerhaltung................................................................................................................................... 27
EOQ-Modell (economic order quantity........................................................................................ 27
Deterministisches dynamisches Modell ...................................................................................... 28
Warteschlangen ................................................................................................................................. 29
Das Wartesystem M|M|1............................................................................................................. 29
Das Wartesystem M|M|s ............................................................................................................. 31

2/2
© A. Jacob
Ver. 1.0 24.07.01

Lineare Optimierung
Formulierung eines linearen Optimierungsproblems
a) Spezifikation der gesuchten Größen bzw. Entscheidungsvariablen
b) Formulierung aller Nebenbedingungen des Problems als lineare Gleichungen oder Ungleichungen
für die Entscheidungsvariablen (inkl. Nichtnegativitätsbedingung)
c) Spezifikation der Zielfunktion in Form einer linearen Funktion der Entscheidungsvariablen, die zu
minimieren oder maximieren ist.

Lösung des Problems


a) Graphisch: Möglich bei zweidimensionalen Problemen. Grenze den möglichen Bereich M durch
die Nebenbedingungen ab und maximiere bzw. minimiere die Zielfunktion durch Verschieben der
Geraden.
b) Analytisch: Setze das Simplexverfahren ein.

Typische Eigenschaften linearer Optimierungsprobleme


a) Der zulässige Bereich M ist ein Vieleck.
b) Das Optimum wird auf dem Rand (Ecke oder Gerade) angenommen.
c) Mindestens eine Ecke des zulässigen Bereichs stellt eine Optimale Lösung dar.

Standardproblem der Linearen Optimierung


 Min F ( x) := cT x

L  u.d .N . Ax = b
 x≥0

mit: A eine beliebige mxn-Matrix


n
c ein beliebiger Vektor des R
m
b ein beliebiger Vektor des R

Jedes Optimierungsproblem muß zunächst auf die Standardform gebracht werden, um die optimalen
Lösungen zu bestimmen. Die Menge jener optimalen Lösungen ist konvex. x = ( x1 ,..., xn ) r ∈ M ist
j
genau dann Extrempunkt, wenn diejenigen Spaltenvektoren a von A linear unabhängig sind, deren
n
j
Koeffizienten x in der Darstellung ∑x a
j =1
j
j
= b positiv sind.

Graphisch ist der zulässige Bereich M vom LP ein konvexes Polyeder. Konvexität liegt vor, wenn die
Verbindungslinie zweier beliebiger in der Menge liegenden Punkten ebenfalls in der Menge enthalten
ist. Die Extrempunkte von M sind die Ecken des zulässigen Bereichs.

Die meisten Probleme liegen nicht in der Standardform vor. Dann ist wie folgt vorzugehen:

1. Schlupfvariablen so einführen, daß Gleichheit geschaffen wird: x1 + x 2 ≤ 1 ⇒ x1 + x 2 + x3 = 1


2. Maximum in Minimum umwandeln: Max 2 x1 + 5 x2 ⇒ Min − 2 x1 − 5 x2
3. Substitution bei nicht eindeutiger Nichtnegativitätsbedingung:
x1 ≥ 3  x1' = x1 − 3  x1 = x1' + 3 einsetzen in Optimierungsproblem.
4. Substitution bei nicht vorhandener Nichtnegativitätsbedingung: Führe ein x3 (≥ 0) ein mit
x1' = x1 + x3 x1 = x1' − x3
x3 := max(− x1 ;− x2 )   einsetzen in Optimierungsproblem.
x2' = x2 + x3 x2 = x2' − x3
So ist garantiert, daß beide Zahlen im positiven Bereich liegen oder Null sind.

3/3
© A. Jacob
Ver. 1.0 24.07.01

Max 2 x1 + 5 x2 Min − 2 x1 − 5 x2
u.d .N . 4 x1 + x2 ≤ 24 ' '
u.d .N . 4 x1 + x2 + x3 = 10
x1 + x2 ≤ 9 ' '
Beispiel:  x1 + x2 + x4 = 4
− x1 + 2 x2 ≤ 5 ' '
− x1 + 2 x2 + x5 = 4
x1 ≥ 3
'
x2 ≥ 2 x1 ,..., x5 ≥ 0
(vgl. Tutorium Aufgabe 9.b)

Die entartete oder degenerierte Ecke


Diese Besonderheit ist dadurch charakterisiert, daß graphisch gesehen sich drei oder mehr Geraden
in einem Punkt schneiden oder analytisch ausgedrückt, daß die Ecke x von M mit weniger als m
positiven Komponenten bestückt ist. Die Basis einer solchen Ecke ist nicht eindeutig.
3
Ein Beispiel: Wir haben im R drei Geraden gegeben, zu denen drei Schlupfvariablen hinzukommen,
um auf das Standardproblem der linearen Optimierung zu gelangen. Also bildet A eine (5x3)-Matrix
mit rgA=3. Da längs der drei Geraden x3,...,x5=0 gilt, hat die entsprechende Ecke nur die beiden
positiven Komponenten x3, x2. Da 2<rgA=3  Die Ecke ist entartet.
Graphisch:

Jede Ecke x besitzt eine dazugehörige Basis, wobei diese bei einer entarteten Ecke nicht eindeutig
T
ist. Dabei gilt: x := ( x1 ,..., x m ,0,...,0) ist Basislösung mit x1 ,..., xm Basisvariablen (BV)
0,...,0 Nichtbasisvariablen (NBV)
 x Ecke von M ⇒ x gehört zum zulässigen Bereich
Im Simplex: Wie später zu sehen sein wird, macht sich die entartete Ecke im Simplex dadurch
kenntlich, dass ein xk aus Feld 5 Null ist und die Zeile weniger als m positive Komponenten hat. Im
dualen Simplex müssen es mehr als m positive Komponenten sein.

Das Simplexverfahren
Das Prinzip: Durch das Simplexverfahren erhält man eine endliche Folge von Ecken des zulässigen
Bereichs M. Von einer Ecke ausgehende erhält man die benachbarte Ecke durch einen Austausch-
schritt. Dazu wird eine bisherige NBV zu einer BV und eine BV zu einer NBV. Ausgegangen wird
immer vom Standardoptimierungsproblem.

Anschaulich: Einer in der Matrix A befindlichen Spaltenvektoren, der noch nicht zur Basis gehört, wird
gegen einen aus der Basis ausgetauscht. Man gelangt somit zur nächsten Ecke.

Das Ziel: Alle NBV müssen in der Zielfunktion (ZF) positiv sein, so daß eine Vergrößerung einer NBV
auf jeden Fall einen größeren ZF-Wert ergeben würde, der zu minimieren ist.

4/4
© A. Jacob
Ver. 1.0 24.07.01

Beispiel (Fortführung obiger Umformungen):

 4 1 1 0 0 10 
   
1. Standardform: A =  1 1 0 1 0  b =  4  cT = (−2,−5,0,0,0)
 −1 2 0 0 1  4
   
T ' '
Die erste Ecke ergibt sich somit zu x = (0,0,10,4,4) mit N = (1 ,2 ), B = (3,4,5)

2. Nun muß man die aktuelle Basis als Funktion der NBV darstellen:
' '
ξ = −2 x1 − 5 x2 − 16 ( ZF )
' '
x3 = −4 x − x + 10
1 2

x4 = − x1' − x2' + 4
x5 = x1' − 2 x2' + 4
dabei gilt: 1. Die ZF ist nur Funktion der NBV
2. Jede NB enthält genau eine BV mit Koeffizient 1, die in keiner anderen NB auftritt.

3. Die NBV müssen nun in die Basis aufgenommen und die BV aus der Basis entfernt werden. Es
wird immer diejenige NBV hinzu genommen, welche die ZF am stärksten minimiert (hier x2' , da
-5 < -2 in der ZF).

4. Jetzt stellt sich die Frage, wie weit x2' erhöht werden darf, ohne den zulässigen Bereich zu
'
verlassen ( x1 = 0 und x3 ,..., x5 ≥ 0 ):
x3 = −4 x1' − x2' + 10 ≥ 0  x2' ≤ 10
x4 = − x1' − x2' + 4 ≥ 0  x2' ≤ 4
x5 = x1' − 2 x2' + 4 ≥ 0  x2' ≤ 2 ⇐

5. Transformation durchführen: N = (1' ,5), B = (3,4,2' )


9 5  1 1 
ξ = − x1' − x5 − 26 = −2 x1' − 5 x2 ' − 16 = −2 x1' − 5( x1' − x5 + 2) − 16
2 2  2 2 
9 ' 1
x3 = − x1 + x5 + 8
2 2
3 ' 1
x4 = − x1 + x5 + 2
2 2
' 1 1
x2 = x1' − x5 + 2 ⇒ x = (0,2,8,2,0)T ZF = −26
2 2
Da alle Komponenten von x positiv sind, ist dies der minimale ZF-Wert. Ansonsten wären die
Schritte 2. bis 5. zu wiederholen. Dies wird auch Austauschschritt genannt.

Kleinste-Index-Regel
Damit ein Kreisen im Simplex bei einer entarteten Ecke verhindert wird, wählt man als
Pivotspaltenindex l‘ und als Pivotzeilenindex k‘ jeweils den kleinstmöglichen Index:

l ':= min{l ∈ N ζ l < 0} , d.h. Minimum aus Feld 5. des Simplextableaus


k ':= Minimum des Index aus Feld 7. des Simplextableaus

5/5
© A. Jacob
Ver. 1.0 24.07.01

Das Simplextableau
Jede Ecke im Simplexverfahren kann in folgendem Simplextableau dargestellt werden:

Dabei gibt es folgende Felder:


1. Basisvariablen
2. Nichtbasisvariablen (anfangs Schlupfvariablen)
3. Vorfaktoren der Nebenbedingungen
4. Rechte Seite der Nebenbedingungen
5. Vorfaktoren der Zielfunktionswerte
6. Negativer Zielfunktionswert
7. Rechte Seite der Nebenbedingungen geteilt durch das Pivotspaltenelement (wichtiges Feld bei
der Determinietung einer entarteten Ecke)

Der Austauschschritt der Simplexmethode


Um nun ausgehend von den im Simplextableau eingetragenen Daten zur optimalen Lösung zu
gelangen, muß man ebenfalls Austauschschritte durchführen. Diese sind in diesem Fall an den
Feldern des Tableaus orientiert:

1. Gilt:ζ l > 0 ∀l ∈ N  die aktuelle Ecke x ist die optimale Lösung des Problems. Sonst: Wähle
das kleinste ζ l aus (bei mehreren: kleinster Index). Jene Spalte wird zur Pivotspalte l‘. Ist x eine
entartete Ecke, d.h. mindestens ein xk in 4. ist gleich 0, bestimmt l‘ gemäß der kleinsten
Indexregel.
2. Gilt: γ kl ' ≤ 0 , d.h. hat die Pivotspalte keine positiven Elemente  keine optimale Lösung! Sonst:
Berechne Feld 7. für alle γ kl ' > 0 !
3. Wähle aus Feld 7. den kleinsten Wert aus. Die zugehörige Zeile heißt Pivotzeile k‘.
4. Vertausche in den Feldern 1. und 2. die Indizes k‘ und l‘.
5. Verfahre mit den übrigen Feldern nach folgenden Regeln:
I. Pivotelement: a  1/a
II. Pivotzeile ohne Pivotelement: b  b/a
III. Pivotspalte ohne Pivotelement: c  -c/a =: c (Wird oftmals in einer Hilfsspalte rechts neben
dem Tableau ausgeschrieben)
IV. Übrige Elemente: d  d – bc/a = d+b c
Anschaulich: altes Element + (Altes Zeilenelement ⋅ neues Spaltenelement)

Zum optimalen Ergebnis kommt man, wenn alle Elemente in 5. größer als Null sind.

Dualität
Zu jedem linearen Optimierungsproblem (P), auch primäres Problem genannt, gibt es ein duales
lineares Problem (P). Würde man das duale Problem wiederum dualisieren, erhielte man wieder das
Ausgangsproblem (P). Diese Form des Optimierungsproblems wird bei Strategien in der Spieltheorie,
Flüsse in Netzwerken, Kostenplanung im Rahmen der Netzwerktechnik und weiteren Anwendungen
benötigt. Die Aufstellung des dualen Problems folgt folgenden Regeln, welche für beide Seiten gültig
sind:

6/6
© A. Jacob
Ver. 1.0 24.07.01

Primales Problem P (Duales ProblemP) Duales ProblemP (Primales Problem P)

Minimumproblem Maximumproblem

Variable Echte Nebenbedingung

Vorzeichenbeschränkte Variable Ungleichung (≥ beim Minimumproblem, ≤ beim


Maximumproblem), d.h. Variable ≤0  NB ≥0

Nicht vorzeichenbeschränkte Variable Gleichung

Koeffizienten der Variablen in der ZF Rechte Seite der NB

Koeffizientenmatrix Transponierte der Koeffizientenmatrix

Dualitätstheorem: Haben beide Probleme (L) und ( L ) zulässige Lösungen, so besitzen beide
Probleme optimale Lösungen mit identischen ZF-Werten! Dies kann bei der Lösung eines Problems
ausgenutzt werden, da es reicht, das Einfachere per Simplex zu lösen.

 Min F ( x) := cT x Max G (u ) := bT u
 
Beispiel: L  u.d .N . Ax = b ⇒ L  u.d .N . AT u ≤ c
 x≥0  u ∈ Rm
 
Bei einer optimalen Lösung beider Probleme müssen die folgenden Optimalitätsbedingungen
zutreffen:
 m 
x*j  ∑ aij ui* − c j  = 0 j = (1,..., q)
 i =1 
 q 
u *j  ∑ aij xi* − b j  = 0 j = (1,..., m)
 i =1 
Satz vom komplementären Schlupf: Hat dabei eine NB von primalen Problem im Optimum Schlupf
(< oder >), dann hat die entsprechende NB vom dualen Problem keinen Schlupf ( = )!

Anwendung: Meistens ist man aus Bequemlichkeit geneigt, eine Lösung des dualen Problems
anzugeben, indem man das primale Problem mit der dualen Simplexmethode löst und sich danach
den Satz den komplementären Schlupfes zunutze macht, um auch die duale Lösung zu erhalten.

Beispiel: Es soll eine Entscheidung darüber gefällt werden, ob die vorhandenen Rohstoffe verkauft
werden sollen oder ob es rentabler ist, damit zu produzieren. Es seien:
xj := Anzahl der produzierten ME des Produktes Pj
cj := Durch Fertigung einer ME von Pj erzielbarer Gewinn
aij := Benötigte ME des Rohstoffs i zur Herstellung einer ME von Pj
yi := Verkaufspreis einer ME des Rohstoffs
 m  m
x*j  ∑ aij yi* − c j  = 0 ⇒ ∑a ij yi* > c j (Verkauf der Rohstoffe besser als Produktion)
 i=1  i =1
In diesem Fall muß, damit die erste Gleichung erfüllt wird, xj = 0 sein, also keine produzierte ME.

Das duale Problem kann es einem erleichtern, einen optimalen ZF-Wert zu finden, da bei bekannten
zulässigen Lösungen für x und u das ursprünglich Problem eingeschlossen werden kann:
G(u) ≤ F* ≤ F(x)

7/7
© A. Jacob
Ver. 1.0 24.07.01

Opportunitätskosten, Knappheitskosten oder Schattenpreise vi* ist derjenige Betrag, den man
mehr einnimmt, wenn man die verfügbare Menge eines Produktionsfaktors Ri um eine Einheit von bi
auf bi+1 erhöht. Ist vi*>0, so ist der Faktor knapp (mehr von dem Faktor bringt mehr Gewinn).
Knappheit erkennt man daran, dass die in die entsprechende NB eingesetzte optimale Lösung nicht
zur vollen Ausreizung der NB führt.

Modifikationen des Standardproblems und Sonderformen des Simplex

1. Variablen ohne Vorzeichenbeschränkung


Vorgehen: Führe eine zusätzliche Variable x’n+1 ein, so daß x‘σ = xσ + x’n+1 = 0 (σ = alle nicht
vorzeichenbeschränkte Variablen) gilt (x’n+1 ist diejenige positive Variable, die addiert zur kleinsten xσ
Null ergibt).

2. Untere und obere Grenze für einzelne Variablen


Beispielsweise sei hier der Fall von Lieferverpflichtungen (untere Grenze) und andererseits
Kapazitätsbeschränkungen (obere Grenze) bei der Höchstmenge erwähnt.
Drei verschiedene Möglichkeiten im Simplex kommen hier in betracht:
I. Eine Basisvariable xk kann ihre untere Grenze αk >0 erreichen
II. Eine Basisvariable xk kann ihre obere Grenze βk >0 erreichen
III. Die Nichtbasisvariable x’l kann ihre obere Grenze β‘l (Fall a.) oder ihre untere Grenze α‘l (Fall
b.) erreichen.

Bei der Optimierung im Simplex werden Fall a. und Fall b. folgendermaßen behandelt:
a) Falls ζl‘ <0, wenn xl‘ = αl‘  Wert der NBV anwachsen lassen, um den ZF-Wert zu verkleinern. Im
Simplextableau wird die entsprechende Spalte mit – markiert.
b) Falls ζl‘ >0, wenn xl‘ = βl‘  Wert der NBV verringern, um den ZF-Wert zu verkleinern. Im
Simplextableau wird die entsprechende Spalte mit + markiert.

Ziel: Im Simplex müssen alle mit + markierten Spalten einen negativen, alle mit – markierten Spalten
einen positiven ZF-Wert haben  optimale Lösung.

Vorgehen:
1. Zunächst sollte man sich der Grenzen der Variablen bewußt werden, indem man obere und
untere Grenze beispielsweise in eine Tabelle einträgt.
2. Wähle für die Pivotspalte den kleinsten Index, falls nicht schon Fall a) oder b) durch ein
angebrachtes + oder – erfüllt ist.
3. Nun muß man die „Luft“ ermitteln, die die entsprechende Variable zu ihrer unteren bzw. oberen
Schranke hat. Dieser Spielraum wird hier durch δ1 (untere Schranke) und δ2 (obere Schranke)
dargestellt:

Falls keine solchen δ1 oder δ2 existieren, setze sie gleich ∞ !


4. Jetzt wird für die beiden Spielräume sowie für den gesamten Abstand das Minimum δ‘ gesucht:

5. Gilt δ‘=∞, so existiert keine optimale Lösung des Problems.

8/8
© A. Jacob
Ver. 1.0 24.07.01

Gilt δ‘= xl‘ - αl‘, so ist keine Austauschschritt nötig. Markiere die Spalte mit – und erhöhe die Werte
xk in Feld 4 um δ‘γkl‘ und den Wert in Feld 6 um δ‘ζl‘ und gehe wieder zu Schritt 1.
Gilt δ‘= βl‘ - xl‘, so ist keine Austauschschritt nötig. Markiere die Spalte mit + und verringere die
Werte xk in Feld 4 um δ‘γkl‘ und den Wert in Feld 6 um δ‘ζl‘ und gehe wieder zu Schritt 1.
Ansonsten wähle für k‘ den kleinsten Index k, für den das Minimum δ‘ angenommen wird. Diese
Zeile ist Pivotzeile.
Gilt hierbei δ‘= δ1, so markiere k‘ mit – und ersetze in Feld 4 xk‘ durch xk‘ - αk‘.
Gilt hierbei δ‘= δ2, so markiere k‘ mit + und ersetze in Feld 4 xk‘ durch xk‘ - βk‘.
6. Vertausche in den Feldern 1 und 2 die Indizes k‘ und l‘.
7. Forme die Felder 3 bis 6 nach den Simplextransformationsregeln um. Addiere zum Wert der
neuen BV nach der Transformation den Wert der entsprechenden NBV vor der Transformation.

Beispiel siehe Buch Seite 95!

3. Die Duale Simplexmethode


Warum?: Diese Methode erlaubt die Lösung von linearen Optimierungsproblemen, die zwar keine
Anfangsecke haben, wie sie für die primale Simplexmethode der Form (L) notwendig ist, jedoch eine
dual zulässige Anfangsbasislösung leicht angeben läßt. Erkennen lassen sich solche Probleme daran,
daß mindestens eine rechte Seite kleiner als Null ist.
Anschaulich: Grundsätzliches Vorgehen ist, daß man sich über Ecken des unzulässigen Bereichs in
den zulässigen Bereich hangelt. Nur die letzte Ecke ist schließlich zulässig und optimal. Die
vorangegangenen Ecken sind auf Schnittpunkten der Begrenzungsgeraden des zulässigen Bereichs
angesiedelt.
Vorgehen Simplex: Im Vergleich zur primalen Methode wird zuerst die Pivotspalte anhand Feld 7 und
dann die Pivotzeile bestimmt. Dann wird wie in der primalen Methode vorgegangen.

Ziel: Alle xk in Feld 4 müssen größer als Null sein. Sind jedoch zudem alle Elemente der Pivotzeile
positiv, so existiert keine optimale Lösung.

Beispiel: Siehe Buch Seite 101 oder Tutorien Aufgabe 28.

4. Die Dreiphasemethode
Warum?: Dieses Verfahren wird benötigt, um ganz allgemein gehaltene Lineare Optimierungspro-
bleme zu lösen, nicht nur solche vom Typ (L), z.B.:
Min c T x  Min c T x
 1 1  1 1
 u.d .N . A x ≤ b  u.d .N . A x + y = b
 ⇒ 
 A2 x = b 2  A2 x + w = b 2
 x≥0  x, y ≥ 0, w = 0

9/9
© A. Jacob
Ver. 1.0 24.07.01

Dabei muß man in sog. echt Schlupfvariablen, wie x und y, und sog. Hilfsvariablen, hier w,
unterscheiden. Abgesehen von w=0 entspricht das Optimierungsproblem der Standardform (L). Dies
wird in folgendem Simplextableau der Dreiphasenmethode ersichtlich:

Im oberen Abschnitt stehen die echten NB’s, im unteren die NB’s mit Hilfsvariablen.

Lösung: Die Lösung des Problems wird in folgenden drei Phasen abgebildet:
1. In jedem Austauschschritt dieser Phase wird als Pivotzeile eine Zeile gewählt, die einer der
Hilfsvariablen wi einspricht. Bei der Wahl der Pivotspalte ist lediglich zu beachten, daß das
Pivotelement nicht gleich Null ist. Nach der Transformation des Tableaus kann die entsprechende
Spalte gestrichen werden. Die Phase ist beendet, sobald alle Hilfsvariablen NBV’s geworden sind.
2. Ziel dieser Phase ist es, eine zulässige Basislösung zu finden, d.h. zu erreichen, daß alle Inhalte
von Feld 4 nichtnegativ sind. Vorgehen: Wähle ein xk < 0 aus, wähle aus dieser Spalte κ unter den
negativen γkl das Kleinste und nimm jene Spalte als Pivotspalte. Sollten alle γkl > 0 sein, so hat das
Problem keine zulässige Lösung. Sind alle γkl < 0, setze δ = wahr, sonst δ = falsch.
+
δ = falsch: Berechne xi/γil‘ für alle j ∈ B mit γil‘ > 0 und wähle die Kleinste. Die Zeile k‘ dieser Zahl
ist die Pivotzeile. Führe den Austauschschritt durch.
δ = wahr: Beginne Phase 2 von Neuem.
3. Benutze die primale Simplexmethode zur endgültigen Lösung.

Beispiel: Siehe Buch Seite 109 oder Tutorien Aufgabe 27.

Sensitivitätsanalyse und parametrische Optimierung


Nun soll der Fall zugelassen werden, daß sich Problemdaten im Laufe der Zeit verändern. Dies tritt
z.B. bei Messungen bestimmter technischer Größen auf.
Gelöst kann ein solches Problem letztendlich dadurch, daß diese Daten zunächst als fix angesehen
werden und im nachhinein (ex post) analysiert werden. Die geschieht bei der sog. Sensitivitätsanalyse
der Form, daß nur qualitativ gleichwertige Lösungen berücksichtigt werden. D.h. es kann sich zwar die
optimale Lösung und der zulässige Bereich verändert, es wird jedoch vermieden, zu einer nächsten
Ecke überzugehen. Sollte dies der Fall sein, so spricht man von einer parametrischen Optimierung.

Vektoroptimierung und Goal-Programming


Bisher betrachtete Optimierungsprobleme hatten eine ZF, welche zu optimieren ist. Nun können
jedoch auch mehrere Zielfunktionen mit den gleichen NB’s in einem Problem zusammengefaßt
werden, z.B. Kostenminimierung bei gleichzeitiger Qualitätsmaximierung. Die ZF’s werden zu diesem
Zweck in einem Vektor zusammengefaßt. Das Problem ist, daß man nicht alle ZF’s gleichzeitig zu
ihrem Optimum bringen kann, da sie sich gegenseitig beeinflussen, so daß es immer nur einen
„besten Kompromiß“ geben kann.
Dabei können folgende Lösungen der Problems auftreten:

10 / 10
© A. Jacob
Ver. 1.0 24.07.01

1. x* ist pareto-optimal, falls keine x ∈ M existiert, für das gilt:


c kT x ≤ c kT x * für k= 1,...,r (r = Anzahl der ZF’s)
c lT x < c lT x * für min. ein l ∈ {1,...,r}
D.h. in dieser Situation kann kein Zielkriterium verbessert werden, ohne daß ein anderes
verschlechtert wird.
lT
2. x* ist individuell-optimal für c , falls gilt:
c lT x * ≤ c lT x ∀x∈M; l∈{1,...,r}
D.h. es ist eine ZF optimaler als alle weiteren r-1 ZF’s.

Das Goal-Programming berücksichtigt zusätzliche zu der reinen Vektoroptimierung eine Gewichtung


der verschiedenen ZF’s.

Zwei-Personen-Nullsummenspiele
In der Spieltheorie werden Entscheidungssituationen untersucht, an denen mehrere Akteure, die
Spieler genannt werden, beteiligt sind. Hier werden im speziellen nur Spielsituationen betrachtet, an
denen zwei Spieler beteiligt sind, deren optimale Entscheidungen auf der Lösung von zwei dualen
linearen Optimierungsproblemen beruhen. Dies alles unter der Voraussetzung, daß der Gewinn des
einen Spielers den Verlust des anderen Spielers ausmacht.
Zunächst ein paar Begriffsdefinitionen:
- Strategie: Vollständige Handlungsanweisung, die für alle auftretenden nicht beeinflußbaren Fälle
definiert ist; Spieler 1 verfolgt Strategie S und Spieler 2 Strategie T
- Reine Strategie: Die Spieler bleiben während der gesamten Partie bei einer Strategie
- Gemischte Strategie: Die Spieler wechseln während einer Partie ihre Strategie
- Optimale Gegenstrategie: Strategie des einen Spielers dominiert die Strategie des anderen.
Vorsicht: Auszahlungsmatrix immer aus Vorteilssicht des einen Spielers, daher ist beim zweiten
Spieler der Vorteil in den kleineren Werten!
- Partie: Einmalige Ausführung des betrachteten Spiels
- Gewinn (Auszahlung): Gewinn oder Verlust abhängig von der gewählten Strategie s∈S bzw. t∈T
- Nullsummenspiele: Summe aller Gewinne ist gleich Null, z.B. Papier-Stein-Schere-Knobeln
- Sattelpunktspiele: Es gibt ein optimales Strategiepaar, welches eine optimale Lösung des Spiels
ist; für diese Spielvariante gilt: min max f ( x, y ) = max min f ( x, y ) gleichbedeutend mit
y x x y
Min(Max(Spalten))=Max(Min(Zeilen)). Demnach ist es bei dieser Spielvariante sinnvoll, eine reine
Strategie zu verfolgen, nämlich die Optimale.
- Auszahlungsmatrix: A bestehend aus aij := a(si,tj) (i=1,...,m; j=1,...,n) mit aij = Auszahlung an
Spieler 1 bei Strategie si, wenn Spieler 2 Strategie tj wählt.
- Faires Spiel: Ein Sattelpunktspiel ist fair, wenn obige Bedingung für beide Fälle 0 ist. Ein Spiel mit
gemischten Strategien ist fair, wenn w=0 ist.

Das Vorgehen bei Bestimmung der optimalen Lösung eines Spiels:


1. Exhaustiv alle Strategien beider Spieler festlegen und in x- (Spieler 2) und y-Richtung (Spieler 1)
an die Auszahlungsmatrix notieren.
2. Ausfüllen der Matrix, dabei immer aus Sicht von Spieler 1 vorgehen, d.h. positive Gewinne von
Spieler 2 werden mit einem – versehen, da sie für Spieler 1 einen Verlust darstellen.
3. Das Maximum der Minima aus den Zeilen und das Minimum der Maxima aus den Spalten
ermitteln. Stimmen die beiden Werte überein, handelt es sich um ein Sattelpunktspiel.

Dominanz von Strategien:


Ist eine Zeile in der Auszahlgsmatrix in allen Elementen kleiner oder gleich einer anderen, so kann sie
gestrichen werden. Sie wird dominiert.
Ist eine Spalte in der Auszahlungsmatrix in allen Elementen größer oder gleich einer anderen, so kann
sie gestrichen werden. Sie wird dominiert.
Gilt für alle Elemente < (>), so spricht man von strenger Dominanz.
Es können auch anteilig Zeilen verglichen werden, z.B. 0,5 × Zeile 1 + 0,5 × Zeile 2 ≥ Zeile 3.

Lösung eines Matrixspiels, das nicht als reines Sattelpunktspiel vorliegt:


Um solche Spiele zu lösen, müssen während eines Spiels Strategiewechsel der beteiligten Personen
stattfinden, d.h. jetzt kommt „taktisches Geschick“ mit ins Spiel. Diese Mischung aus verschiedenen
Strategien wird mit einer Wahrscheinlichkeit behaftet, so daß sich für Spieler 1 der Vektor x und für
Spieler 2 der Vektor y mit den Wahrscheinlichkeitsverteilungen ergibt. Diese Vektoren werden
11 / 11
© A. Jacob
Ver. 1.0 24.07.01

gemischte Strategie der jeweiligen Spieler genannt. X(S) und Y(T) sind Strategiemengen, die alle
möglichen Strategien enthalten.

Das Vorgehen bei Bestimmung optimaler Strategien:


1. Addiere zu allen Elementen der Auszahlungsmatrix eine Konstante α>0 derart, daß jedes Element
der Matrix positiv wird.
2. Das so entstandene lineare Optimierungsproblem ist zu lösen, d.h. Aufstellen des
Anfangstableaus mit Maximierung der Gewinne unter den NB’s der Auszahlungsmatrix.
3. Dualisiere die Lösung des Problems, so daß z.B. u1* als Dualvariable den ersten Wert aus Feld 5
des Tableaus erhält. w* ist der optimale ZF-Wert.
4. x*:=u*/w* und y*:=v*/w* sind die optimalen Strategien von Spieler 1 und 2, w=1/w*-α ist der Wert
des Spiels.

Graphen und Netzwerke


Grundlegende Definition der Begriffe:
- Inzidenzabbildung: Die Verbindung eines Knotens mit einem anderen.
- Ungerichteter Graph: Nicht mit Pfeil versehen.
- Gerichteter Graph oder Digraph: Mit Pfeil versehen. Aus der Perspektive der Knotens kann er
positiv inzident (Pfeil geht vom Knoten weg) oder negativ inzident (Pfeil weist zum Knoten hin)
sein.
- Gerichtete Kante (auch Pfeil): Es existiert in diesem Fall ein Anfangsknoten und ein Endknoten,
versehen mit einem Pfeil, der auf den Endknoten hinweist.
- Parallele Kanten (parallele Pfeile): Wenn zwei oder mehr Kanten den gleichen Endknoten oder
den gleichen Endknoten und Anfangsknoten haben.
- Schlingen: Anfangs- und Endknoten sind der Gleiche.
- Schlichte Graphen: Keine Schlingen und parallele Kanten bzw. Pfeile
- Zusammenhängender Graph: Alle Knoten sind von jedem Knoten im Graphen zu erreichen.
- Adjazenzmatrix: Matrix mit den Elementen 1 (Kante i,j enthalten) und 0 (Kante i,j nicht enthalten)
- Inzidenzmatrix: Matrix mit den Elementen 1 (Knoten eµ inzident mit i) und 0 (Knoten eµ nicht
inzident mit i)
- Inzidenzmatrix für Digraphen: Matrix mit den Elementen 1 (Knoten eµ positiv inzident mit i), -1
(Knoten eµ negativ inzident mit i) und 0 (Knoten eµ nicht inzident mit i)
In jeder Zeile der Inzidenzmatrix stehen demnach die Knoten und in jeder Spalte die Kanten bzw.
Pfeile. In jeder Spalte sind genau zwei Elemente von 0 verschieden. Die Knoten müssen hierfür
durchnummeriert sein und sukzessive abgearbeitet werden.
- Vollständiger Graph: Ein Graph heißt vollständig, wenn mit je zwei verschiedene Knoten i und j
auch die Kante [i,j] (<i,j>) enthalten ist.
- Symmetrischer Digraph: Ein Digraph ist symmetrisch, wenn mit jedem Pfeil <i,j> auch der Pfeil
<j,i> enthalten ist.
- Antisymmetrischer Digraph: Ein Digraph ist antisymmetrisch, wenn der Graph keine Paare
entgegengesetzt gerichteter Pfeile enthält.
- Quelle: Knoten im Digraphen, der keinen Vorgänger besitzt.
- Senke: Knoten im Digraphen, der keinen Nachfolger besitzt.
- Echter Teilgraph: Enthält z.T. die Knoten und Kanten des zugrundeliegenden Graphen.
- Induzierter Teilgraph: Enthält zu den übernommenen Knoten alle Kanten des zugrundeliegenden
Graphen.
- Kette: Kantenfolge mit lauter verschiedenen Knoten
- Kreis (Zyklus): Kantenfolge mit lauter verschiedenen Zwischenknoten, aber selbem Anfangs- und
Endknoten im Graphen (Digraphen).
- Kreisfreier Graph (zyklenfreier Digraph): Ein Graph (Digraph) ohne Kreis (Zyklus)
- Semipfeilfolge (Semiweg): Nicht alle Pfeile in einer Pfeilfolge haben die gleiche Orientierung im
Dipgraphen.
- Zusammenhang: Je zwei Knoten im Graphen sind miteinander verbunden.
- Schwacher Zusammenhang: Je zwei Knoten im Digraphen sind miteinander verbunden.
- Starker Zusammenhang: Wenn für alle Knoten gilt: Knoten i ist von j aus zu erreichen und j von i
aus.
- Topologische Sortierung: Für jeden Vorgänger k eines Knotens i gilt k < i und für jeden Nachfolger
j von i gilt j > i.
- Baum: Zusammenhängender kreisfreier Graph
- Wald: Kreisfreier Graph mit k Zusammenhangskomponenten (aus k Bäumen)
- Gerichteter Baum: Schwach zusammenhängender Digraph
12 / 12
© A. Jacob
Ver. 1.0 24.07.01

- Binärer Baum: Gerichteter Baum, bei dem jeder Knoten höchstens zwei Söhne hat.
- Bipariter Graph (Digraph): Die Knotenmenge ist so in zwei Teile teilbar, daß nur Verbindungen
zwischen den beiden Teilen, nicht jedoch innerhalb eines Teils realisiert ist. Vollständig ist er,
wenn sämtliche Knoten der anderen Seite von sämtlichen dieser Seite erreicht werden.
- Gerüst: Zusammenhängender Teilgraph mit allen Knoten und minimaler Kantenanzahl, d.h.
überflüssige Kanten werden weggelassen.
- Bewerteter Graph: Jeder Kante des Graphen wird ein Element c zugewiesen, welches diesen
Weg bewertet.
- Planarer Graph: Ein Graph, der sich in der zweidimensionalen Ebene zeichnen läßt, heißt planar.

Symbolik:
Pfeil über Buchstaben ist ein Hinweis auf gerichtete Graphen
[i,j] := spezifiziert den Anfangsknoten i und den Endknoten j im Graphen
<i,j> := spezifiziert den Anfangsknoten i und den Endknoten j im Digraphen
[V,E] ist das Symbol für einen Graphen mit der Knotenmenge V und der Kantenmenge E
<V,E> ist das Symbol für einen Digraphen mit der Knotenmenge V und der Kantenmenge E
N(i) := Menge der Nachbarn von i im Graphen
P(i) := Menge der Vorgänger von i im Digraphen
S(i) := Menge der Nachfolger von i im Digraphen
δ(i) := Grad von i; gibt die Anzahl der Nachbarn im Graphen an
+
δ (i) := positiver Grad (Ausgangsgrad) von i; gibt die Anzahl der Nachfolger im Digraphen an
-
δ (i) := negativer Grad (Eingangsgrad) von i; gibt die Anzahl der Vorgänger im Digraphen an
R(i) := Menge der vom Knoten i erreichbaren Knoten im Digraphen
2(i) := Menge derjenigen Knoten, die i im Digraphen erreichen können
∧(i) := Menge der vom Knoten i erreichbaren Knoten ohne i im Digraphen

Graphen und Digraphen auf Rechnern


Datenstrukturen zu Speicherung eines Graphen:
- Lineare Liste: Wandern von Feld zu Feld möglich; kein direkter Zugriff auf eine Feld
- Stapel (stack): Zugriff, löschen oder ergänzen nur am Ende des Stapels möglich (LiFo-Speicher)
- Schlange (queue): Zugriff nur am Kopf der Schlange möglich (FiFo-Speicher)
- Heap: Elemente werden in den Knoten eines binären, balancierten Baumes gespeichert.

Forward-Star-Speicherung (Nachfolgerliste) von Digraphen:


Notation:
- n : Knotenanzahl
- from : Liefert den Zeiger auf die Anfangsposition der Nachfolgerliste in succ; An der Differenz
zweier Felder ist die Anzahl der vom Vorgängerknoten erreichten Felder ersichtlich. Insgesamt
gibt es n+1 Felder dieser Art
- succ : Liste der Nachfolgerknoten
- cost : Bewertung der Kanten
Backward-Star-Speicherung basiert auf einer Vorgängerliste, ansonsten ähnlich der
Vorwärtsspeicherung.

Minimalgerüste
Die beiden folgenden Verfahren stellen einen Greedy-Algorthmus dar. Durch eine lokal optimale
Entscheidung wird sukzessive Teil um Teil die Lösung festgelegt.
Verfahren von Prim:
1. Wähle Kante (mit beiden Endknoten) mit kleinstem Gewicht (bei mehreren beliebig)
2. Mit jedem weiteren Schritt Kante mit kleinstmöglichem Gewicht hinzufügen, so daß der
entstehende Teilgraph ein Baum ist (d.h. kreisfrei und zusammenhängend).

Verfahren von Kruskal:


1. Wähle Kante mit kleinstem Gewicht (bei mehreren beliebig)
2. Weitere Schritte: Wähle Kante mit kleinstem Gewicht so, daß der Teilgraph keinen Kreis enthält
(nicht unbedingt zusammenhängend).

13 / 13
© A. Jacob
Ver. 1.0 24.07.01

Kürzeste Wege in Netzwerken


Zunächst werden von einem Startknoten r kürzeste Wege zu allen übrigen Knoten ermittelt, wodurch
somit ein gerichteter Baum entsteht. Demnach spricht man auch von Baumalgorithmen.

Bellmansches Optimalitätsprinzip: Teilwege kürzester Wege sind selbst wieder kürzeste Wege. Dies
kann man sich bei der Suche eines kostenminimalen Weges zunutze machen.
Bellmansche Gleichung: d j = min ( d i + cij ) für j ∈ ∧(r)
i∈P ( j )
Notation:
px := Vorgänger von Knoten x
dx := Distanz zum Knoten x
cij := Bewertung der Strecke i – j
Q := Speicher des Algorithmus (z.B. Heap, Schlange)

Der Baumalgorithmus ist die allgemeine Optimierungsform, Label-Setting-Verfahren wie Dijkstra


beschreiben die Art eines Algorithmus, der einen Knoten nur einmal aufnimmt. Label-Correcting-
Verfahren wie LC-A können Knoten mehrmals aufnehmen und dann wieder eliminieren.
Voraussetzungen:
- Bellmann: Der Baum muss topologisch sortierbar sein (also keine Zyklen)
- Dijkstra: Der Baum darf keine negativen Kosten enthalten

14 / 14
© A. Jacob
Ver. 1.0 24.07.01

Kürzeste Wege zwischen allen Knoten


In der Praxis sind häufig nicht nur kürzeste Wege von einem Knoten zu allen anderen gesucht,
sondern die kürzesten Wege zwischen allen Knoten, z.B. in einem Verkehrsnetz, in dem man die
Summe aller Entfernungen zu allen anderen Knoten minimieren möchte.
In solch einem Fall bietet es sich an, eine Entfernungsmatrix D und eine Wegematrix P aufzustellen,
aus deren Inhalt die Entfernungen aller Knoten zueinander abzulesen sind. Dabei steht der
Zeilenindex für die Ursprungsknoten und der Spaltenindex für die Zielknoten der Pfeile. Die minimale
Zeilensumme bestimmt den idealen Knoten.

Die Tripeloperation besagt, daß das Matrixelement dij mit der Summe der „dij entsprechenden“
Elemente der Spalte ν und Zeile ν, diν+dνj, verglichen und der kleinste der beiden Werte ausgewählt
wird. Falls ein Wert in der Diagonale von links oben nach rechts unten kleiner als Null wird, so breche
das Verfahren ab, da ein Zyklus negativer Länge existiert.

Elemente der Netzplantechnik


Zweck: Optimale Planung und Überwachung von Projekten (Vorhaben aus mehreren Teilarbeiten)
Wichtige Größen in der Projektüberwachung:
1. Kürzeste Projektdauer
2. Kritische Vorgänge
3. Anfangs- und Endtermine aller Vorgänge
4. Pufferzeiten aller Vorgänge

Die MPM (Metra-Potential-Methode)


MPM verwendet ein Vorgangsknotennetz, d.h. Vorgänger des Projektes ist als Knoten im Netzplan
eingetragen und die Anordnungsbeziehungen stellen die Pfeile dar.
Desweiteren setzt MPM die Start-Start-Beziehung voraus, d.h. B kann begonnen werden, sobald A
begonnen worden ist.
In dieser Methode sind zeitliche Min./Max.-Abstände darstellbar. Der MPM-Netzplan kann negative
Zyklen enthalten.
Symbolik:
- FAZi : frühest möglicher Start (Anfangszeitpunkt) von Vorgang i
- SAZi : spätest möglicher Start (Anfangszeitpunkt) von Vorgang i
- FEZi : frühest möglicher Abschluß (Endzeitpunkt) von Vorgang i
- SEZi : spätest möglicher Abschluß (Endzeitpunkt) von Vorgang i
- Di : Dauer von i

 FEZi = FAZi + Di und SEZi = SAZi + Di

Gesamtpufferzeit eines Vorgangs: GPi = SAZi – FAZi = SEZi - FEZi


GP ist die maximale Zeitspanne, um die ein Vorgang verschoben werden kann, ohne den
Projekttermin zu gefährden.

Definition: Ein Vorgang i ist genau dann kritisch, wenn gilt: GPi = min GPk mit k = 0,..., n+1

15 / 15
© A. Jacob
Ver. 1.0 24.07.01

Das Gantt-Diagramm
Hier werden alle Vorgänge der Zeitplanung als Balken über der Zeitachse dargestellt, wobei der
Balken von FAZi bis FEZi reicht. Puffer GPi werden gestrichelt gezeichnet, kritische Vorgänge werden
stark ausgezeichnet.

Flüsse in Netzwerken
Solche Flüsse treten beispielsweise auf, wenn der kostengünstigste Durchfluß von Öl, Gas, Wasser
o.ä. durch ein Leitungsnetz gesucht sind. Generell gilt bei solchen Flüssen das Kirchhoffsche Gesetz:
Die Summe aller an einem Knoten anliegenden Flüsse ist Null.

Notation:
V Knotenmenge (wie bei Graphen)
E Kantenmenge (wie bei Graphen)
λij Minimalkapazität von i nach j
κij Maximalkapazität von i nach j
N = <V,E;λ,κ> Netzwerk mit Kapazitäten
ω Flußstärke
ϕ ij zulässiger Fluß von i nach j, wenn gilt: λij ≤ ϕ ij ≤ κij
S Semiweg in N, d.h. Teilweg im Netz N, der nicht unbedingt die gleiche Orientierung aller Pfeile
haben muß. Er beginnt bei Knoten r (Flußquelle) und endet bei Knoten k. Hat ein Pfeil die
gleiche Orientierung wie S, d.h. er weißt von r nach s, dann wird er Vorwärtspfeil genannt,
andernfalls Rückwärtspfeil.

 ω, i = r

Flußbedingung: ∑ ϕ ij − ∑ ϕ ki =  − ω , i = s
j∈S ( i ) k∈P ( i ) 0, i ∈ V \ {r , s}

 κ ij − ϕ ij falls < i, j > Vorwärtspfeil
∈ij := 
ϕ ij − λij falls < i, j > Rückwärtspfeil
Falls ∈ij>0 für alle Pfeile <i,j> von S, dann heißt S flußvergrößernder (r,k)-Semiweg für den Fluß ϕ.

Kapazität eines (A,B)-Schnitts: µ ( A, B) = ∑κ ij


<i , j >∈C < A, B >
− ∑λ ij
<i , j >∈C < B , A>
, d.h. Differenz aus der

größtmöglichen Flußmenge von A nach B und der kleinstmöglichen Rückflußmenge von B


nach A.
Maximalfluß-Minimalschnitt-Theorem: Die Stärke eines maximalen Flusses von r nach s in einem
Netzwerk N mit Kapazitäten ist gleich der Kapazität eines minimalen (r,s)-Schnittes in N.

Bestimmung maximaler Flüsse nach Ford Fulkerson

1. Markiere alle Knoten von der Quelle ausgehend nach folgender Regel (Quelle markiere mit (+,∞)):

2. Wenn die Senke markiert worden ist, führe eine Flußvergrößerung durch. Starte bei der Senke s
und arbeite weiter in Richtung Quelle r. Erhöhe den Fluß genau um die noch ausstehende
Maximalkapazität der Senke. Dabei ändern sich nur Werte auf dem gefundenen Semiweg <r,s>.
3. Wenn die Senke nicht mehr zu erhöhen ist, hat man den maximalen Fluß gefunden.

Inkrementversion des Verfahrens nach Ford Fulkerson

Definition Inkrementnetzwerk: Enthält für eine Verbindung zwischen zwei Knoten einen hingerichteten
Pfeil, der den noch möglichen Fluß über diesen Weg ausweist und einen rückwärts gerichteten Pfeil,
der die Differenz zum minimal möglichen Fluß darstellt.

16 / 16
© A. Jacob
Ver. 1.0 24.07.01

Voraussetzung: Das Netzwerk N ist antisymmetrisch, d.h. es enthält keine Paare entgegengesetzt
gerichteter Pfeile.
Vorgehen:
1. Suche im Netzwerk einen Semiweg von der Quelle zur Senke mit freien Kapazitäten und den
dazugehörigen Engpaß
2. Reize den Engpaß aus und erhöhe den Durchsatz um die Kapazität des Engpasses
3. Suche neuen Semiweg und suche wiederum den Engpaß; Erhöhe Kapazität.
4. Breche ab, wenn kein Semiweg auffindbar.

Kostenminimale Flüsse nach Busacker/Gowen

Im Gegensatz zu maximalen Flüssen muß bei dieser Variante auch der Kostenaspekt berücksichtigt
werden. Cij sind demnach die Kosten für den Transport einer ME durch den Pfeil <i,j>. ω+≥0 ist in
diesem Fall eine Konstante, sonst wäre die beste Lösung immer die 0.
Anfangsbedingungen:
1. N ist antisymmetrisch
2. Alle Kosten nichtnegativ
3. Alle Minimalkapazitäten sind gleich 0

Vorgehen:
1. Suche den kostenminimalen (kürzesten) Weg von der Quelle zur Senke anhand des LC A-
Algorithmus.
2. Führe eine Flußvergrößerung anhand der minimalen Maximalkapazität aller Flüsse des
gefundenen Weges durch.
3. Verfahre nach 1, 2 so lange, bis gewünschte Kapazität übertragen wird.

Inkrementnetzwerk
Um zu überprüfen, ob man einen kostenminimalen Fluß erhalten hat, sollte man ein
Inkrementnetzwerk anfertigen, in dem der „Hinpfeil“ die Kosten angibt, wenn noch Kapazität frei ist
(sonst wird er nicht eingezeichnet), und der „Rückpfeil“ die negativen Kosten angibt, wenn schon
etwas über diesen Weg läuft (sonst wird er nicht eingezeichnet).
Sollte es in diesem Netzwerk einen Zyklus negativer Länge geben, so ist der aktuelle Weg noch nicht
optimal. Wenn zudem kein Weg mehr von der Quelle zur Senke existiert, so ist der gefundene Weg
maximal.

Das Transportproblem
Als klassisches Transportproblem bezeichnet man jenes, welches keine Umladepunkte zu beachten
hat und dessen transportierte Mengen nicht nach oben beschränkt sind. Es sieht folgendermaßen
aus:

mit cij = Kosten für den Transport auf dem Weg i – j


xij = transportierte Menge auf dem Weg i – j
ai = produzierte Einheiten
bj = verbrauchte Einheiten

Setzt man im Transportproblem die produzierte Menge gleich der verbrauchten Menge, so erhält man
das Zuordnungsproblem.

Solch ein Transportproblem kann anhand des Algorithmus von Busaker-Gowen gelöst werden.

Um eine zulässige Anfangslösung des Transportproblems zu finden, bedient man sich des X-
Schemas, d.h. in der Waagerechten des Tableaus werden die produzierten Einheiten ai angetragen
17 / 17
© A. Jacob
Ver. 1.0 24.07.01

und an der Senkrechten die verbrauchten Einheiten bj. Sorge mit fiktiven Variablen (=0) dafür, daß
gleiche Anzahl von Zeilen und Spalten herrscht. In das Tableau trage nun die Kosten für den
Transport ein. Sollte die Summe der benötigten Güter nicht gleich der der produzierten Güter sein,
füge einen fiktiven Verbraucher oder Produzenten mit Kosten 0 und der entsprechenden Differenz an
Produkten ein.
Zwecks Ermittlung einer zulässigen Anfangslösung wähle durch später erwähnte Verfahren ein
Anfangspaar (i,j) aus dem Tableau aus. Jetzt unterscheide in folgende drei Fälle:
1. ai < bj: xij = ai, d.h. die Gesamtproduktion wird zu einem Verbraucher transportiert. Trage an der
Position (i,j) im X-Schema den Wert xij = ai ein, eliminiere die i-te Zeile für die weiteren
Verfahrensschritte und ersetze bj durch den Restbedarf bj - ai.
2. ai > bj: xij = bj, d.h. der Gesamtbedarf von einem Verbraucher wird von einem Lieferanten gedeckt.
Trage an der Position (i,j) im X-Schema den Wert xij = bj ein, eliminiere die j-te Zeile für die
weiteren Verfahrensschritte und ersetze ai durch die Restproduktion ai – bj.
3. ai = bj: Suche eine Vorgehensweise nach Fall 2. oder 3. aus.

Jetzt nur noch die besagten Regeln zur Ermittlung des Index für einen Verfahrensschritt:
- Nordwestecken-Regel: Wähle den linken oberen Index, d.h. fange in der linken oberen Ecke an
und nutze nach Streichen wieder den linken oberen Index.
- Zeilenminimum-Regel: Wähle die Spalte mit den geringsten Kosten und die Zeile mit dem
kleinsten Index.
- Spaltenminimum-Regel: Wähle die Zeile mit den geringsten Kosten und die Spalte mit dem
kleinsten Index.
- Matrixminimum-Regel: Wähle die Zeile und die Spalte mit den geringsten Kosten.

Nachdem nun eine zulässige Anfangslösung mit einer der Regeln gefunden wurde, kann man anhand
folgender Methode das Problem lösen:

Die MODI-Methode (modifizierte Distributionsmethode)


Schritte zur Lösung:
1. Führe zunächst vj und ui ein, welche die Dualvariablen zur Summe aller zu einem Punkt
gelieferten und von einem Punkt verschickten Güter darstellt. Trage diese in die letzte Zeile bzw.
Spalte der Anfangslösung ein. Zu ermitteln sind diese Variablen nach folgender Regel:
ui + v j = cij (Diese Werte nur aus den BV’s ermitteln! Sollte es mehr Spalten als Zeilen oder
umgekehrt geben, so kann in den „Mehrvariablen“ der Wert von ui bzw. vj auf 0 gesetzt werden.)
( )
2. Ermittle die Nichtbasisvariablen mit ζ ij = cij − ui + v j und trage sie in das Tableau ein.
3. Suche das kleinste negative unter 2. ermittelte Element. Jenes Element werde zur neuen BV. Sind
alle Elemente positiv, so ist die Lösung optimal.
4. Jetzt folgt die Bestimmung der Transportmengenänderung δ‘ des ausgewählten Elementes.
Suche nach einem geschlossenen Zickzackweg, der bei der neuen BV beginnt und auch endet.
Auf dem Weg sind nur BV’s zulässig, die unter der Anfangslösung ermittelt wurden. Er hat
entweder zwei Elemente oder gar keine in jeder Spalte und Zeile.
5. Beginnend mit der Addition werden abwechselnd zu den Elementen des Zickzackweges δ addiert
und subtrahiert, beginnend bei xi‘j‘=0. Auf diesem Weg sei δ‘ das größte δ, so daß alle Elemente
auf dem Weg positiv oder gleich Null sind. Jenes Element, welches Null wird, wird neue NBV. Das
alte NBV nimmt den alten Wert der BV an.
6. Der neue ZF-Wert ergibt sich aus: F ( x ) = F ( x ) + δ ' ζ i ' j '
7. Berechne neue uj und vj

Ganzzahlige und kombinatorische Optimierung


Dieser Bereich der Optimierung tritt verhäuft in der Produktion und im Handel ein, da dort nicht mit
reelwertigen Gütermengen gearbeitet werden kann; es sind immer vollständige Güter.
Liegt eine Menge von möglichen Alternativen vor, die die Lösung annehmen kann, so spricht man von
kombinatorischer Optimierung. Letztendlich werden diese Permutationen bewertet, man legt sie in
einer ZF fest und versucht, eine optimale Ordnung zu bestimmen.

18 / 18
© A. Jacob
Ver. 1.0 24.07.01

Ganzzahlige Optimierungsprobleme mit total unimodularer Koeffizientenmatrix


Begriffliches: Man spricht von einem relaxierten Problem oder einer Relaxation eines
Optimierungsproblems, wenn einige (oder alle) Nebenbedingungen des Problems weggelassen oder
gelockert werden (z.B. das Standardproblem der linearen Optimierung stellt eine Relaxation der
ganzzahligen Optimierungsaufgabe dar).
Eine quadratische ganzzahlige Matrix heißt unimodular, wenn die Determinante der Matrix den Wert 1
oder –1 annimmt. Sie heißt total unimodular, wenn jede quadratische Teilmatrix einen
Determinantenwert von –1, 0 oder 1 hat.

Demnach lässt sich folgendes schließen:


Sind in einem linearen Optimierungsproblem die Matrix A total unimodular und der Vektor b
ganzzahlig, dann sind alle Basislösungen ganzzahlig.

Dieser Sachverhalt vereinfacht die nachfolgenden Verfahren ungemein.

Verfahren von Gomory zur Lösung eines rein ganzzahligen Optimierungsproblems


Als Grundlage dieses Verfahrens dient ein rein-ganzzahliges Optimierungsproblem. Wenn man diese
Relaxation löst und eine ganzzahlige Lösung erhält, bricht das Verfahren von Gomory ab. Andernfalls
fügt man eine neue Nebenbedingung derart ein, dass sie die Ecke, welche zu einer reelwertigen, aber
nicht ganzen Lösung führte, „wegschneidet“. Eine darauf gefundene Lösung, welche sich an der
„neuen“ Ecke ansiedeln wird, bringt u.U. eine ganzzahlige Lösung. Am besten, man veranschaulicht
sich den Sachverhalt anhand einer Zeichnung.

Die Branch-and-Bound-Methode zur Lösung kombinatorischer Probleme


Was hat man?: Anfangs liegt ein binäres Optimierungsproblem vor, d.h. es enthält n Vektoren
bestehend aus {0,1 }, den Möglichkeiten. Bei der Suche nach einer ganzzahligen optimalen Lösung
kann diese Menge aus den gesuchten Variablen bestehen.

Das Prinzip: Diese Methode macht sich das Prinzip der impliziten Enumeration zunutze, d.h. man
versucht, sukzessive Teilmengen vom zulässigen Bereich M zu finden, in denen keine optimale
Lösung des Problems liegt. Dies geschieht mit Hilfe eines sog. Suchbaumes, d.h. eines
Wurzelbaumes, dessen Knoten gewissen Teilmengen von M entsprechen.
Vom Namen der Methode bezieht sich „Branch“ auf das Verzweigen des Suchbaumes, wodurch man
neue Teilmengen von M generiert. „Bound“ weist auf die Verwendung unterer und oberer Schranken
für den ZF-Wert hin, mit deren Hilfe man „uninteressante“ Teilmengen von M eliminieren kann.

Welche Elemente existieren in diesem Algorithmus?


Jede Variable xj in diesem Verfahren befindet sich in einem Zustand, der durch sj beschrieben wird:
- gesetzt: xj =1 und sj = 1 (fixiert)
- gesperrt: xj =0 und sj = 0 (fixiert)
- frei: xj =1 oder 0 und sj = -1
d.h. jeder Knoten im Baum bekommt zusätzlich noch eine Zustandsangabe.
Jeder dieser Knoten besitzt einen zugehörigen optimalen ZF-Wert F*(s), welcher das Minimum dieses
Knotens ist. Jedem Knoten s ist also ein Teilproblem P(s) des zu lösenden Optimierungsproblems (P)
zugeordnet.

Zudem werden noch Schrankenfunktionen b eingeführt, welche die Menge aller Knoten darstellt, die
den folgenden drei Bedingungen zu genüge kommt:
I. b(s) ist eine untere Schranke für den optimalen ZF-Wert von P(s)
II. Sind alle Variablen für den Knoten s fixiert, so gibt b(s) den Zielfunktionswert für den
entsprechenden Verktor x und damit die kleinste untere Schranke an.
III. Bei Einschränkung des zulässigen Bereichs „verbessert“ sich die untere Schranke; d.h. die
Schrankenfunktion b(.) verhält sich wie die Funktion F*(.).
B sei der Zielfunktionswert der bisher besten gefundenen Lösung. Anfangs gilt B:=∞, falls man keine
andere Obergrenze ausmachen kann.

Anschaulich:

19 / 19
© A. Jacob
Ver. 1.0 24.07.01

Versuche sukzessive Teilmengen von M durch binäre Unterscheidung zu finden, in denen keine
optimale Lösung von P liegt und folglich ausgesondert werden können. Zum Aussondern oder
Auffinden der Lösungen dienen die Regeln I, II und III. Das Vorgehen ist wiefolgt:

Das Verfahren:
T
Zu Beginn des Verfahrens besteht der Suchbaum nur aus der Wurzel, die dem Vektor s=(-1,...,-1)
entspricht (alle Variablen sind frei), und ein aktiver Knoten ist (d.h. noch nicht untersucht). In jedem
Schritt wir ein aktiver Knoten untersucht. Folgende Fälle können dabei eintreten:
1. b(s) ≥ B: Knoten aus dem Suchbaum entfernen, da er nur über zulässige, nicht jedoch über
optimale Lösungen verfügt. Hat der Vorgängerknoten nur diesen einen Nachfolger, so kann
der Vorgängerknoten auch eliminiert werden.
2. b(s) < B: Folgende 2 Fälle werden nochmals unterschieden:
2a. Alle Variablen des Knotens sind fixiert (sj={0,1}), also ist x=s eindeutig festgelegt. Setze
B:=F(x) als neue beste optimale Lösung. Ist zudem der Wert des Vorgängers ebenso groß wie
der von s, so können alle von s verschiedenen Knoten eliminiert werden.
2b. Es ist sj=-1 für mindesten ein j, d.h. mindestens eine Variable ist frei. Dann erzeugt man
Nachfolger, indem man eine oder mehrere freie Variablen fixiert.
In den Fällen 1 und 2a spricht man von einem ausgeloteten Problem, in 2b von einem verzweigten
Problem. Das Verfahren bricht ab, sobald keine Knoten mehr aktiv sind.
Erhält man am Ende eines Verfahrensschrittes mehr als ein Element als aktiven Knoten, so muß
entschieden werden, welcher aktive Knoten im nächsten Schritt betrachtet wird:
FIFO-Strategie (first in first out): Die Knoten werden als Schlange gespeichert, d.h. am Ende wird
angefügt und am Kopf entnommen.
LIFO-Strategie (last in first out): Die Knoten werden als Keller gespeichert, d.h. was zuletzt reinkommt,
wird als erstes wieder herausgenommen.
LLB-Strategie (least lower bound): Es wird derjenige Knoten mit dem kleinsten Wert b(s) gewählt.

Bestimmung unterer Schranken am Anfang des Problems:


Eine oder mehrere NB’s des Problems werden gelockert oder entfernt, um ein einfacheres Problem zu
erhalten (Relaxation) oder bei einfachen Problemen eine Anfangslösung mit dem Simplexverfahren
aufstellen.

Effizienz: Die Effizienz dieses Verfahrens wird stark von der frühzeitigen Eliminierung von Knoten ab,
die durch die Auslotungsregeln abgeschnitten werden können. Damit dies passiert, benötigt man
große untere bzw. kleine obere Schranken. Eine gute Anfangsschranke ist also von sehr großem
Nutzen. Diese kann mit einem heuristischen Verfahren näherungsweise bestimmt werden.

Branch-and-Cut-Verfahren
Idee: Finde einen Bereich Π, der den zulässigen Bereich des relaxierten Problems so einschränkt,
dass zum einen der zulässige Bereich M des ganzzahligen Problems vollständig in Π enthalten ist und
zum anderen sämtliche (ausreichend viele) Ecken von Π ganzzahlige Lösungen repräsentieren. Dann
kann das ganzzahlige Problem durch die Lösung des relaxierten Problems auf Π gelöst werden.

Eigenschaften:
T
• Eine Ungleichung α x≤β heißt gültig für P, wenn sie für alle x ∈ P erfüllt ist.
• Eine Ungleichung heißt stützend, wenn sie mit P mindestens einen Punkt gemeinsam hat,
also nicht überflüssig ist.
• S heißt echte Seite von P, wenn S≠0 und S≠P ist. Eine Facette ist die maximale Seitenfläche
T
bzgl. Mengeninklusion. Seite ist sie durch S={x∈P| α x=β}. Hat P die Dim d≤q, so hat jede
Facette die Dim d-1.
• conv(X) bezeichnet die konvexe Hülle einer Menge X. Allgemein gilt folgende Beziehung für
den Bereich M eines ganzzahligen Problems: M⊆conv(M)⊆P. Wenn M endlich ist, so stellt
conv(M) ein konvexes Polytop dar, dessen Ecken eine Teilmenge von M bilden. Alle Werte,
die die Zielfunktion auf conv(M) annehmen kann, sind ganzzahlig.

Mit dieser Hilfestellung lässt sich folgendes Problem G vereinfacht durch G’ darstellen:

20 / 20
© A. Jacob
Ver. 1.0 24.07.01

 Min. c T x
  Min. cT x
u.d .N . Ax ≤ b ⇒ 
 x ∈ Z +q u.d .N . x ∈ conv( M )

Verfahren: Konstruktion von Polyedern Qi mit P⊃Qi⊃Π; dabei scharfe Schnitte (d.h. es werden nicht
nur Ecken wie bei Gomory weggeschnitten, sondern Seiten oder Facetten) durchführen; falls optimale
Ecke im Qi ganzzahlig: STOP; falls keine Qi mehr erzeugt werden können: Branch&Bound.

21 / 21
© A. Jacob
Ver. 1.0 24.07.01

Nichtlineare Optimierung
In diesem Kapitel handelt es sich um Optimierungsprobleme, deren Zielfunktion und Nebenbeding-
ungen nicht mehr linearen Funktionen entsprechen. Dies kann in der Realität z.B. durch Material-
bilanzgleichungen bei technischen Prozessen auftreten, wenn die Endprodukten nichtlinear von den
Ausgangsproduktmengen abhängen. Eine besondere Schwierigkeit besteht darin, dass bei der
Optimierung in globale bzw. absolute Minima (Maxima) unterschieden werden muß.
Es lässt sich grundsätzlich in zwei verschiedene Arten der Optimierungsaufgaben unterscheiden:
n n
Restringierte auf einer echten Teilmenge des R und Unrestringierte auf dem gesamten R .

Definitionen:
• globaler Minimalpunkt x*: F(x*)≤F(x) für alle x∈M
• globales Minimum: F*:=minx∈M F(x)
• lokaler Minimalpunkt : F(x**)≤F(x) für alle x∈M ∩ U∈(x**) ;d.h. es existiert zumindest eine ∈-
Umgebung >0 um den Punkt x**, für die er ein Minimalpunkt darstellt.
• Lokales Minimum: F(x**)
• Zulässige Richtung: ein Vektor von x∈M heißt zulässige Richtung, wenn man sich δ-weit in
diese Richtung bewegen kann, ohne M zu verlassen. Ist x innerer Punkt von M, so ist natürlich
jede Richtung zulässig.
• Gradient von F g(x**) in einem Punkt x**: Partielle Ableitung von F nach allen xi in
einem Vektor. D.h. er zeigt in die Richtung des stärksten Anstieges von F.

Spezialfall der nicht-linearen Optimierung: konvexe Optimierungsprobleme


Wiederum ein Art der Optimierungsprobleme bilden die konvexen Optimierungsprobleme mit konvexer
ZF und konvexen NBs, bei welchen globales und lokales Minimum zusammenfallen. Hier kann man
sich sukzessive in Richtung abnehmender ZF-Wert im zulässigen Bereich durcharbeiten, bis man das
Minimum erreicht hat. Und aus der Konvexität folgt, dass ein lokales Minimum auch globales Minimum
ist. Dazu müssen folgende Voraussetzungen erfüllt sein:
1. s muß eine zulässige Richtung sein, d.h. der zulässige Bereich darf nicht verlassen werden.
2. s muß in Richtung abnehmender ZF-Wert sein, d.h. g(x) zeigt in Richtung des steilsten
T
Anstieges. Abnahme des ZF-Wertes gleichwertig s g(x)<0, also stumpfer Winkel zwischen s
und g(x).
3. Optimalitätsbedingungen:
T
i. s g(x)≥0 für alle s∈Z(x); d.h. längs keiner zulässigen Richtung in einer Umgebung von x
kann der ZF-Wert verkleinert werden (stationärer Punkt).
ii. Karush-Kuhn-Tucker-Bedingung

 Min. F ( x)

Das konvexe Optimierungsproblem sieht so aus: u.d .N . f i ( x ) ≤ 0 (i = 1,..., m)
 F , f i konvex

Zunächst gilt es zu beweisen, dass das Optimierungsproblem überhaupt konvex ist. Dabei müssen die
ZF und die NBs auf Konvexität überprüft werden. Dies kann man mit folgenden Verfahren
nachweisen:
1. Positiv definiete Hessematrix: Alle Determinanten der Hessematrix sind positiv
2. Eigenwerte sind ≥0
3. Nordwest-Determinanten ≥0
4. linear  konvex
Jetzt ist nur noch die zulässige Richtung aus Vorr. 2 zu überprüfen. Dann kann man sich längs eines
solchen Weges auf die Suche nach einer optimalen Lösung machen.

Lagrange-Funktion und Karush-Kuhn-Tucker-Bedingung


Um Optimierungsprobleme mit NBs besser angehen zu können, macht man sich die Lagrange-
Funktion zunutze. Das Nullsetzen der partiellen Ableitungen der Lagrange-Funktion liefert die
notwendige Bedingung für die Extremwerte. Grundsätzlich versucht man, einen Sattelpunkt der
Lagrange-Funktion L zu finden. Als Lagrange-Multiplikator dienen hier ui. Ein Sattelpunkt ist gefunden,
wenn folgende Bedingung erfüllt ist: L( x, u ) ≤ L( x, u ) ≤ L( x, u ) mit u ≥ 0

22 / 22
© A. Jacob
Ver. 1.0 24.07.01

Als Voraussetzung, um das Problem überhaupt lösen zu können, benötigen wir die Konvexität des
Optimierungsproblems sowie die Slaterbedingung.
Slaterbedingung: Es gebe ein x’, so dass für alle nichtlinearen fi die Bedingung fi(x’)<0 erfüllt ist. Somit
impliziert die Slaterbedingung, dass der zulässige Bereich innere Punkte besitzt.

Somit ergibt sich: Ist die Slaterbedingung erfüllt und sind die Funktionen F, f1,...,fm stetig
differenzierbar und konvex, so ist x genau dann optimale Lösung für das Optimierungsproblem, wenn
die folgenden Karush-Kuhn-Tucker-Bedingungen gelten:

bzw. wenn die Lagrange-Funktion einen Sattelpunkt mit u ≥ 0 besitzt.


Anders und anschaulicher mit der Lagrange-Funktion formuliert:

Lx ( x, u ) =
δL
δx
( )
x, u ≥ 0

Lu ( x, u ) =
δL
δu
( )
x, u ≤ 0
T
x Lx ( x , u ) = 0
T
u Lu ( x, u ) = 0
x≥0
u≥0
Um die globale Minimalstelle x* einer zweimal stetig differenzierbaren, streng konvexen Funktion F zu
ermitteln, kann man sich mit dem Newton-Verfahren durch Iterationsschritte der optimalen Lösung
annähern. Es ergibt sich eine Iterationsvorschrift der folgenden Art:
F ' ( xυ )
xυ +1 := x υ −
F ' ' ( xυ )

Lösungsverfahren für unrestringierte Optimierungsprobleme


Ähnlich wie beim Simplexverfahren startet ein Lösungsverfahren der allgemeinen nichtlinearen
0
Optimierung mit einer Anfangsnäherungslösung x und konstruiert darauf basierend eine Folge von
Näherungslösungen. Allerdings brechen diese Verfahren nicht nach einer endlichen Zahl von
Schritten mit einer optimalen Lösung ab. So erhält man bei diesen Verfahren nur ein
Näherungslösung. Die meisten Verfahren konvergieren gegen ein x*, welches die
T
Optimalitätsbedingung s g(g*)≥0 bzw. bei unrestringierten Problemen g(x*)=0 erfüllt. Mit folgenden
Verfahren werden Näherungslösungen angeboten:

23 / 23
© A. Jacob
Ver. 1.0 24.07.01

Setzt man statt sνTg(xν)<0 die Abstiegsrichtung auf sν := -gν, so spricht man vom klassischen
Gradientenverfahren.
Den Abstand zu einem anderen Punkt (evtl. ist ein optimaler Punkt gegeben) kann man mit Hilfe des
euklidischen Abstandes berechnen.
Die Zulässigkeit der Schrittweite kann man überprüfen, indem man die gewonnenen Werte in die ZF-
Funktion einsetzt und die Ergebnisse miteinander vergleicht. Das Ergebnis muß sich mit höherem ν
verkleinern.

Dynamische & stochastische Modelle und Methoden


Probleme der dynamischen Art ergeben sich in der Wirtschaft durchaus vielfach: Man denke an ein
Lager, dessen Bestand sich durch Zu- und Abgänge im Laufe der Zeit ändert, wobei wir etwa die
Bestellmenge so festlegen wollen, dass die Nachfrage befriedigt wird und die anfallenden Lagerkosten
über einen längeren Planungszeitraum hinweg minimal werden. Da viele Vorgänge in dynamischen
Prozessen stark mit dem Zufall behaftet sind, werden zur Beschreibung solcher Phänomene oft
stochastische Größen verwendet.

Beispiel Transportproblem:
Folgende Faktoren spielen im weiteren in unser Problem mit hinein:
uj : Zu beginn der Periode j gelieferte Menge
rj : Nachfrage in Periode j
xj : Lagerbestand unmittelbar vor Belieferung

 Lagerbilanzgleichung: xj+1 = xj + uj - rj u.d.N. xj ≥ 0

Da eine Minimierung der Lagerkosten angestrebt wird und Material im Lager kosten verursacht, muß
gelten: x1 = xn+1 = 0
Falls eine Bestellung eintritt, so fallen folgende Bestellkosten abhängig von der bestellten Menge an:
B(uj) := K + cuj (K = fixer Kostenanteil und c = Kosten pro Stück)
Somit sind die gesamten während dem Planungszeitraum anfallenden Kosten:

∑ [Kδ (u ]
n

j ) + cu j + hx j +1 mit δ = 1 bei Bestellung und δ = 0 bei keiner Bestellung.


j =1
Somit ergibt sich folgendes Lagerhaltungsproblem:

Beispiel Rucksackproblem:
In obigem Problem waren die „Stufen“ eines dynamischen Optimierungsproblems in Zeitabschnitte
gegliedert, was nicht notwendigerweise der Fall ist. Wesentlich für die Optimierung ist jedoch nur die
Einteilbarkeit in einzelne Stufen, auch künstliche Dynamisierung genannt. Hierzu als Beispiel das
Rucksackproblem, in dem die künstliche Dynamisierung darin besteht, dass in jedem
Optimierungsschritt darüber entschieden werden muß, welcher Gegenstand als nächstes in den
Rucksack kommt.

24 / 24
© A. Jacob
Ver. 1.0 24.07.01

uj : Gegenstand
cj : Wert des Gegenstandes
aj : Gewicht des Gegenstandes
A: Nicht überschreitbares Gesamtgewicht des Rucksacks
xj : das für Ausrüstungsgegenstände noch verfügbare Restgewicht im Rucksack

Problemstellung der allgemeinen dynamischen Optimierung


Wir können aus obigen Beispielen ableiten:

- xj ist eine Zustandsvariable, die den Beginn des Systems zu Periode j beschreibt. Zu Beginn gilt x1
= xa, also gleich dem Anfangszustand.
- Pj sei das Problem, welches es zu lösen gilt.
- uj sind Entscheidungs- oder Steuervariablen. Eine Folge von Entscheidungen heißt Politik oder
Steuerung. Durch eine gefällt Entscheidung verändert sich der Zustand des Systems.
- Somit ist der Anfangszustand einer Periode beschrieben durch eine Funktion der
Vorgängerperiode; xj+1 = fj(xj,uj) ist die Funktion, die den Zustandsbereich beschreibt, d.h. unter
deren NB die Kosten zu minimieren sind.
- gj(xj,uj) ist die Kostenfunktion, die die entstandenen Kosten beschreibt und somit minimiert
werden muß (oder den Gewinn beschreibt und maximiert werden muß).
- Xj+1 beinhaltet als Zustandsbereich die möglichen Zustände von einer Periode j.
- Uj(xj) ist der Steuerbereich, in dem alle möglichen Entscheidungen uj der Periode j liegen
- vj*(xj) seien hier die minimalen Kosten, die bei Realisierung von xj entstehen. Für j=(1|1|n) wird vj*
auch Wertfunktion genannt.
- zj*(xj) ist die optimale Einsatzmenge, um zu den minimalen Kosten zu gelangen.

Bellmansches Optimalitätsprinzip
Dieses Prinzip beruht auf der Tatsache, dass bei gegebener optimaler Politik (u1*, ..., un*) eine
Entscheidung für die Perioden j,...,n unabhängig von der Entscheidung in den Perioden 1,...,,j-1 ist,
falls der Ausgangszustand des Problems fixiert ist.
Man sieht leicht, dass diese Verfahren Ähnlichkeit zur Suche nach optimalen Wegen in Netzwerken
hat.
Wichtig beim Aufstellen eines dynamischen oder dynamisierten Optimierungsproblems:
1. Suche zunächst nach Stufen, in welches das Problem unterteilt werden kann (z.B. in einem
Netzwerk alle Knoten auf einer Höhe).
2. Suche nach möglichen Steuermöglichkeiten, welche im Problem die Auswahlmöglichkeit
beinhalten (z.B. Netzwerk: Welcher Weg wird von einem Knoten ausgehend gewählt).
3. Suche nach einer Übergangsfunktion, welche die Übergänge von einer Stufe in eine andere
beschreibt (z.B. Netzwerk: f(x,u)=xj+1=uj, d.h. erreiche die nächste Stufe).
4. Suche nach einer Kostenfunktion, die die Kosten von einer Stufe zu einer anderen erfasst.
 Erstelle Bellmansche Funktionalgleichung

Bellmansche Funktionalgleichung
{ [
v * j ( x j ) = min g j ( x j , u j ) + v * j +1 f j ( x j , u j )
u j ∈U j ( x j )
]}
Mit dieser Gleichung wird eine Beziehung zwischen zwei aufeinander folgenden Wertfunktionen vj*
und vj+1* hergestellt, die es erlaubt, bei bekanntem vj+1* die Funktion vj* und damit jeweils für eine
Vorperiode die Wertfunktion zu bestimmen, allerdings rückwärts. Wie aus obiger Gleichung ersichtlich,
sind die minimalen Kosten von der zu Periodenanfang verfügbaren Menge, der Entscheidung in dieser
Periode und der in der nachfolgenden Periode minimalen Kosten abhängig.
Das Problem muß nicht notwendiger Weise ein Minimierungsproblem sein, auch Maximierung z.B.
des Gewinns unter Einhaltung einer bestimmten Anlageform sind denkbar.

Bellmansche Funktionalgleichungsmethode
Mit dieser Methode gelangt man durch sukzessive Auswertung der Bellmanschen Funktionalgleichung
von j=n, n-1, ... zum Anfang des Problems, beginnend „am Ende“ mit vn+1*(xn+1) := 0. Somit gelangt
man zu v1*(x1*), also den minimalen Kosten des Optimierungsproblems P1(x1). Es ist auch ersichtlich,
dass wenn man in der ersten Periode nach dem Planungszeitraum von 0 Kosten ausgeht, da man hier
25 / 25
© A. Jacob
Ver. 1.0 24.07.01

nicht mehr vor hat, zu investieren, und sich dann sukzessive zu den Kosten der Vorperioden
durcharbeitet.

Beispiel:
1. Rückwärtsrechnung: Man weiß am Anfang des Optimierungsverfahrens, dass man einen
Geldbetrag so anlegen möchte, dass der gesamte Betrag möglichst gewinnbringend auf eine
Menge von unterschiedlichen Anlagealternativen verteilt werden soll. Somit ist vj+1*(xn+1) = 0 als
Ausgangsbasis gesichert, da in n+1 schon alles angelegt ist. Nun geht man rückwärts jede
Entscheidung über eine Anlageform j durch und ermittelt mit Hilfe der Bellmanschen Funktional-
gleichung den optimalen Gewinn vj in Abhängigkeit von der Ausgangssituation xj am Anfang der
Periode j. Jener wird dann durch die optimale Investitionsmenge zj*(xj) beschrieben, d.h. wenn vj*
= 4 für xj = 2 das Maximum ist, so wird zj*(xj) = 2 sein, falls zwei Einheiten zur Verfügung stehen.
Dies macht man, bis man bei j = 1 angekommen ist. Für diese letzte Alternative ist natürlich nur x1
= n zu überprüfen, da man anfangs noch den vollen Investitionsbetrag zur Verfügung hat.
1. Vorwärtsrechnung: Setze x1* = xa, also gleich dem anfangs verfügbaren Kapital. Gehe nun jede
Entscheidung über die Anlagealternative durch und ordne die entsprechenden Beträge aus der
Rückwärtsrechnung den einzelnen Entscheidungen zu. Ziehe dabei von x1 die optimal verwendete
Menge ab, bis die 0 erreicht ist.

Zusammenfassend:
- Es wird zunächst eine Rückwärtsrechnung durchgeführt, d.h. man beginnt bei n+1 und geht davon
aus, dass in n+1 nichts optimiert werden muß, da dies hinter unserem Zeithorizont liegt (vj+1*(xn+1)
= 0).
- Nun kann man mit der Bellmanschen Funktionalgleichung den möglichen Gewinn der letzten
Periode (vn) in Abhängigkeit von der eingesetzten Menge (xn) ausrechnen. Dies macht man für
alle Alternativen.
- Nun geht man auf j = n-1 und rechnet wiederum alle möglichen Gewinne für alle eingesetzten
Faktoren aus.
- Dies macht man bis j=1. Für diesen Punkt braucht man nicht mehr alle verschiedenen
Einsatzmengen durchzurechnen, da man in der ersten Periode noch alles zur Verfügung hat.
- Nun folgt die Vorwärtsrechnung: Suche für x1 den optimalen Betrag, der zu investieren ist.
Realisiere. Suche für z2 = (x1 – u1) den optimalen Betrag. Verfahre, bis keine Möglichkeit zum
Investieren mehr gegeben ist.

Anwendungsformen
Die Bellmansche Funktionalgleichungsmethode kann auf viele Probleme der dynamischen
Optimierung angewendet werden. Im folgenden seien weitere wichtige Anwendungen und die damit
verbundenen Änderungen an der Gleichung aufgelistet:

1. Binäres Rucksackproblem:
Hier geht es, wie schon vorangegangen erwähnt, um die Frage, ob ein bestimmter Gegenstand in
den Rucksack eingepackte werden soll oder nicht. Um dies mit der Bellmanschen Funktionalglei-
chungsmethode zu lösen, verwendet man folgende speziell auf dieses Problem zugeschnittene
Form:
{ }
v * j ( x j ) = max c j u j + v * j +1 (x j − a j u j )
u j ∈U j ( x j )

mit cj = Wert des Gegenstandes


uj = 1, falls einpacken oder 0, falls nicht einpacken
aj = Gewicht des Gegenstandes
xj = Gewicht des Rucksacks am Anfang von j

Das Prinzip beruht darauf, dass für jeden Gegenstand geschaut wird, ab wann im Rucksack
genug Platz ist und ab wann ein weiterer vorangegangener Gegenstand auch noch hinzugefügt
werden kann. Dies erfolgt mit cj + v*j+1(xj-aj) für xj ≥ aj. Dieser Wert wird dann mit v*j+1(xj+1)
verglichen. Der größere Wert wird in v*j(xj) übernommen. Ist man letztlich bei v1(x1) angelangt, so
hat man den optimalen Inhalt des Rucksacks gefunden.
2. Umkehrung des Rechenverlaufs:
Das Bellmansche Verfahren kann in dem Fall zunächst mit der Vorwärtsrechnung eingesetzt
werden, wenn in Periode j der Anfangszustand xj durch den Endzustand xj+1 und der Entscheidung

26 / 26
© A. Jacob
Ver. 1.0 24.07.01

uj eindeutig gegeben ist, also etwa xj = fj (xj+1,uj) gilt. Die entsprechenden Summanden der ZF
angepasst ergibt sich:
*
v j ( x j +1 ) = min
u j ∈U j ( x j +1)
{g ( x
j j +1 ,u j ) + v
*
j −1 [f j ( x j +1 , u j ) ]}
In der anschließenden Rückwärtsrechnung bestimmt man dann eine optimale Politik und die
zugehörige (optimale) Zustandsfolge.

Lagerhaltung
Ein Lager dient grundsätzlich der Pufferung von Gütern an verschiedenen Stellen im Produktions- und
Vertriebsablauf. Zentrale Frage der Lagerhaltung ist, wann und wie viel bestellt werden soll. Schwierig
ist hierbei, dass viele Größen wie die Lieferzeit oder der Verbrauch nicht genau vorhersagbar sind und
somit als stochastische Größen angesehen werden müssen. Folgende Begriffe sind im Zuge der
Problematik zu definieren:
- Bestellpunkt: Derjenige Lagerbestand, bei dessen Unterschreitung bestellt wird
- Bestellgrenze oder -niveau: Lagerbestand, auf den das Lager bei der Lieferung wieder
aufgefüllt wird
- Fehlmenge: tritt auf, wenn Lager nicht lieferbereit, aber Nachfrage vorhanden

EOQ-Modell (economic order quantity


Diese Modell ist eines der einfachsten Lagerhaltungsmodellen und geht von einer konstanten
Abgangsrate r aus. Mit T als Periodenlänge und Q als Bestellmenge ergibt sich folgende Beziehung:
T=Q/r. Optimaler Bestellpunkt ist gleich 0. Folgende Größen lassen sich aus der einmalige Ableitung
gleich null gesetzt berechnen:
2rK
Optimale Bestellmenge: Q* = mit h = Lagerkosten pro Mengen- und Zeiteinheit
h
* Q* 2K
Optimale Periodenlänge: T = =
r rh
*
* rK hQ
Minimale Kosten: C = * + rc + = 2rhK + rc
Q 2
Nehmen wir an, S sei das voll aufgefüllte Lage am Anfang. S/r ist die Zeitspanne, in der das Lager
nichtnegativ ist, also Kosten produziert. Durchschnittlich im Lager befinden sich während dieser Zeit
S/2. Somit ergeben sich die Kosten zu:
SS S2
h =h
2 r 2r
Diese Modell beinhaltet noch keine Fehlmengenkosten p. Mit Fehlmengenkosten zu rechnen kann
durchaus günstiger sein als keine Fehlmengen in kauf zu nehmen. Es sind genau die Kosten, die
entstehen, wenn nichts mehr im Lager ist und trotzdem Nachfrage vorhanden ist. Dann ist (Q-S)/r die
Zeitspanne, in der Fehlmengen auftreten können und (Q-S)/2 die durchschnittlichen Fehlmengen. Die
(Q − S ) (Q − S ) (Q − S ) 2
Kosten betragen demnach: p =p
2 r 2r
Somit ergeben sich die Kosten pro Zeiteinheit (also mal 1/T):
rK hS 2 p(Q 2 − S 2 )
C (Q, S ) = + rc + +
Q 2Q 2Q
Jetzt ist nur noch partiell nach Q und S abzuleiten, und man erhält:
2rK h+ p 2rK p Q* 2K h+ p
Q* = S* = T* = =
h p h h+ p r rh p
p
C * = 2rhK + rc
h+ p
* 2rK h
Außerdem noch die maximale Fehlmenge: Q − S * = −s* =
P h+ p

27 / 27
© A. Jacob
Ver. 1.0 24.07.01

Jetzt kommt noch die Annahme hinzu, dass wir eine Lieferzeit λ>0 einkalkulieren müssen. Soll also
die Bestellung eintreffen, wenn s* erreicht ist, so muß λ früher bestellt werden. Somit erhält man die
optimale Bestellzeitpunkt zu nT*-λ mit n = Periode.
Der optimale Bestellpunkt ist s*+λr für λr<Q*, d.h. λ<T*. Sonst bestimme lT*≤λ≤(l+1)T* und setze in
s*+λr-lQ* ein.
Deterministisches dynamisches Modell
Zu Begin der dynamischen Optimierung schon erwähntes Lagerhaltungsmodell sei an dieser Stelle
nochmals aufgegriffen. Die minimalen Kosten erhält man aufgrund der Bellmanschen Funktional-
gleichung: Cˆ j ( x j +1 ) min {Kδ (u j ) + hx j +1 + Cˆ *j −1 ( x j +1 − u j + r j )} mit Cˆ 0* ( x1 ) := 0
*
=
0 ≤ u j ≤ x j +1 + r j

Wagner und Whitin haben einen Algorithmus zur Bestimmung der optimalen Bestellpolitik entwickelt,
der wesentlich weniger Rechenaufwand erfordert als die Auswertung obiger Funktionalgleichung.
Die variablen Bestellkosten sind in diesem Modell zu vernachlässigen, da sie bei 0 Anfangs- und
Endbestand und konstantem Verbrauch zwischen Anfang und Ende fix sind und somit nicht zu
optimieren.

Das Verfahren ist relativ einfach:


1. Setze am Anfang I*1 gleich den Bestellfixen Kosten und k*1=1 (logisch, da I0 =0)
2. Gehe für jede Periode alle Möglichkeiten durch und ermittle deren Kosten:
- Bestellung in dieser Periode für diese Periode
- Bestellung in der letzten Periode für diese Periode und Lagerung
- Bestellung in der vorletzten Periode für diese Periode und Lagerung
- ...
3. Suche die jeweils geringsten Kosten pro Schritt und addiere sie zu den Gesamtkosten.
4. Schaue in der Rückwärtsrechnung, in welcher Periode aufgrund der Vorwärtsrechnung wie viel
bestellt wird und ermittle so optimalen Bestellplan.

Betrachten wir abschließend den Fall, dass wir keine konstanten bestellfixen sowie variablen Kosten
haben, sondern diese z.B. saisonal bedingt schwanken. Somit werden auch die variablen Kosten
wieder interessant für die Optimierung, da jene jetzt ebenfalls nicht mehr als konstant angesehen
werden können. Generell ist es von Vorteil, wenn man sich zu Anfang des Optimierungsproblems klar
macht, welche Kosten als konstant betrachtet werden können und somit rausfallen, und welche bei
der Optimierung berücksichtigt werden müssen.
Um es optisch anschaulicher zu machen, sollte man tabellarisch vorgehen und sukzessive alle
Bestellmöglichkeiten durchrechnen: Wenn ich in der 1.Periode für alle Perioden bestelle, wenn ich in
der ersten Periode nur für n-1 Perioden bestelle, usw. Die macht man, bis man bei n angekommen ist.
Nun braucht man sich nur noch in der Rückwärtsrechnung von der letzten Spalte zur ersten
durcharbeiten und den minimalen Betrag der Spalte zu ermitteln.

28 / 28
© A. Jacob
Ver. 1.0 24.07.01

Warteschlangen

Die Grundlegende Systematik ist bei allen betrachteten Wartenschlangenproblemen die obige.
Lediglich die Ausgestaltung kann unterschiedliche Formen annehmen.

Zunächst ein paar Begriffe:


Tn sei die Ankunftszeit des n-ten Kunden im Wartesystem
Zn := Tn-Tn-1 sie die Zwischenankunftszeit des n-ten Kunden
Sn sei die Bedienungs- oder Servicezeit des n-ten Kunden
q
Wn sei die aktuelle Wartezeit des n-ten Kunden in der Schlange
q
W n := W n + Sn ist demnach die Gesamtzeit des n-ten Kunden im Wartesystem
q
Dn := Tn + W n + Sn ist der Zeitpunkt, nach dem der Kunde das Wartesystem wieder verlässt
V(t) ist die virtuelle Wartezeit; Zeit, die benötigt würde, um alle zum Zeitpunkt t wartenden Kunden
abzuarbeiten.
L(t) ist die Anzahl der zum Zeitpunkt t im Wartesystem befindlichen Kunden
λ Ankunftsrate, also ankommende Kunden pro Zeiteinheit
µ Bedienrate, also abgefertigte Kunden pro Zeiteinheit
ρ := λ/µ Auslastungsintensität, also ankommende pro abgefertigte Kunden

Weitere Charakteristika von Warteschlangen sind die Größe des Warteraums, die Anzahl der
Bedienschalter, der Abfertigungsmodus (einzeln oder schubweise) und die Auswahlordnung (im
weiteren nur first come first serve betrachtet).
Außerdem werden im weiteren die Zwischenankunftszeiten und die Bedienungszeit nicht nur statisch
sein, sondern auch stochastischen Prozessen unterliegen.

Das Wartesystem M|M|1


M|M|1 steht für: Exponentialverteilung in den Zwischenankunftszeit Z | Exponentialverteilung in der
Bedienungszeit S | einen Bedienschalter.
Folgende drei Merkmale werden zur Beschreibung des Systems verwendet:
1. Die Wahrscheinlichkeit, dass ein Kunde in einem beliebigen Zeitintervall der Länge ∆t eintrifft, sei
λ∆t+o(∆t) mit der Ankunftsrate λ. Die Wahrscheinlichkeit, dass mehr als ein Kunde in einem
solchen Intervall eintrifft, sei o(∆t).
2. Die Wahrscheinlichkeit, dass ein Kunde in einem beliebigen Zeitintervall der Länge ∆t abgefertigt
wird, sei µ∆t+o(∆t) mit der Bedienungsrate µ>0. Die Wahrscheinlichkeit, dass mehr als ein Kunde
in einem solchen Intervall abgefertigt werden, sei o(∆t).
3. Die Anzahl der in disjunkten Zeitintervallen auftretenden Ereignisse „Eintreffen eines Kunden“
seien unabhängige Zufallsgrößen. Das gleich gelte für die Ereignisse „Abfertigung eines Kunden“.

Aus den oben eingeführten Kennzahlen ergibt sich die Verkehrs- oder Auslastungsintensität ρ := λ/µ,
für die im Gleichgewichtszustand ρ<1 gilt (d.h. Ankunftsrate ist kleiner als die Bedienrate).

29 / 29
© A. Jacob
Ver. 1.0 24.07.01

Wartesystem mit unverändertem Warteverhalten


Analog zum betrachteten Ankunftsprozess kann man den sogenannten Bedienprozess betrachten.
Statt Z (Zwischenankunftszeit) gilt hier S (Bedienzeit des Kunden) und statt λ (Ankunftsrate) gilt µ
(Bedienrate).

Problem: Wie erhalten wir die durchschnittliche Anzahl von Kunden, die auf ihre Abfertigung warten?
j
πj = (1-δ)δ Diese Beziehung ist genau dann zulässig, wenn konvergentes Verhalten
vorliegt. π0 ist genau die Wahrscheinlichkeit, dass kein Kunde im System ist.
j+1
πj+1 =πj δ Sehr nützliche, wenn man die Wahrscheinlichkeit von 0, 1, 2,… Kunden im
System ausrechnen soll und als Basis π0 gegeben hat.
j j-1 2
 L = ∑j (1-δ)δ = (1-δ)δ ∑j δ = (1-δ)δ 1/(1-δ) = δ / (1-δ) = λ / (µ-λ)

Das ganze ist abgeleitet aus einer Reihenentwicklung. Wichtig sind die letzten beiden Beziehungen,
die vermehrt in praktischen Anwendungen benötigt werden.
Diesen Erwartungswert kann man auch für die Anzahl der Kunden in der Warteschlange entwickeln.
q 2 2
Man kommt dann zu: L = δ / (1-δ) = λ / µ(µ-λ)
q q
Ein weiteres wichtiges Instrument ist die Littles Formel L = λW bzw. L = λW , die es erlaubt, auf die
q
durchschnittliche Wartezeit zu berechnen, die ein Kunde in der Schlange (W ) bzw. im kompletten
q
System (W ) warten muß.
Diese Formel lässt sich mit den zuvor abgeleiteten Beziehungen für L so kombinieren, dass man zu
q q
einer Wartezeit in der Schlange von W = L / λ bzw. Wartezeit bin zu Abarbeitung von W = L / λ
kommt.

Wartesystem mit veränderbarem Warteverhalten


Das Übergangsverhalten solcher Wartesystem im Gleichgewicht kann in Digraphen wie folgendem
festgehalten werden:

In den Knoten steht der Zustand des Wartesystems, an den Pfeilen die möglichen Übergänge. Die
obige Abbildung zeigt den Fall von einem Wartesystem, bei dem sich die Wahrscheinlichkeit, dass
sich ein Kunde anstellt, mit zunehmender Länge der Warteschlange abnimmt. In diesem Fall könnten
die stationären Wahrscheinlichkeiten über folgende Formel berechnet werden:
(1 − ρ ) ρ j
πj =
1 − ρ r +1

L := E(d) = ∑jπj Erwartete Anzahl von Kunden d im Wartesystem mit πj stationäre


Wahrscheinlichkeit, dass j Kunden im Wartesystem.
q
L = L – (1-π0) Die durchschnittliche Länge der Warteschlange

Es kann nun auch passieren, dass sich ein ungeduldiger Kunde j bei einer gewissen Länge der
Warteschlange nur zu einer gewissen Wahrscheinlichkeit aj anstellt.
Für die Bedienungsrate wird sich kaum etwas ändern, da die vorhandene Schlange auch noch
abzuarbeiten ist, wenn ein Kunde wieder geht. Aber die Rate der Warteschlange verändert sich ab
dem Punkt, ab dem sich ein neuer Kunde entschließt, lieber wieder zu gehen (λj =λaj). Somit ist bis zu
dieser Rate und ab der Rate getrennt zu sehen.
Es kommt jetzt noch ein Größe hinzu, die man als „Erfassungsgrad der Kunden“ bezeichnen kann,
d.h. es ist die Wahrscheinlichkeit, dass sich ein ankommender Kunde in die Schlange einreiht:
α = 1-πr (also 1-W’keit, dass Schlange schon voll)
Daraus ergibt sich dann die effektive Ankunftsrate, also um α korrigiert: λeff = λα = λ(1-πr) = µ (1-π0).

30 / 30
© A. Jacob
Ver. 1.0 24.07.01

i -1
Die stationären W’keiten berechnen sich jetzt nach: π0 = (1 + ∑ δ )
j
πj = δ π0

Das Wartesystem M|M|s


Nun sei die Möglichkeit von s parallelen identischen Abarbeitungsschaltern gegeben. Abzuleiten ist
alles aus dem Gleichgewichtsfall: ankommende Kunden – abgearbeitete Kunden = 0. Der einzigste
Unterschied zu M|M|1 besteht darin, dass die Bedienrate variabel wird, d.h. bis zu s Kunden bildet
sich keine Warteschlange, ab s Kunden wird diese dann mit sµ abgearbeitet.

31 / 31
© A. Jacob