SIm
Simulation
Simulation
-
- 1 / 50
-
Lernkarten
Was ist Simulation?
- nachbildung eines Systems
- mit dynamischen Prozessen
- in experimentierfähigen Mpdell
- die auf die wirklichkeit übertragbar sind
Was ist ein Modell?
Zum Original ähnliches Objekt, mit dem eine Aufgabe gelöst werden kann, deren Lösung am Original nicht zweckmäßig ist
Eigenschaften:
Abbildung -> Repräsentation eines originals
Abstraktion -> nur relevante Attribute
Modelzweck -> Pragmatisch
Was ist ein Simulationsmodel?
bildet wesentliche Objekte & Verhaltensregeln eines Systems ab
repräsentiert originales System durch Werte von Zustandsvariablen
-> dynamisches Modell, in der Regel durch Programme realisiert
Nennen sie Klassifikationsmöglichkeiten von Modellen!
stochastisch vs deterministisch
statisch vs dynamisch
stetig vs diskret vs kombiniert
geometrisch
biologisch
physisch
strukturell
funktioniell
Eigenschaften von Simulationsmodellen?
dynamische Modelle
Simulationsuhr & Zustandsänderung in zeitlicher Reihenfolge
Zeit und Prozessverlauf entspricht dem Original
Modellparameter & Modellvariablen => Merkmale des Originals
Prozesse durch Algorithmen repräsentiert
Mathematisches Modell
alle formalen Bezeichnungen, die Zusammenhang der Zustandsvariablen mit anderen Systemparametern eines Systems beschreibt
analytisches Modell?
dynamisches Systemverhalten durch Menge gekoppelter Gleichungen charakterisiert
Beschreibung von Zusammenhängen zwischen Zustandsvariablen, Parametern, Anfangsbedingungen und Eingangsvariablen des Systems
in Form analytischer Ausdrücke
algorithmisches Modell
Wiederspiegeln des optimalen Prozessverlauf im System
in Form struktur- und zeitgerechter Wertveränderungen der Zustandsvariablen.
mittels elementarer Operationen & Bedingungen in algorithmischer Verknüpfung
kontinuierliche Simulation + Beispiel
Darstellung Beziehungen zwischen Fluss und Bestandsgrößen über Differenzialgleichungen
während Modellierung jederzeit Werte für Bestandsgrößen
Anwendung: alle Bereiche der Naturwissenschaft
diskrete/ereignisorientierte Simulation + Beispiel
Darstellung der Beziehung zwischen Fluss und Bestandsgröße über Differenzengleichungen
nur an bestimmten Zeitpunkten Werte für Bestandsgrößen
Anwendung: Produktion, Logistik und Transport
Bedienungstheoretische Grundkonzept
Mathematik der Warteschlangen
- Bedienungssystem besteht immer aus 1 oder mehrer Bedienungskanälen
-> von eintreffenden Forderungen (z.B. Kunde) in Anspruch genommen
Zufällige:
Ankunft + Bedienzeit
Wartezeit für Kunden
Stillstandzeit der Server
-> Theoretische Basis für viele diskrete Simulationsprobleme
Real - vs Simulationszeit
Dastellung Simulationszeit durch Variablen
Laufzeit Simulationszeit abhängig von:
Rechnergeschwindigkeit
Effektivität des Programms
Verhältnis einstellbar
-> Zeitraffung Sim > Real
-> Zeitlupe Sim < Real
Was ist Taktsimulation?
Vorteile + Nachteile
Einteilung der Zeit in Abschnitte
Simulationszeit ändert sich bei jedem Sprung gleich
nur zu diesem Zeitpunkt werden Veränderungen berechnet
+Einfache Programmstruktur, Eignung zur Animation
- keine Infos zw. Takten -> Taktgröße zu groß o. klein
- Rechenzeit
Beispiel: Haltestellen
Was ist Ereignissimulation?
Vor - und Nachteile
Sprung zum nächsten Ereignis = sprunghafte Änderung der Modellvariablen
Zerlegt nachfolgenden Prozess in Folge zeitlich aufeinanderfolgende Ereignisse
-> aufsteigende Ereignisliste
+ Effizient, exaktere Ergebnisse
- schwieriger Handzuhaben
Beispiel: Bankfiliale
Algorithmische Grundladen Ereignissimulation
Zustandsänderung über Ereignisse abgebildet
Beginn der Simulation -> Startereignis
bei jedem Ereignis -> Ereignisse ergeben sich, die in zeitlicher Reihenfolge eingeplant werden.
Simulationszeit zum nächsten Ereignis
Queue leer -> Simulation beendet
Was versteht man unter Weltsicht?
definiert wie ein Simulationsmdell aufgebaut bzw. modelliert wird
Ereignisorientierte Weltsicht
Ereignisse ändern den Status des Modells durch Veränderung der Statusvariablen
-> keine Änderung zwischen 2 Ereignissen
Ereignistypen: arrival ws++ , begin Service ws-- busy 1, end service 0
Zusammenfassen gleicher Ereignisse zu Ereignistypen
Anweisung in Ereignistypen -> Ereignisroutinen
Zeitfortschritt in Ereigniszeitpunkten
prozessorientierte weltsicht
Beschreibung des Flusses einer Einheit durch das Modell
Prozess = Folgeon Operationen die das Objekt durchläuft
Prozessroutine beschreibt Sequenz von Ereignissen.
aktive Objekte = besitzen eigenes Verhalten (Kunde)
passive Objekte = werden von aktiven Benutzt (Parkplatz)
was sind Koroutinen
ähnlich einer Funktion, ehr Threads
-> unterbrechen Ablauf
-> speichern Status
-> führen später bearbeitung fort
keinen wechselseitigen Ablauf
Verzögerungen in SLX
Scheduled Delay : geplante zeitliche Verzögerung "advance 10"
state based Delay: Verzögerung aufgrund einer logischen Bedingung "wait until !busy"
Prinzipielle Arten von Parallelen Vorgängen in SLX
Inter-Object Paralism -> viele Instanzen von Objekten zur gleichen Zeit atkiv, konkurrieren um passive Objekte
bedingte oder geplante Verzögerung
Intra-Object Paralism -> Mehrere gleichzeitige Aktivitäten innerhalb eines Objekts
-> fork - Statement für Split des Kontrollflusses
diskrete Zufallsvariablen?
Anzahl möglicher Werte ist abzählbar
Wahrscheinlichkeit Äquivalent beschreibbar mit
-> kumulative Verteilungsfuktion
-> Wahrscheinlichkeitsmassefunktion
stetige Zufallsvariablen
Anzahl der Werte ist unendlich
beschreibbar mit:
-> kumulative Verteilungsfunktion
-> Wahrscheinlichkeitsdichtefunktion
Welche Zustände können Prozesse in SLX haben?
Moving = aktive Puck, wird aktuell ausgeführ
Scheduled = Prozess um definierte Zeit verzögert
Waiting = durch Prozess unterbrochen wait until
Interrupted = prozess unterbrochen
Terminated = Prozess beendet
Wie erfolgt der Zeitfortschrtt in SLX
geplante Verzögerung "advance"
Bedingte Vezögerung "wait until"
Wie werden Zufallsvariablen beschrieben?
durch Funktionen
E(x) -> durchschnitt der Ergebnisse bei unendlicher Wiederholung
Var(x) -> Quadratische Abweichung vom Erwartungswert
Spezielle Verteilung: Normalverteilung (Gauß), Dreiecksverteilung, Binominalverteilung
-> gibt an wie sich Wahrscheinlichkeit auf Zufallsvariablen verteilt
Was sind Pseudozufallszahlen?
Zuffallszahl zwischen 0 und 1
durch deterministischen Algorithmus bestimmt -> wiederholung der Simulation
mit zufälligem Startwert
Vorgehenweise/Schritte bei Eingabendatenanalyse
1. Daten sammeln (messen/schätzen)
2. Schätzen des Types der Verteilungsfunktion -> Histogramm / -> Quantile Quantile Plot
3.Parameter der Verteilungsfunktion bestimmen -> Mittelwert + Varianz
4. Überprüfen der Qualität der Verteilungsfunktion -> Goodness of Fit
empirische Verteilungsfunktion?
Nutzung von Rohdaten zur Erzeugung von Ausprägungen einer Zufallszahl
aus Stichprobe wird Funktion abgeleitet
Beobachtungswerte können spezialisiert werden
Theoretische Verteilungsfunktion
aus gesammelten Daten wird Verteilungsfunktion geschätzt Typ und Parameter
Überprüfen der Qualität der Schätzung
Voraussetzung und Einschränkung empirischer & Theoretischer Verteilungsfunktion
Tests müssen mit Vorsicht angewendet werden, da sie
Bei kleinen n fast alle Verteilungen annehmen
Bei großen n fast alle Verteilungen ablehnen
Zur Erzeugung eines Simulationsmodells muss man:
-> Die Daten des realen Systems messen
-> Durch eine Verteilungsfunktion approximieren
-> Diese Verteilungsfunktion im Simulationsmodell verwenden
Probleme bei der Analyse von Ankunftsprozessen
herausragende Bedeutung in allen Bediensystemen
poisonprozess als meistgenutztes Modell
-> Kunden treffen einzeln ein
-> Anzahl Ankünfte im Intervall unabhänging von Ankünften im vorherigen Intervall
-> konstante Ankunftsrate
bei Erfüllung Voraussetzungen sind Zwischenankunftszeiten unabhängig voneinander & durch identisch
verteilte exponentialverteile Zufallsvariable
Typische Ergebnisgrößen von Simulationen
Beobachtungsdaten -> Sequenz von ungewichteten Beobachtungen z.B. Gesamtzahl eingetroffener Kunden
Zeitgewichtete Daten -> Sequenz v. Beobachtung, deren Werte sich über eine bestimmte Simulationszeitspanne nicht ändern
Wichtungsfaktor = Zeitspanne mit Konstantem Wert (z.B. Warteschlangen)
Nutzerspezifisch gewichtete Daten
ein Simulationslauf = keine ausreichende Aussage?
zufällige Eingangsdaten -> zufällige resultierende Daten
--> keine aussagekraft mit einem Versuch
Replikation des Simulationsversuch
-> mittelwertbildung der Ergebnisse
langen Lauf durchführen
-> Abschnitte für Statistik defnieren und neu starten
Replikationen?
Simulationsdurchläufe mit selben Modell und identischen Parametern ABER: andere Startwerte
berechnende Daten
-> basieren auf verschiedenen Zufallszahlenströmen
-> nicht identisch verteilt
-> tendieren auf Normalverteilung
Bildung Mittelwert, Varianz, Konfidenzintervalle
Terminierende Simulation?
Simulation läuft für eine bestimmte Zeit TE, E ist spezifisches Endeereignis
Simuliertes System startet zum Zeitpunkt 0 unter definierten Initialbedingungen und endet zum Zeit TE
Bsp.: Bank mit Öffnungszeiten von 8-16 Uhr
Nicht Terminierende Simulation?
Simulation, die System abbildet, das ständig weiterläuft (über sehr lange Zeit)
Simulation startet zum Zeitpunkt 0 unter definierten Initialbedingungen undendet zu einem vom
Simulationsexperten spezifizierten Endezeitpunkt TE
Ziel: Studieren des steady-state-Verhaltens
Verhaltens stationären/ eingeschwungenen Systems
Ergebnisse sollen nicht durch Initialisierungsbedingungen beeinflusst werden
Bsp.: Produktion im Schichtbetrieb, wo die Maschinen dauerhaft laufen
Ergebnisanalyse Terminating Simulation
Simuliert über Zeitintervall von [0, TE]
Beobachtungswerte Y1, Y2,...,Yn werden gespeichert
Anzahl der Beobachtungswerte n ist fest (Verweilzeit von 100 Kunden)
Ziel: Schätzung des Mittelwertes (Punktschätzung)
berechnete Daten sind Unabhängig, Identisch verteilt, tendieren auf eine Normalverteilung
Ergebnisanalyse Steady State Simulation (nicht terministisch)
Beobachtungen aus einem einzelnen Lauf Y1 ,Y2 , ..., Yn
θ ist der long-run Mittelwert für die Durchlaufzeit
Mittelwert als lim definiert unabhängig von den Initialisierungsbedingungen zum Zeitpunkt 0
Systematischer Fehler (Bias)
Initialisierungsbedingungen beeinflussen den Fehler bei Punktschätzung in Steady-State-Simulationen
Bei Simulation von komplexen Systemen ist nicht von empty and idle Zustand auszugehen
Umsetzung durch zwei unterschiedliche Herangehensweisen:
Verwendung von Initialisierungsbedingungen, die Zustand des Systems aufzeigen
Start mit
empty and idle und das Nichtberücksichtigen (Wegwerfen) von Daten aus derEinschwingphase