440 likes | 682 Views
Grundlagen der Simulation: Übungsaufgabe Sommersemester 2006 . Torsten Reiners Universität Hamburg Fachbereich Wirtschaftswissenschaften Institut für Wirtschaftsinformatik. Grundlagen der Simulation eM-Plant Zugang . d. Grundlagen der Simulation Modellformulierung .
E N D
Grundlagen der Simulation: Übungsaufgabe Sommersemester 2006 Torsten Reiners Universität Hamburg Fachbereich WirtschaftswissenschaftenInstitut für Wirtschaftsinformatik
Grundlagen der SimulationModellformulierung • in der Realität gibt es kaum deterministische Ereignisse
Grundlagen der SimulationNotwendigkeit von Zufallszahlen • Art und Umfang von Aufträgen, die in einer Werkstatt eintreffen • Zeit, zwischen dem Eintreffen von zwei Aufträgen bzw. allgemein • Ankunftsprozesse in vielen Warteschlangensystemen • Ausfall von Maschinen • Krankenstand von Personal • Bearbeitungs- und Transportzeiten • Auftreten von Qualitätsmängeln nach Art und Häufigkeit
Grundlagen der SimulationKlassisches Beispiel Zufallsexperiment • Werfen einer Münze • 2 mögliche Ergebnisse (Kopf oder Zahl) • vor dem Wurf ist das Ergebnis unbekannt • Ergebnisse voneinander unabhängig • Ergebnis hat keinen Einfluss auf das nächste Ergebnis • „gedächtnislos“ • Wiederholung von Experimenten erlaubt die Ermittlung von Wahrscheinlichkeiten (relative Häufigkeit) • Wahrscheinlichkeitsmodell bildet alle möglichen Ereignisse (Ergebnisraum) mit den zugehörigen Wahrscheinlichkeiten ab • Zufallsvariable „speichern“ den (numerischen) Ausgang des Experiments
Grundlagen der SimulationZufallsvariablen • Sei X eine Zufallsvariable • X heißt diskret, wenn sie nur eine abzählbare Anzahl von Werten x1, x2, ... annehmen kann • Kennzeichnend für eine diskrete Zufallsvariable ist eine diskrete Wahrscheinlichkeitsfunktion p (xi ), die jedem möglichen Ereignis xi(i =1, 2, ...) eine reelle Zahl zuordnet: P (X=xi ) = p (xi ) • Es muss gelten: 0 < p (xi ) < 1 ∀i und
Grundlagen der SimulationZufallsvariablen • X heißt kontinuierlich, wenn eine Dichtefunktion f(x) existiert, die die Wahrscheinlichkeit angibt, dass X in einem Intervall I liegt: • Es muss gelten: 0 ≤ f (x) ≤ 1 ∀x∈ℜ und = 1 • Dann wird F (x) = P (X ≤ x) = als Verteilungs-funktion der Zufallsvariablen X bezeichnet, wobei x alle Werte der reellen Zahlengerade durchläuft.
Grundlagen der SimulationErzeugung von Zufallszahlen • Zufallszahlen als • Realisierung exogener stochastischer Variablen • Stichprobe aus der Verteilung einer Variable • Erzeugung • Mechanisch erzeugte („echte“) Zufallszahlen Beispiele: Würfel, Roulette, Ziehung der Lottozahlen • Mit einem Digital-Computer erzeugte Pseudozufallszahlendeterministischer Algorithmus (reproduzierbar) • Ziele: Gleichverteilung, keine Korrelation, große Periodenlänge
Grundlagen der SimulationPseudozufallszahlen • Vorteile • schnell zu generieren • volle Wiederverwendbarkeit • keine externen Einflüsse • günstige/homogene Hardware (im Vergleich zu echten Zufallszahlen) • Hilfe für Tests während des Programmentwurfs • Unterstützung bei systematischer, statistischer Auswertung • Nachteil • keine echten Zufallszahlen (Perioden) • Abhängigkeit • Korrelationen • nur scheinbar unabhängig
Grundlagen der SimulationErzeugung von Zufallszahlen • Vorgehensweise no Startwert (Seed, ganze Zahl) ni Folge von i ganzen Zahlen m obere Schranke der Folge ni (ni < m für i) • Einfache rekursive Vorschrift • k-fache rekursive Vorschrift mit festem k N und gegebener Anfangsfolge n0, n1, …, nk-1 ni = f(ni-1 ) ni = f(ni-1 )
Grundlagen der SimulationZufallsgenerator • Vorschrift heißt Zufallszahlengenerator! • Transformation der ganzzahligen Zufallszahlen in [0,1[-gleichverteilte Zufallszahlen (0 xi < 1) • Grundsätzlich wird ein Strom von Zufallszahlen erzeugt xi: xi = ni / m
Grundlagen der SimulationMethoden zur Erzeugung von Zufallszahlen • Mittelquadratmethode • Lineare Kongruenzmethoden • Gemischte Kongruenzmethode • Multiplikative Kongruenzmethode • Allgemeine Kongruenzmethoden • Kompositionsmethoden • Tausworthe Ansatz • ...
Grundlagen der SimulationMittelquadratmethode • J. v. Neumann • Vorgehen • ni sind s-stellige Dezimalzahlen mit s gerade (m=10s) • nierhält man, indem man ni-1 quadriert und aus dem 2∙s-stelligen Ergebnis (inkl. der evtl. führenden Nullen) die mittleren s Stellen als ni auswählt. • Beispiel s = 2 m = 100 n0 = 13
Grundlagen der SimulationLineare Kongruenzmethode • Definition: Periode Eine Periode ist ein Teilstück einer Folge von Zufallszahlen, das sich identisch wiederholt (und nicht selbst aus identischen Teilstücken besteht). • Beobachtung: Alle rekursiv erzeugten Zufallszahlen besitzen eine Periode! s = 2 m = 100 n0 = 24
Grundlagen der SimulationLineare Kongruenzmethode • (einfache) Rekursionsgleichung (hier bereits um den Parameter c erweitert a Parameter m obere Schranke, maximale Länge der Periode n0 ungerader Startwert • erzeugt Zahlen im Intervall [0, m -1] • Beispiel ni = (a ni-1 + c ) mod m a = 19 c = 0 m = 27 = 128 n0 = 7
Grundlagen der SimulationLineare Kongruenzmethode • Grundlage vieler Implementationen • z.B. m = 2s, für Rechner mit der Wortlänge s bzw. (s + 1)-Bit. Die Modulo-Funktion kann mit Hilfe der Assemblersprache sehr einfach realisiert werden (→ Überlauf!) • Probleme • Es werden nur bestimmte Zahlen an diskreten Punkten im Intervall • [0,1] „getroffen„ • Die Zahlen wiederholen sich mit einer Periode p≤m • Die Zahlen können direkt ermittelt werden; es gilt
Grundlagen der SimulationAnforderungen an Zufallszahlengeneratoren • Folgende Anforderungen resultieren an die Generatoren • Die Periode sollte so groß wie möglich sein. Im Idealfall gilt Periodenlänge p = m (full-period Generator) • Alle Zahlen von 0 bis m-1 sollten mit der gleichen Wahrscheinlichkeit erzeugt werden (Gleichverteilung) • Die entstehende Zahlenfolge sollte so zufällig wie möglich scheinen, d.h. alle ganzen Zahlen 0, 1, ..., m-1, alle Zahlentupel, Tripel oder n-Tupel sollten mit gleicher Wahrscheinlichkeit an jeder Stelle der Zahlenfolge erscheinen können
Grundlagen der SimulationSetzen der Parameter • Generell muss gelten: • 0<m; • a<m; • c<m; • n0<m (da gilt: (x + m) mod m = x mod m) • Satz 1: Ein auf der linearen Kongruenzmethode basierender Zufallszahlengenerator ist genau dann ein full-period Generator, wenn gilt: • Der größte gemeinsame Teiler von m und c ist 1 • Wenn q Primteiler von m ist, dann muss a-1 auch durch q teilbar sein • Wenn 4 Teiler von m ist, dann muss 4 auch Teiler von a-1 sein
Grundlagen der SimulationMultiplikative Kongruenzmethode • Satz 2: Ein auf der multiplikativen Kongruenzmethode basierender Zufallszahlengenerator ist genau dann ein full-period Generator, wenn gilt: • Der größte gemeinsame Teiler von n0und m ist 1 (relativ prim) • a ist primitives Element mod n • Eine maximale Länge ist erreichbar, wenn m eine Primzahl ist • Weitere Variante ist der Fibonacci-Generator ni+1 = (ni-1 + ni-1 ) mod m
Grundlagen der Simulationprimitives Element • Satz 3: Sei p eine Primzahl mit p > 4. Eine ganze Zahl g ist genau dann primitives Element von Zp, wenn für jeden Primfaktor q von p-1 das Folgende gilt: gPrimfaktoren≠ 1 mod p • Beispiel p = 167, Primfaktoren sind 2 und 83 • 12 = 1 mod 167 • 22 = 4 mod 167; 283 = 1 mod 167 • 32 = 9 mod 167; 383 = 1 mod 167 • 42 = 16 mod 167; 483 = 1 mod 167 • 52 = 25 mod 167; 583 = 166 mod 167
Grundlagen der SimulationMultiplikative Kongruenzmethode • Es gilt c = 0 ⇒ Teil (a) von Satz (2.1) ist nicht erfüllt • Es lässt sich zeigen, dass p ≤ 2s-2 gilt, wenn m = 2s gewählt wird. • Es gibt ein Vielzahl von unterschiedlichen Generatoren, die auf dieser Methode basieren • PMMLCG (prime modulus multiplikative linear congruence generators). • Bestimmung von a, m und n0 bei PMMLCG: • m Größte Primzahl für die gilt m < 2s • a Es muss gelten: Die kleinste Zahl l, für die al-1 durch m teilbar ist, ist l=m-1 • Unter diesen Bedingungen gilt bei beliebiger Wahl von n0 stets p = m -1 • Beispiel für einen PMMLCG: • Die Simulationssprache SIMSCRIPT II.5 bietet Generatoren mit a=630360016 und m = 231 - 1
Grundlagen der SimulationAllgemeinere Kongruenzmethode • Zugrunde liegt eine k-fache Rekursionsgleichung • Beispiele: • Quadratische Kongruenz: • Verallgemeinerte lineare Kongruenz: • Vorteil: Periodenlängen von p >> m werden möglich. • Nachteil: Die Kalkulation von ni wird rechenzeitintensiver. ni = f (ni-1 ,ni-2 , …, ni-k ) mod m ni = (a∙ni-1 +b∙ni-1 + c ) mod m ni = (a1ni-1 + a2ni-2 + … + ai-kni-k ) mod m
Grundlagen der SimulationKompositionsmethode • Grundgedanke: Zwei auf einer linearen Kongruenzmethode basierende Generatoren werden in geeigneter Weise miteinander kombiniert. • Beispiel: • Mit dem ersten Generator wird ein Vektor V von k Zufallszahlen erzeugt • Mit dem zweiten Generator wird eine gleichverteilte ganze Zahl i zwischen 1 und k ermittelt • Als Ergebnis wird die i-te Komponente von V zurückgegeben. • Anschließend ersetzt der erste Generator die i-te Komponente in V durch die nächste vom ihm erzeugte Zufallszahl. • Vorteil: • Mit dieser Methode kann aus zwei "schlechten" Generatoren ein Generator mit guten statistischen Eigenschaften gemacht werden.
Grundlagen der SimulationTausworthe-Generator • Zugrunde liegt eine q -fache Rekursionsgleichung • bisowie ck sind entweder 0 oder 1 (Binärvariablen) • Generell haben Tausworthe-Generatoren die folgende Gestalt bi = (c1bi-1 + c2bi-2 + … + cqni-q ) mod 2 bi = (bi-r + bi-q) mod 2 mit 0<r<q
Grundlagen der SimulationTausworthe-Generator • Beispiel r=3; q=5; b1 = b2 = ... = b5 = 1 • Damit erzeugt der Generator die folgende Bitfolge: 11111 00011 01110 10... • Teilfolgen werden als binäre Darstellung der eigentlichen Zufallszahl interpretiert. • Die maximale Periodenlänge von Tausworthe-Generatoren ist 2q - 1 • Das resultiert aus der Anzahl von Möglichkeiten q Binärzeichen zu permutieren. • Vorteile: • Addition und mod 2 sind äquivalent zum „exklusiven oder“ ⇒ effiziente Ermittlung der nächsten Zahl ist sichergestellt • Problem: • Der Ansatz, aus den Bitfolgen gleichverteilte Zufallszahlen zu erzeugen, ist umstritten. • Eingesetzt wird ein Tausworthe-Generator z.B. in der Simulationssprache GPSS/H.
Grundlagen der SimulationTests von Zufallsgeneratoren • Grundsätzliches • Zufallszahlengeneratoren sind deterministische Berechnungsvorschriften • Sie werden getestet, um festzustellen wie stochastisch sie erscheinen • Zwei Klassen von Tests lassen sich unterscheiden: • Empirische Test • Zufallsgenerator wird ausprobiert • k Zufallszahlen erzeugen und statistisch testen • Gleichverteilung • Korrelation bzw. Unabhängigkeiten • Theoretische Tests
Grundlagen der SimulationEmpirische Tests • Optische Tests • Aus dem Zahlenstrom X1, X2, …, Xn werden Zahlentupel gebildet • 2D- bzw. 3D-Plots sind üblich • Bei zufälligen Zahlenströmen entstehen keine Muster • Problem • Aussage nur über einen Ausschnitt des Zahlenstroms möglich • lokale Tests
Grundlagen der SimulationTests von Zufallsgeneratoren Unabhängigkeitstests Verteilungstests Anordnungstest Tests auf Gleichverteilung Serientest weitere Momente Runtest Erwartungswert Kominatorische Tests Test auf andere Verteilungen Pokertest Normalverteilung Sammlertest Permutationstest Autokorrelationstest
Grundlagen der SimulationEmpirische Tests • Serientest • sind wiederkehrende Muster zu erkennen • sind in den Zahlenfolgen auffällige Lücken • Runtest • Zahlenfolgen sollten steigen und fallen • Differenz benachbarter Zahlen mal positiv, mal negativ • Runs: gleiches Vorzeichen bei mehreren Zahlen • Pokertest • Transformation des Zahlenstroms auf die Ziffern 0-9 durch Intervallbildung • Zusammenfassung der Folge zu Quintupeln • Vergleich der relativen Häufigkeiten der verschiedenen Quintupel mit der berechneten Wahrscheinlichkeiten
Grundlagen der SimulationEmpirische Tests • Permutationstest • Unterteilung der Zahlenfolge im Tupel (z.B. Triple) • Indexierung der einzelnen Elemente der Tupel nach der Größe • Häufigkeitsauswertung der einzelnen Permutationen der Indizes • Autokorrelationstest • Test auf lineare Unabhängigkeit • Es wird der Korrelationskoeffizient r(Xn, Xn+a) mit a gleich der Abstand zwischen zwei Zahlen der Zahlenfolge • Erwartungswerttest • Der Erwartungswert aus einer gleichverteilten Stichprobe [0,1[ • Erwartungswert ist das arithmetische Mittel der Stichprobe (0.5)
Grundlagen der SimulationTheoretische Tests • Versuchen a priori Aussagen über Generatoren anhand ihrer Parameter zu machen • theoretische Tests sind global • Problem: Die Durchführung ist komplizierter bzw. auf als bei empirischen Tests • Grundsätzliches zum Testen von Generatoren • Der Aufwand zur Untersuchung der Generatoren sollte von der Bedeutung der Güte der Zufallszahlen für den jeweiligen Anwendungsfall abhängig gemacht werden.
Grundlagen der SimulationNichttheoretische Verteilungen • Diskrete Werte werden direkt mit ihren jeweiligen relativen Wahrscheinlichkeiten (ungleich 0) angegeben Jedem möglichen Variablenwert werden ganzzahlige Zufallszahlen (Integer-Random-Variablen) zugewiesen, so daß die Anzahl dieser Variablen proportional zur Wahrscheinlichkeit des Wertes ist. • unendliche Zahl von Werten; Modellierung von Zeiträumen • Wahrscheinlichkeit, dass die Zufallsvariable einen bestimmten Wert annimmt, ist gleich Null. Die Wahrscheinlichkeit, dass sie irgendeinen Wert im Intervall annimmt, gleich Eins. Daher wird mit sogenannten kumulativen Wahrscheinlichkeiten gearbeitet. Die Dichtefunktion P(x) einer Verteilung
Grundlagen der SimulationNichttheoretische diskrete Verteilung • Beispiel • Sie haben bereits 100 Lieferungen getätigt und • 40 Lieferungen binnen eines Tages, • 40 Lieferungen in zwei Tagen und • 20 Lieferungen in drei Tagen erfolgen. • Dann sind die relativen Häufigkeiten für die Lieferung • in einem Tag 40/100 = 0,4, • in zwei Tagen ebenfalls 40/100 = 0,4 und • in drei Tagen 20/100 = 0,2. • Werden nun 100 Zufallszahlen zwischen 0 und 99 generiert, dann können z.B. • die Werte zwischen 0-39 dem Variablenwert (Lieferzeit in Tagen) 1, • die Werte zwischen 40-79 dem Variablenwert 2 und • die Werte zwischen 80-99 dem Variablenwert 3 zugewiesen werden.
Grundlagen der SimulationNichttheoretische Verteilungen • ist eine intervallweise stetige Funktion, die angibt, wie hoch die Wahrscheinlichkeit ist, dass die Zufallsvariable X in einem vorgegebenen Intervall liegt, • kann keine negativen Werte annehmen, und die Fläche zwischen der Funktion und der x-Achse ergibt immer den Wert 1, • bestimmt die kumulative Wahrscheinlichkeitsfunktion C(x), die sogenannte Verteilungsfunktion. Sie • Wahrscheinlichkeit, daß ein Bauteil bis zu einem bestimmten Zeitpunkt ausfällt. Die Wahrscheinlichkeit, daß das Bauteil im ersten Jahr ausfällt, beträgt 0.5, daß es während der ersten drei Jahre ausfällt, 0.9 usw.
Grundlagen der SimulationErwartungswert • Der Erwartungswert µ oder E (X) einer Zufallsvariable X gibt den Wert an, der sich bei einer häufigen Wiederholung des Zufallsexperiments einstellen wird
Grundlagen der SimulationVarianz/Standardabweichung • Die Varianzσ² oder V (X) einer Zufallsvariablen X ist ein Maß für die Streuung der Variablen • Die Standardabweichungσ oder S (X ) ist als positive Quadratwurzel aus der Varianz definiert σ² = E (X – E (X ))²
Grundlagen der SimulationKovarianz • Die Kovarianz Cij von zwei Zufallsvariablen Xi und Xjist ein Maß für die Abhängigkeit der beiden Zufallsvariablen (Mittelwert der für alle Datenpunktpaare gebildeten Produkte der Abweichungen) • Es gilt: Cij = 0 ⇒ Xiund Xjsind unabhängig (Die Umkehrung gilt im allgemeinen nicht!) • Ist Cij > 0 (Cij < 0) so werden Xiund Xjals positiv (negativ) korreliert bezeichnet. Tendenziell treten dann Xi> E(Xi) sowie Xj > E(Xj) gemeinsam (nicht gemeinsam) auf. • Als standardisiertes Maß für die Korrelation wird der Koeffizient verwendet. Es gilt -1 ≤ ρij≤ 1. Cij = E ( (Xi – E (Xi)) ⋅ (Xj – E (Xj)) )
Grundlagen der SimulationBernoulli-Verteilung • Beschreibt die Ergebniswahrscheinlichkeit eines Experimentes mit zwei möglichen Ausgängen, die sich durch X = 0 bzw. X = 1 charakterisieren lassen. • Wahrscheinlichkeitsverteilung • Erwartungswert: E (X ) = p • Varianz: V (X) = p – p ² • Verwendung • Immer dann, wenn ein Experimentgelingen (X=1) oder misslingen (X=0) kann • Grundlage der Binomial-Verteilung
Grundlagen der SimulationPoisson-Verteilung • Beschreibt die Wahrscheinlichkeit, dass in einem bestimmten Zeitintervall eine Anzahl von x Ereignissen auftritt. • Unterstellt wird ein unabhängiges Auftreten der einzelnen Ereignisse. • Im Mittel treten pro Zeiteinheit λ>0 Ereignisse auf. • Wahrscheinlichkeitsverteilung • Erwartungswert: E (X ) = λ • Varianz: V (X ) = λ • Verwendung • Modellierung der Anzahl von pro Zeiteinheit nachgefragten Einheiten; z.B. Nachfrage in einem Lagerhaltungsmodell
Grundlagen der SimulationErlang-k-Verteilung • Spezialfall der Gamma-Verteilung; k muss eine nichtnegative ganze Zahl sein • Dichtefunktion • Erwartungswert: E (X ) = k⋅µ • Varianz: V (X ) = k⋅µ² • Verwendung • Modellierung von Bearbeitungs-zeiten, beispielsweise zur Durch-führung von Reparaturen
Grundlagen der SimulationDreiecksverteilung • Dichtefunktion • E (X ) = • V (X ) = • Verwendung • Einsatz in "informationsarmen" Situationen • Benötigt wird die Kenntnis des häufigstenWertes m, einer unteren Grenze a und eineroberen Grenze b • Basis können grobe Schätzungen sein
Grundlagen der SimulationExponentialverteilung • Dichtefunktion • Erwartungswert: E (X ) = λ • Varianz: V (X ) = λ2 • Verwendung • Zeit zwischen unabhängigen Ereignissen • Einsatz zur Modellierung vonAnkunftsprozessen aller Art