Operations Research (OR) II Fortgeschrittene Methoden der Wirtschaftsinformatik 27. Juni 2007 Michael H. Breitner, Hans-Jörg von Mettenheim und Frank Köller 27.06.2007 # 1 Stochastische Inputgrößen Stochastische Inputgrößen Diskrete Wahrscheinlichkeitsfunktionen Binomialverteilung Poisson-Verteilung Empirische Funktionsverläufe Aus Beobachtungswerte können zum Teil näherungsweise mathematische Funktionen abgeleitet werden Häufig aber können keine theoretischen Dichte- oder Wahrscheinlichkeitsfunktionen abgeleitet werden Empirisch beobachtete Verläufe können als nichttheoretische Dichte- oder Wahrscheinlichkeitsfunktionen bezeichnet werden Beispiel: Bank an einer S-Bahn Station (20 Minuten-Takt)! 27.06.2007 # 2
Nicht-theoretische Dichte oder Wahrscheinlichkeitsfunktion Empirisch beobachtetes Anrufaufkommen in einem Call Center und deren Prognose zur Personalbedarfsermittlung und -einsatzplanung in der Praxis (häufig 30- oder 60-Minutenintervalle) Quelle: Helber, S.; Stolletz, R. (2004) Call Center Management in der Praxis: Strukturen und Prozesse betriebswirtschaftlich optimieren. Berlin: Springer. Auskunftsdienst der Deutschen Telegate AG vom 02. 08.11.1998 27.06.2007 # 3 Stochastische Inputgrößen Beispiel: wöchentliche Nachfrage nach einem Gut Nachfragemenge Häufigkeit ( =50) 1 5 2 10 3 20 4 4 5 5 6 6 Relative Häufigkeit 0.1 0.2 0.4 0.08 0.1 0.12 Werte spiegeln das Verhalten der Nachfrager wider Können als Basis für zufallsgesteuerte (simulierte) Experimente dienen Künftiges Nachfrageverhalten und dessen Auswirkungen können simuliert werden Auswirkungen z.b. auf Produktions- und Lagerhaltungsentscheidungen 27.06.2007 # 4
Stochastische Inputgrößen Signifikanztest Praktische Erfahrungen oder theoretische Überlegungen führen zu Hypothesen bezüglich der bestimmten Verteilungstypen der stochastischen Inputgrößen Hypothese wird anhand von Stichproben überprüft Entsprechende Verfahren werden als Signifikanztests bezeichnet Beispielsweise kann getestet werden, ob die Annahme zum Erwartungswert einer normalverteilten Inputgröße wirklich µ ist Durch eine Stichprobe die ein bestimmtes Signifikanzniveau erreicht kann die Hypothese verworfen oder angenommen werden 27.06.2007 # 5 Mit Hilfe der Verteilungstypen sollen in einer Simulation Zufallszahlen erzeugt werden Generierung (0,1)-gleichverteilter Zufallszahlen Erzeugung diskreter und kontinuierlicher Zufallszahlen Echte Zufallszahlen: Selten benutzt!!! Ziehen aus einer Urne Mit einem Ziehungsgerät (Lotterie) Pseudo-Zufallszahlen: Häufige Anwendung in der Simulation Zahlenfolge durch Zufallszahlen-Generator Unregelmäßigkeiten in der Ziffernfolge von π, e, 2 Frequenz des natürlichen Rauschens (z.b. beim Radio) 27.06.2007 # 6
Anforderungen an Zufallszahlen-Generatoren: Gute Annäherung der Pseudo-Zufallszahlen an die gewünschte Verteilung Zahlenfolge soll reproduzierbar sein Zahlenfolge soll eine große Periodenlänge haben Generierungszeit soll kurz sein Speicherplatzbedarf soll gering sein Standardzufallszahlen Hier nur Algorithmus zu (0,1)-gleichverteilten Zufallszahlen Kongruenzmethode von Lehmer Vgl. W. Domschke/A. Drexl, Einführung in das Operations Research, Springer, 2002 27.06.2007 # 7 Kongruenzmethode von Lehmer Voraussetzung: am, INund b IN { 0} Start: Wähle eine beliebige Zahl g0 IN a gi 1 + b Bilde gi = ( a gi 1+ b) modulo m= ( a gi 1+ b) m m gi berechne die Zufallszahl zi : = m Additive Kongruenzmethode wenn b > 0 Multiplikative Kongruenzmethode wenn b = 0 Wahl der Parameter a, b und m sowie des Startwertes g 0 hat wesentlichen Einfluss auf die Güte der Zufallszahlen g i = ganzzahliger Rest 27.06.2007 # 8
Kongruenzmethode von Lehmer a gi 1 + b Bilde gi = ( a gi 1+ b) modulo m= ( a gi 1+ b) m m gi und zi : = m a = 3, b = 0, m = 2 4 sowie g 0 = 1 (Periodenlänge von 4) 31 + 0 3 g1 = ( 3 1+ 0) 16= 3 0 16= 3 16 z1 : = 16 33 + 0 9 g2 = ( 33 + 0) 16= 9 016 = 9 z 16 2 : = 16 39 + 0 11 g3 = ( 3 9 + 0) 16 = 27 1 16 = 11 16 z3 : = 16 311 + 0 1 g4 = ( 311 + 0) 16= 33 216 = 1 z 16 4 : = 16 31 + 0 3 g5 = ( 31 + 0) 16= 3 016 = 3 16 z5 : = 16 27.06.2007 # 9 Kongruenzmethode von Lehmer Wahl der Parameter a, b und m sowie des Startwertes g 0 hat wesentlichen Einfluss auf die Güte der Zufallszahlen Parameterwahl in Abhängigkeit vom verwendeten Rechnertyp Beispiel: multiplikative Kongruenzmethode für 32 Bit-Rechner Für a = 7 5, m = 2 31 1und ganzzahliges g 0 mit 0 < g 0 < m hat eine Periodenlänge von m 1 Je Zyklus wird jede ganze Zahl g i von 1 bis m 1genau einmal erzeugt 27.06.2007 # 10
Kongruenzmethode von Lehmer Bei sinnvoller Vorgabe der Parameter sind die g i ganze Zahlen aus {1,, m 1} g i = m kann wegen der Modulofunktion nicht auftreten g i = 0 darf bei der additiven Kongruenzmethode bei positivem b auftreten: Division g i /m liefert dann gleichverteilte Zufallszahlen z 0,1 [ ) Bei der multiplikativen Kongruenzmethode darf nicht g i = 0 auftreten, weil sonst alle weiteren Zahlen ebenfalls Null wären: Division g i /m liefert also gleichverteilte Zufallszahlen zi ( 0,1) Große Periodenlänge liefert genaue Annäherung an die Werte 0 und 1: kein Unterschied zwischen offenen und geschlossenen Intervallen (Standardzufallszahlen) 27.06.2007 # 11 i Probleme bei der Zufallszahlenerzeugung! 27.06.2007 # 12
Diskrete weitere Zufallszahlen Beispiel empirisch ermittelte Verteilung Nachfragemenge 1 2 3 4 5 6 Häufigkeit ( =50) 5 10 20 4 5 6 Relative Häufigkeit 0.1 0.2 0.4 0.08 0.1 0.12 Unterteilung des Intervalls (0,1) in entsprechend den relativen Häufigkeiten disjunkte Abschnitte Fällt eine Zufallszahl z i in das k-te Intervall (mit k=1,2,,6) so ist dies die simulierte Absatzmenge x i = k 27.06.2007 # 13 Diskrete weitere Zufallszahlen Bernoulli-verteilte Zufallszahlen Wiederholtes Erzeugen von im Intervall (0,1) gleichverteilten Zufallszahlen z z p folgt x = 1 z > p folgt x = 0 Binomialverteilte Zufallszahlen B(n,p) Jeweils n Bernoulli-verteilte Zufallszahlen erzeugen und die Ergebnisse addieren (wiederholtes addieren von 1 oder 0) Poissonverteilte Zufallszahlen Während des Beobachtungszeitraums werden n t exponentialverteilte Zufallszahlen erzeugt und die Anzahl an zugehörigen Ankünften aufsummiert 27.06.2007 # 14
Kontinuierlich verteilte Zufallszahlen Gleichverteilte Zufallszahl x auf dem Intervall (a,b): Erzeuge Standardzufallszahl z ((0,1)-gleichverteilt) Gemäß x := a + z (b a) wird eine gleichverteilte Zufallszahl x auf dem Intervall (a,b) erzeugt Zufallszahlen einer beliebige Verteilungsfunktion Z ist eine (0,1) gleichverteilte Zufallsvariable F eine Verteilungsfunktion für die die Umkehrfunktion F 1 existiert Zufallsvariable X = F 1 (Z) besitzt Verteilungsfunktion 27.06.2007 # 15 Kontinuierlich verteilte Zufallszahlen Exponentialverteilte Zufallszahl F(x) Verteilungsfunktion F(x) der Exponentialverteilung: F( x) = 1 e δx Gleichsetzen der Standardzufallszahl z mit F(x): x x z F( x) e δ δ = = + 1 e = 1 z Durch Logarithmieren: 1 1 δ x ln e= ln 1 z x= ln 1 z oder x= ln z δ δ ( ) ( ) ( ) 27.06.2007 # 16
Kontinuierlich verteilte Zufallszahlen Dreiecksverteilte Zufallszahl Dichte- bzw. Verteilungsfunktion: x 1 für 1 x 2 f ( x) = 3 x für 2 x 3 0 sonst Gleichsetzen der Standardzufallszahl z mit F(x): 1 x 2: x: = 1+ 2z und 2 x 3: x: = 3 2 2z ( ) F x 0 für x 1 2 x 1 x 2 2 für 1 x 2 = 2 x 7 für 3x 2 x 3 2 2 1 sonst 27.06.2007 # 17 Kontinuierlich verteilte Zufallszahlen N(0,1)-verteilte Zufallszahlen Verteilungsfunktion F(y) (0,1) gleichverteilte Zufallszahlen z i auf der Ordinate Daraus ableitbar: N(0,1)-verteilte Zufallszahl y i Berechnung normalverteilter Zufallszahlen stößt auf Schwierigkeiten: Weder Verteilungsfunktion von F noch deren Inverse F 1 sind angebbar In Statistikbüchern sind jedoch beide Funktionen tabelliert Beispiel N(0,1)-verteilte Zufallszahlen y i : z i 0.01 0.05 0.1 0.25 0.5 0.75 0.9 0.95 0.99 y i 2.33 1.65 1.29 0.67 0 0.67 1.29 1.65 2.33 27.06.2007 # 18
Kontinuierlich verteilte Zufallszahlen Alternative Vorgehensweise zur Erzeugung N(0,1)- verteilte Zufallszahlen Erzeuge 12 (0,1) gleichverteilte Zufallszahlen z 1,,z 12 Berechne 12 yi : = zj 6 j= 1 Auf Grund des zentralen Grenzwertsatzes der Statistik sind die Zahlen y i näherungsweise normalverteilt mit dem Erwartungswert µ= 0und der Standardabweichung σ = 1 Beliebige Konstanten µ und σ: Zufallszahlen x i = σ y i + µ sind näherungsweise normalverteilt mit Erwartungswert µ und Standardabweichung σ 27.06.2007 # 19 N(0,1) relative Häufigkeit absolute Häufigkeit 12 yi : = zj 6 j= 1 mit i = 1,,2000 27.06.2007 # 20
Anwendungen der Simulation Analyse komplexer stochastischer Systeme und Anwendungen Planung von (inner-) betrieblichen Transport-, und Materialflusssystemen Zielsetzung: Analyse und Bewertung verschiedener Varianten der Gestaltung der Komponenten und der organisatorischen Abläufe des Systems Numerische Integration von Funktionen Auswertung stochastischer Netzpläne Modell aus der Lagerhaltungstheorie Simulation von Warteschlangensystemen 27.06.2007 # 21 Anwendungen der Simulation Numerische Integration von Funktionen Praktische Verwendung findet die Simulation v.a. bei der gleichzeitigen Integration von Funktionen nach zahlreichen Variablen Mit c sei eine obere Schranke für den Maximalwert der Funktion im Intervall [a,b] bekannt (0,1) gleichverteilten Zufallszahl y f ( x)dx y' := a + (b a) y in (a,b) ist gleichverteilt Bestimme den Funktionswert t = f(y') Danach ermittele in (0,1) gleichverteilte Zufallszahlen z z' := z c ist in (0,c) gleichverteilt Ist z' t, so ist dies ein Punkt unterhalb oder auf f(x), ansonsten handelt es sich um einen Punkt oberhalb von f(x) Auf diese Weise lässt sich durch hinreichend viele Iterationen näherungsweise das Verhältnis des gesuchten Flächeninhaltes zu dem des Rechteckes mit den Seitenlängen b a und c ermitteln. 27.06.2007 # 22 b a Vgl. W. Domschke/A. Drexl, Einführung in das Operations Research, Springer, 2002
Anwendungen der Simulation Numerische Integration von Funktionen Voraussetzung: Eine Methode zur Erzeugung (0,1)-gleichverteilter Zufallszahlen y i und z i Start: Setze den Zähler j := 0 Iteration i (=1, 2,...): Bestimme y i sowie z i und berechne t := f(a + (b a) y i ); falls z i c t, setze j := j + 1 Ergebnis: Nach hinreichend vielen Iterationen erhält man durch Gleichsetzen von j F = i b a c ( ) die gesuchte Fläche F = j c (b a)/i als Näherung für das Integral Methoden zur Bestimmung eines geeigneten Stichprobenumfanges zeigen, dass bei gegebenem Stichprobenumfang n das sogenannte Latin Hypercube Sampling" (LHS) reinen Stichprobenziehungen überlegen ist LHS unterteilt die Dichtefunktion in n Intervalle gleicher Wahrscheinlichkeit und zieht genau eine Stichprobe je Intervall Im Falle n = 100 bedeutet dies, dass man das Intervall [a,b] in 100 gleich breite Abschnitte unterteilt Bemerkung: Die MC-Integration spielt in der Praxis i. d. R. erst für 3 und mehr unabhängige Variablen eine Rolle (sonst: Numerische Quadraturformeln)! 27.06.2007 # 23 Anwendungen der Simulation Gesucht: Schwerpunkt und Trägheitsmomente M. H. Breitner, Vorlesung Numerische Mathematik an der TU Clausthal, WS 00/01 27.06.2007 # 24
Anwendungen der Simulation Test des Zufallszahlengenerators (nur notwendig Aussage!) 27.06.2007 # 25 Anwendungen der Simulation 27.06.2007 # 26
Anwendungen der Simulation Auswertung stochastischer Netzpläne Bei Netzplänen mit stochastischen Vorgangsdauern und/oder Vorgangsfolgen sind Projektdauern und Pufferzeiten keine deterministischen, sondern ebenfalls stochastische Größen Ihre Dichte- bzw. Verteilungsfunktion analytisch zu bestimmen, ist i.d.r. schwierig oder gar unmöglich, mit Simulation jedoch recht einfach zu bewerkstelligen Ereignisse des Netzplans sind mit A bis E bezeichnet C d[1,3] D Den Pfeilen bzw. Vorgängen sind die stochastischen, g[1,2] im jeweiligen Intervall gleichverteilten (g) bzw. bei g[1,4] A Vorgang (C,D) im Intervall [1,3] gleichschenklig dreiecksverteilten (d) Vorgangsdauern zugeordnet Für dieses Beispiel können wir die gemeinsame g[1,3] B Dichtefunktion der Vorgänge (A,B) und (B,E), also des Weges w 1 = (A,B,E) im Netzplan, sehr einfach ermitteln Sie ist dreiecksverteilt im Intervall [4,8] mit einer maximalen Wahrscheinlichkeit p = 0.5 für die Dauer 6 g[3,5] g[1,2] E 27.06.2007 # 27 Anwendungen der Simulation Auswertung stochastischer Netzpläne Die Ermittlung der Dichtefunktion entlang des Weges w 2 = (A,C,D,E) sowie des Weges w 3 = (A,B,D,E) ist bereits deutlich schwieriger Sie lässt sich durch Faltung" der jeweiligen Dichtefunktionen berechnen Entsprechende Berechnungen sind grundsätzlich auch für je zwei parallel zueinander verlaufende Wege möglich g[1,2] A g[1,3] C d[1,3] g[1,4] B D g[3,5] g[1,2] E Simulation eignet sich auch zur Bestimmung der Dichtefunktion Für die Ermittlung von jeweils einem Wert der Projektdauer (ein Zufallsexperiment) wird je eine zufallsabhängige Dauer pro Vorgang generiert Diese Zahlen werden addiert für jeden der drei Wege im Netzplan Anschließend wird das Maximum dieser Summen gebildet Für dieses Beispiel kann das sehr einfach unter Verwendung des Tabellenkalkulators Excel durchgeführt werden 27.06.2007 # 28
Anwendungen der Simulation Auswertung stochastischer Netzpläne W. Domschke/A. Drexl, Einführung in das Operations Research, Springer, 2002 Häufigkeitsverteilungen für die Dauer der Vorgänge der drei Wege und der Projektdauer nach Durchführung von 5.000 Zufallsexperimenten Kurve 1 Weg (A,B,E): approximiert die erwartete Dreiecksverteilung Kurve 2 Weg (A,C,D,E): auch hier Dreiecksverteilung mit Erwartungswert 5 Kurve 3 Weg (A,B,D,E): Erwartungswert 4,5 Zeitdauern unter und über dem Erwartungswert besitzen jedoch eine ebenso hohe Wahrscheinlichkeit wie der Erwartungswert Die Häufigkeitsverteilung ähnelt einer Trapezverteilung Häufigkeitsverteilung für die gesamte Projektdauer (fett eingezeichnet) Ähnelt Normalverteilung mit Erwartungswert 6,65 Bereich über 8 ZE identisch mit Kurve 3 (da nur diese Vorgänge relevant) g[1,2] 27.06.2007 # 29 A g[1,3] C d[1,3] g[1,4] B D g[3,5] g[1,2] E