Simulation 1 (Kapitel 1 & 2)

Lernkarteikarten zur Vorlesung "Simulation 1" bei Prof. Straßburger an der TU Ilmenau.

Lernkarteikarten zur Vorlesung "Simulation 1" bei Prof. Straßburger an der TU Ilmenau.


Robin Douglas
Diese Lernkarten bieten einen Überblick über Simulationen und Modelle im Bereich Informatik für die Mittelstufe. Sie konzentrieren sich auf die Grundlagen von Simulationen, einschließlich der Erstellung, Validierung und Verifikation von Modellen, sowie auf die Analyse von Systemen und die Bewertung von Ergebnisgrößen. Die Karteikarten sind besonders nützlich für Schüler und Studierende, die sich mit der Simulation von Prozessen und Systemen befassen, da sie wichtige Konzepte und Methoden erläutern und praktische Beispiele bereitstellen.
Karten
64
Lernende
3
Sprache
Deutsch
Kategorie
Informatik
Stufe
Mittelschule
Erstellt / Aktualisiert
28.05.2013 / 02.08.2019

Lernkarten

(Kapitel 3): Was versteht man unter Koroutinen in SLX?

Korutinen kann man am besten als die Verallgemeinerung des Konzepts einer Prozedur oder Funktion bezeichnen. Korutinen unterbrechen ihren Ablauf und nehmen in später unter Beibehaltung ihres Status wieder auf.

(Kapitel 3): Welche prinzipiellen Arten der Modellierung von parallen Vorgängen gibt es in SLX?

  • Abbildung von Parallelismus ist wichtigster Grund zur Benutzung der Simulation zur Prozessbeschreibung
  • Inter-Object-Parallism:
    • Viele Instanzen von Objekten können zur gleichen Zei aktiv sein
    • Aktive Objekte konkurrieren typischerweise um die Nutzung von passiven Objekten
    • Aktive Objekte können sowohl bedingte als auch geplante Verzögerung erfahren
  • Intra-Object-Parallism:
    • Mehrere gleichzeitige Aktivitäten können innerhalb der Verhaltensbeschreibung eines Objektes abbgebildet werden
    • fork-Statement, um mehrere Kontrollflüsse zu erzeugen
    • Bsp: Maschine, die gleichzeitig ein Teil laden, ein anderes Teil bearbeiten und ein drittes Teil entladen kann (ohne Intra-Object-Parallism müsste dies über 3 separate Objekte modelliert werden)

(Kapitel 4): Was versteht man unter einer Zufallsvariablen?

Eine Zufallsvariable oder Zufallsgröße bezeichnet Funktionen, die den Ergebnissen eines Zufallsexperiment Werte (sog. Realisationen) zuordnet.

Dabei wird ein Zufallsexperiment als Prozess definiert, dessen Ergebnis nicht mit Sicherheit bekannt ist. Die Struktur der Zufallsvariablen kann durch eine Verteilungsfunktion beschrieben werden.

(Kapitel 4): Unterscheiden Sie zwischen diskreten und stetigen Zufallszahlen!

Diskrete Zufallszahlen:

Bei diskreten Zufallszahlen sind die möglichen Werte abzählbar und die Wahrscheinlichkeit des Eintretens kann für jedes x angegeben werden (z.B. Würfel).

Kontinuierliche Zufallsvariablen:

Eine Zufallsvariable wird als kontinuierliche bezeichnet, wenn die Anzahl ihrer möglichen Werte überabzählbar unendlich ist (z.B. Bedienzeit in einer Bank).

(Kapitel 4): Wie können Zufallszahlen beschrieben werden?

Die Struktur von diskreten Zufallsvariablen kann mit Hilfe der kumulativen Verteilungsfunktion und der Wahrscheinlichkeitsmassefunktion beschrieben werden. Die Struktur von kontinuierlichen Zufallsvariablen wird mit Hilfe der kumulativen Verteilungsfunktion und der Wahrscheinlichkeitsdichtefunktion beschrieben.

Zentrale Mittel zur Beschreibung einer Zufallsvariablen sind die Varianz, Schiefe, Wölbung und Verteilung.

(Kapitel 4): Was ist eine Verteilungsfunktion?

Die Verteilungsfunktion gibt an, wie sich die Werte einer Zufallsvariablen verteilen. Die Verteilungsfunktion wird zum Erzeugen von Zufallswerten in SLX verwendet. Verteilungsfunktionen sind kumulativ und beschreiben den Zusammenhang zwischen einer Variablen und deren Verteilungen.

(Kapitel 4): Nennen Sie fünf typische Verteilungsfunktionen, die für die Simulation besonders relevant sind!

  1. Gleichverteilung
  2. Exponentialverteilung
  3. Normalverteilung
  4. Dreiecksverteilung
  5. Logarithmische Verteilung

(Kapitel 4): Was sind Pseudozufallszahlen und wie können aus ihnen Zufallsvariablen einer beliebigen Verteilung erzeugt werden?

Pseudozufallsvariablen sind keine "echten" Zufallsvariablen, sondern sind durch einen deterministischen Algorithmus erzeugte Zufallswerte. Die Simulation ist somit wiederholbar.

Über einen (Zufallszahlen-)Generator werden gleichverteilte Zahlen im Intervall (0,1) erzeugt. Dieser Zufallszahlenstrom ist Input für eine Zufallsvariable (Random Variable) einer bestimmten Verteilung.

(Kapitel 5): Erläutern Sie die prinzipielle Vorgehensweise und Schritte bei der Eingabedatenanalyse!

Die Eingabedatenanalyse erfolgt in 4 Schritten:

  1. Sammeln von Daten
    Das Sammeln von Daten über das Untersuchungsobjekt wird meist an Hilfskräfte abgageben (z.B. mit Stoppuhr am Bankschalter). Schwierikeiten sind unter anderem das Systemverständnis und das Erkennen von Abhängigkeiten und Autokorrelationen.
  2. Schätzen des Verteilungstyps:
    Finden einer geeigneten Verteilungsfunktion durch aufstellen von Vermutungen und anschließender Überprüfung auf Korrektheit.
    - Zeichnen eines Histogramms der Daten
    - Generierung eines Quantile-Quantile-Plots
  3. Parameterschätzung:
    Nutzung von Mittelwerten und Varianz zur Bestimmung der korrekten Parameter.
  4. Qualitätsüberprüfung:
    Test zur Überprüfung der Übereinstimmung der Daten mit der angenommenen Verteilung (z.B. Kolmogorov-Smirnov-Test und Chi-Quadrat-Test). Bei sehr kleinen Weten nehmen die Tests fast alle Verteilungen an; bei sehr großen Werten lehnen die Tests fast alle Verteilungen ab.

(Kapitel 6): Was sind typische Ergebnisgrößen von Simulationen?

Typische Ergebnisgrößen sind:

  • maximale / durchschnittliche Warteschlangenlänge
  • maximale / minimale Bedienzeit
  • Anzahl der Kunden im System
  • Wartezeit
  • Anzahl bearbeiteter Kunden
  • Mittelwert, Streuung etc.

(Kapitel 6): Wie können die Ergebnisgrößen bestimmt werden (Stichwort: Wichtung)?

Zur Bestimmung der Ergebnisgrößen werden diese in drei Gruppen eingeteilt:

  1. Beobachtungsdaten:
    Die Werte verändern sich nur zu diskreten Zeitpunkten, Beobachtungen sind also unabhängig von der Simulationszeit.
  2. Zeitgewichtete Daten:
    Der Wert verändert sich kontinuierlich mit der Simulationszeit.
  3. Nutzerspezifische Daten

(Kapitel 6): Wieso lassen die beobachteten Ergebnisgrößen enes einzelnen Simulationslaufs im Normalfall keine ausreichenden Aussagen zu den gewünschten Ergebnissen zu?

Die Ursache liegt in den stochastischen Eigenschaften der Ereignisgrößen. Bei einem einmaligen Durchlauf werden keine Veränderungen und Verteilungen in dem Maße berücksichtigt, wie bei mehreren Durchläufen. Somit können keine aussagekräftigen Mittelwerte gebildert werden.

(Kapitel 6): Was sind Replikationen?

Unter einer Replikation versteht man die Durchführung der Simulation mit verschiedenen Startwerten für die Zufallsgeneratoren. Dadurch werden anders angeordnete Werte erzeugt. Die Bildung von Mittelwerten über die Ergebnisse der einzelnen Testläufe liefern aussagekräftigere Ergebnisse.

(Kapitel 6): Was sind terminierende und nicht-terminierende Simulationen und welche Unterschiede müssen bzgl. der Ergebnisstatikstik bei beiden beachtet werden?

Terminierende Simulationen:

Bei dieser Klasse läuft die Simulation für eine bestimmte Zeit T und endet mit einem spezifischen Enderignis E. Das simulierte System startet zum Zeitpunkt 0 unter vordefinierten Initialbedingungen und endet zum Zeitpunkt T.

Ziel der Simulation ist das Schätzen des Mittelswertes. Daher werden zur genauereren Bestimmung des Mittelswertes mehrere unabhängige Simulationsdurchläufe (Replikationen) durchgeführt.

Nicht-terminierende Simulationen:

In dieser Klasse bildet die Simulation ein System ab, das ständig weiterläuft (oder zumindest über sehr lange Zeit). Die Simulation startet zum Zeitpunkt 0 unter definierten Initialbedingungen und endet zu einem vom Simulationsexperten spezifizierten Zeitpunkt T.

Ziel der Simulation ist das Studieren des Verhaltens des stationären bzw. engeschwungenen Systems. Die Ergebnisse sollen nicht durch Initialbedingungen beeinflusst werden.

(Kapitel 6): Wozu wird die Grenzwertanalyse durchgeführt?

Die Grenzwertanalyse wird mit Hilfe des Limes durchgeführt. Anfangswerte dürfen nicht beachtet werden. Die Erhöhung der Anzahl der Durchläufe verringert zwar das Konfidenzintervall, beseitigt aber nie die Abweichung durch Initialisierungswerte. Der Grund hierfür ist die Streichung von Daten aus der transienten Phase, d.h. das Löschen von Werten aus der Initialisierungsphase. Die Probleme werden mit Hilfe der sog. Batch-Means-Methode umgangen.

(Kapitel 7): In welche Phasen lassen sich typische Simulationsprojekte einteilen?

Simulationsprojekte können in drei Phasen eingeteilt werden:

1. Vorbereitung:

  • Aufgabe und Ziel formulieren
  • Aufwand abschätzen
  • Daten ermitteln, aufbereiten und abstimmen
  • Analytische Grobschätzung
  • Simulationsmodell erstellen und verifizieren

2. Durchführung:

  • Simulationsexperimente planen
  • Simulationsexperimente durchführen
  • Simulationsexperimente validieren

3. Auswertung:

  • Ergebnisaufbereitung
  • Ergebnisinterpretation
  • Dokumentation

(Kapitel 7): Was ist das prinzipielle Vorgehen zum Vergleich von alternativen Systementwürfen unter Nutzung der Simulation?

Vergleichskriterien:

  • Leistungsgrößen der Systeme
  • Mittelwerte θ (i=1,2) der Leistungsgröße θ für das System 1 und 2
  • Voraussetzung: Punktschätzung für θ aus den einzelnen Simulationsläufen sind „gute“ Schätzungen

Ziel der Untersuchungen mittels Simulation :

Punktschätzung sowie das entsprechende Konfidenzintervall für die Differenz θ1 - θ2

  1. Festlegungen treffen (Laufzeit, Anzahl Läufe
  2. Modellierung beider Systeme
  3. Formale Beschreibung der Ergebnisse -> Siehe Auswertungen in SLX
  4. 4. Entscheidung über die Vorzugsvariante: Variante mit geringerer Verweilzeit der Autos -> Berechnung der Punktschätzung für die Differenz q

Berechnung des Konfidenzintervalls für diese Differenz

Beantwortung der folgenden Fragen:

1. Wie groß ist der Mittelwert für diese Differenz und wie genau ist die Schätzung für diesen Mittelwert?

- Punktschätzung und Konfidenzintervall

2. Gibt es einen signifikanten Unterschied zwischen den beiden Systemen?

- Mögliche „Lagen“ des Konfidenzintervalls

 

(Kapitel 8): Was sind die jeweiligen Vor- und Nachteile bei der Nutzung von bausteinorientierten Simulatoren (wie z.B. Simul8, Plant Simulation) im Vergleich zu reinen Simulationssprachen (wie z.B. SLX) in Industrieprojekten?

Vorteile:

  • Wenig Programmierkenntnisse erforderliche
  • Schnelle Erstellung des Simulationsmodells möglich
  • Datengetriebene Modellierung
  • Parametrisierbare Eigenschaften
  • Grafische Komponenten (GUI)
  • Animationen leichter zu erstellen

Nachteile:

  • Einschränkungen durch vordefinierte Bausteine
  • Programmierung notwendig, wenn Bausteine nicht ausreichend Funktionalität haben
  • Lösungen häufig zu speziell
  • Abhängigkeit, da Erstellung des Frameworks durch Experten notwendig
  • Komplexe Einarbeitung

(Kapitel 10): Was versteht man unter dem Begriff "Verifikation"?

Verifikation ist die Überprüfung, ob ein Modell von einer Beschreibungsart in eine andere Beschreibungsart korrekt transformiert wurde

  • Überprüfung der korrekten Überführung des des Konzeptes in das Simulationsprogramm
  • Ist das Modell richtig? / „Are we creating the model
  • Untersuchung, ob das Simulationsprogramm so arbeitet, wie es im konzeptionellen Modell beabsichtigt war.

(Kapitel 10): Was versteht man unter "Validierung"?

Validierung ist die kontinuierliche Überprüfung, ob die Modelle das Verhalten des abgebildeten Systems hinreichend genau wiedergeben.

  • Repräsentiert das erstellte Modell das reale System akkurat?
  • Ist es das richtige Modell? / „Are we creating the right model?“
  • Modellierer muss diese Frage nach der „Gültigkeit“ seines Modells beantworten

(Kapitel 10): Erläutern Sie die Vorgehensweise bei der Validierung unter Nutzung von historischen Eingabedaten!

Vorgehensweise im Detail:

  • Erstelle ein Simulationsmodell
  • Das Modell wird mit historischen Eingabedaten gespeist (d.h. wirklich aufgetretene Ankunftszeiten, keine angenäherten Verteilungsfunktionen)
    • Teile hierzu Daten in mehrere, statistisch unabhängige Teile
    • „Justage“: Nutzung des ersten Teils der Daten zur Feinabstimmung des Modells (Speise diese Daten als Eingangsdaten, vergleiche Ausgangsdaten, ggf. Anpassung von Parametern oder Strategien)
    • Validiere Modell mit anderen Teilen der aufgezeichneten Daten als Eingabedaten
    • Falls Test negativ, Modellmodifikation (Achtung: Dieser Teil der Daten wird dann auch zu „Justagedaten“ und ist nicht mehr für Validierungszwecke verwendbar)
    • Falls Test mit anderen Teilen positiv: Validität bestätigt
  • Modifizierung des Modells, damit es den Daten entspricht -> mehr Vertrauen
  • Wenig Bereitschaft, ein vorhandenes System zu analysieren
    • „Verschwendung von Zeit und Geld“
    • Gegenargumentation:
      • Ein nicht validiertes Modell produziert Ergebnisse, die nicht zuverlässig sind.
  • Gefahr der Methodik: Nutzung gleicher Datenquelle für Justierung und Prüfung des Modells birgt Gefahr der Nichterkennung systematischer Fehler

 

(Kapitel 10): Erläutern Sie die Grundidee des Festwerttests an einem Beispiel!

Bei dem Festwerttest wird das Modell mit konstanten Werten (z.B. nur ein Produkt aus dem Produktionsprogram, Bearbeitungszeit ohne Schwankungen) getestet. Dabei werden zunächst Hypothesen definiert, wie sich das deterministische Modell verhalten wird. Anschlließend erfolgt die Überprüfung dieser Hypothesen.

Beispiel manuelle Montagelinie:

Werden die Verteilungszeiten für Bearbeitungszeiten durch feste Werte ersetzt, so bestimmt die Station mit der höchsten Bearbeitungszeit den Durchsatz der Linie. Der Durchsatz der Montagelinie kann so leicht ohne Simulation berechnet werden.

(Kapitel 10): Erläutern Sie die Grundidee des Grenzwerttests an einem Beispiel!

Bei diesem Verfahren wird das Modell anhand von Extremwerten für Eingabedaten und Parameter überprüft. Das Ziel ist die bessere Vorhersagbarkeit des Verhaltens.

Beispiel:

Ermittlung von Bearbeitungszeiten in der Theorie, sprich durch Berechnungen und anschließende Simulation mit Extremwerten für die Eingabedaten.

(Kapitel 10): Erläutern Sie die Grundidee der Sensitivitätsanalyse!

Die Sensitivitätsanalyse misst die Abhängigkeit von Ergebnisgrößen von Eingabeparametern.

  • Geg.:
    • Ausgabegröße O
    • Eingabeparameter I
  • Sensitivität S = dO / dI
  • Beispiel: Einfache Warteschlange mit fester Ankunftsrate
  • I: Bedienrate
  • O: Durchschnittliche Warteschlangenlänge

Anwendung z.B. durch Befragung des Managements, ob sich bei Veränderungen von Eingabedaten das Modell so verhält, wie es im System erwartet wird

  • Erhöhung der Ankunftsrate auf die Auslastung von Servern
  • Management besitzt Vorstellungen über die Richtung der Veränderungen von Parametern

Sensitivitätstest bei large-scale Models 

  • Viele mögliche Eingabeparameter und somit viele Möglichkeiten
  • Versuche die kritischen Parameter zu identifizieren

 

Lernen