Diskrete Simulation Klausurvorbereitung (ehemalige Prüfungsfragen)

 

1 Begrifflichkeiten und Simulationsarten

  1. Worin liegen die Unterschiede zwischen ereignis-, prozess- und aktivitätsorientierten Steuerungen?
  2. Was bedeuten die beiden Begriffe “konstruktive Simulation” und “virtuelle Simulation” und für welche Anwendungen werden die jeweiligen Simulationen verwendet?
  3. Erläutern Sie die unterschiedlichen Anforderungen an die drei “Uhren” bei einer konstruktiven Simulation im Vergleich zu einer virtuellen Simulation.
  4. Welche Zusammenhänge zwischen den drei Uhren müssen bei der “As-fast-as-possible” und der Echtzeit-Simulation gelten? Nennen Sie jeweils typische Anwendungsgebiete.
  5. Erläutern Sie Zweck und Unterschiede zwischen konservativen und optimistischen Simulationsverfahren.
  6. Welche Steuer- und Auswerteparameter sind neben Eingabe- und Ausgabeparametern zur Durchführung von Simulationsexperimenten notwendig?
  7. Was unterscheidet diskrete und kontinuierliche Simulationsmodelle?
  8. Was ist das Ziel von
    1. Verifikation
    2. Validierung
    3. Kalibrierung

Lösung 1

a)

Ereignisorientiert:

  • Separate Planung, Realisierung diskreter Ereignisse, die zu Zustandsänderungen führen (=1 Programmodul)
  • Ereigniseinordnung in ‘eventlist’ gemäß Ausführungszeitpunkt eines Ereignisses
  • nächstes (in Simulation auszuführendes) Ereignis ist der 1. Eintrag aus ‘eventlist’!

Aktivitätsorientiert:

  • Planung, Realisierung sämtlicher Operationen (inklusive des Zeitbedarfs) zur Durchführung einer best. Aufgabe/ Aktion in einer Subroutine!
  • Aktivität gekennzeichnet durch Start- und End-Ereignis/ -Zeit
  • nächstes (in Simulation auszuführendes) Ereignis wird durch Vergleich von Sim-Zeit mit Aktivitäts-Uhren bestimmt

Prozessorientiert:

  • Planung, Realisierung der Sequenz zeitlich geordneter Ereignisse zur Ausführung eines bestimmten Prozesses unter Berücksichtigung möglicher Interaktionen, Nebenläufigkeiten mit anderen Prozessen
  • Realisierung eines Prozesses in einer Subroutine
  • nächstes Ereignis ist der erste Eintrag aus der ‘eventlist’!

b)

Diese Unterteilung kommt aus dem militärischen Bereich.

Konstruktiv: Eine Maschine (z.B. Waffensystem) und der Bediener werden zusammen simuliert. Die Simulation kann schneller oder langsamer als Echtzeit erfolgen.

Virtuell: Es wird nur die Maschine simuliert. Die Simulation wird von einem echten Benutzer gesteuert (z.B. Flight Simulator). Die Simulation muss hier in Echtzeit erfolgen.

c)

Konstruktive Simulation: Hier wird z.B. eine Analyse des Waffensystems inklusive Bediener durchgeführt. Wünschenswert ist eine möglichst effiziente Simulation, also {t_{CPU}} schneller als {t_{real}}. Die Zeit {t_{SU}} entspricht bei diskreter Simulation zu jedem Simulationszeitpunkt der Zeit {t_{real}}, läuft aber nicht kontinuierlich ab, sondern springt von einem zustandsveränderndem Ereignis zum nächsten.

Virtuelle Simulation: Hier muss {t_{real}} = {t_{CPU}} gelten. Die Zeitunterteilung einer zeitdiskreten Simulation sollte so fein sein, dass {t_{SU}} \approx {t_{real}} gilt.

d)

As-fast-as-possible-Simulation: Siehe konstruktive Simulation. Wünschenswerterweise ist {t_{CPU}} schneller als {t_{real}}. Wenn die Simulation zu komplex ist, kann allerdings auch {t_{real}} schneller als {t_{CPU}} sein. Beispiel: Analyse

Echtzeit-Simulation: siehe virtuelle Simulation. Beispiel: Training

e)

Zweck der Synchronisation ist, dass kausale Zusammenhänge erhalten bleiben.

Konservative Simulation: Hier wird sichergestellt, dass kein Ereignis aus der Vergangenheit mehr auftreten kann. Die parallelen Prozesse müssen also aufeinander warten.

Optimistische Simulation: Hier werden die logischen Prozesse parallel in virtueller Zeit ausgeführt (die Simulationsuhren laufen nicht synchron). Bei einer Kausalitätsverletzung werden alle bereits simulierten nachfolgenden Ereignisse und Systemzustände zurückgenommen.

f)

Es werden die Parameter benötigt, die z.B. bei Simulationsprogrammen wie ARENA in den Dialogen eingestellt werden: Anzahl Entities, Simulationsdauer, Abbruchbedingungen, …

g)

Kontinuierliche Simulationsmodelle: Die Simulationsuhr läuft kontinuierlich, selbst wenn es eine Zeit lang keine Ereignisse gibt.

Diskrete Simulationsmodelle: Zeit und/oder Zustandsraum können in diskrete Werte aufgeteilt werden. Bei der Diskretisierung des Zustandsraums kommt es zu einer Quantisierung der Werte, bei der Diskretisierung der Zeit werden eigentlich schnell nacheinander eintretende Ereignisse aggregiert und gleichzeitig simuliert (“Pseudo-Gleichzeitigkeit” von Ereignissen und Zustandsänderungen).

h)

Verifikation: “Ist das Modell richtig?”: Verifikation der Abbildungen, Aggregationen und Modellformalisierungen

Validierung: “Ist es das richtige Modell für diese Anwendung?”: Validierung der Modellabläufe und Genauigkeit, z.B. durch Vergleich mit der Realität

Kalibrierung: Anpassen der Parameter des Modells, um die Realität möglichst genau wiederzugeben.

2 Prinzip der ereignisorientierten Ablaufsteuerung

  1. Welche Datenstrukturen werden für die ereignisorientierte Ablaufsteuerung benötigt?
  2. Wie müsste eine Datenstruktur zur Beschreibung der Ereignisse aussehen?
  3. Geben Sie den Algorithmus für die ereignisorientierte Ablaufsteuerung in Form eines Flussdiagramms an.

Lösung 2

a)

  • Ablaufsteuerung mit Event List
  • Warteschlange mit Auswahlstrategie (wie wird aus der Warteschlange ausgewählt?)

b)

Event List: Liste aus Tupeln \left( {{e_k},{t_k}} \right), wobei {e_k} die Art des Events ist und {t_k} die Zeit, zu der {e_k} eingeplant ist.

Warteschlange (File WS): Liste aus bedingt ausführbaren Ereignissen, aus denen mit der Auswahlstrategie jeweils das nächste ausgewählt wird.

c)

ereignisorientierte-ablaufsteuerung-flussdiagramm

3 Modellbildungsprozess

Erläutern Sie die wesentlichen Phasen und Zwischenprodukte eines strukturierten Modellbildungsprozesses.

Lösung 3

phasen-zwischenprodukte-strukturierter-modellbildungsprozess

4 Supermarkt-Problem (Warteschlangennetz)

Betrachten Sie einen Supermarkt, an dem die Kunden eintreffen. Jeder Kunde benötigt eine gewisse Zeit für die Selbstbedienung und geht anschließend zu den Kassen. Es stehen mehrere Kassen zur Auswahl. Mittels einer Simulation sollen für diesen Supermarkt die Einkaufszeiten der Kunden ermittelt werden unter Berücksichtigung der Wartezeiten an den Kassen sowie Kostenaspekten (Anzahl besetzter Kassen).

  1. Spezifizieren Sie die notwendigen Eingabe- und Zielparameter für das zugehörige (Simulations-) Modell.
  2. Welche der Eingabeparameter würden Sie stochastisch bzw. deterministisch modellieren? (Begründung)
  3. Durch welche Parameter ist der jeweils aktuelle Zustand des Modells vollständig beschrieben?
  4. Modellieren Sie die Aufgabenstellung als Warteschlangennetz und tragen Sie alle Eingabe- und Ausgabeparameter ein.
  5. Anstelle separater Kassenschlangen soll das “Warteschlangen-Modell Post” ausprobiert werden. Erstellen Sie auch hierfür ein Warteschlangennetz.

Lösung 4

a)

Eingabeparameter:

  • Ankunftsrate von Kunden
  • Dauer (Bedienzeit) der Selbstbedienung
  • Bedienzeiten an den Kassen
  • Anzahl der Kassen / offenen Kassen

Ausgabeparameter:

  • Wartezeiten der Kunden an den Kassen
  • Länge der Warteschlangen
  • Auslastung der Kassen
  • Durchsatz an Kunden pro Zeiteinheit

b)

Stochastisch:

  • Ankunftsrate von Kunden
  • Bedienzeit Selbstbedienung
  • Bedienzeiten an den Kassen

Deterministisch:

  • Anzahl der offenen Kassen (von Geschäftsführung / einem Stundenplan)

c)

Der Modellzustand ist durch Anzahl und Position der Kunden vollständig beschrieben. Im Warteschlangennetz entspricht dies der Belegung der Server und der Belegung der Warteschlangen.

d)

supermarkt-einkaufen-kunde-kasse-simulation

Wichtig: Es gibt so viele Server für die Selbstbedienung, wie Kunden in den Laden passen. Die Anzahl der Kassen ist fest vorgegeben.

e)

supermarkt-einkaufen-kunde-kasse-simulation-post

Ähnliche Artikel

Kommentar verfassen