Advanced Simulation Technology - Exam.pdf

Advanced Simulation Technology - Exam
Advanced Simulation Technology - Exam Aufgabe 1) Du befindest Dich in einem Team, das beauftragt wurde, ein neues Verkehrssystemmodell für eine Großstadt zu entwickeln. Der Zweck des Modellierens besteht darin, den Verkehrsfluss zu verstehen, Vorhersagen zu treffen und eventuelle Optimierungen vorzuschlagen. Das Modell sollte sowohl deterministische als auch stochastische Elemente beinhalten, um v...

© StudySmarter 2024, all rights reserved.

Advanced Simulation Technology - Exam

Aufgabe 1)

Du befindest Dich in einem Team, das beauftragt wurde, ein neues Verkehrssystemmodell für eine Großstadt zu entwickeln. Der Zweck des Modellierens besteht darin, den Verkehrsfluss zu verstehen, Vorhersagen zu treffen und eventuelle Optimierungen vorzuschlagen. Das Modell sollte sowohl deterministische als auch stochastische Elemente beinhalten, um verschiedene Szenarien simulieren zu können. Gegeben sind folgende Annahmen:

  • Die Verkehrsinfrastruktur bleibt während der Simulation unverändert.
  • Verkehrsflussdaten (z. B. Anzahl der Fahrzeuge zu verschiedenen Tageszeiten) sind zufällig und folgen bekannten Wahrscheinlichkeitsverteilungen.
  • Unfallwahrscheinlichkeiten sind ebenfalls zufällig und können den Verkehrsfluss beeinflussen.

a)

Beschreibe ausführlich die Abstraktionsebenen, die für das Modellsystem des Verkehrssystems verwendet werden könnten. Gehe dabei auf die Makro-, Meso- und Mikroebene ein und erläutere die Unterschiede und Anwendungsbeispiele für jede Ebene in diesem Kontext.

Lösung:

Abstraktionsebenen für das Modellsystem des Verkehrssystems

Beim Modellieren eines Verkehrssystems können verschiedene Abstraktionsebenen verwendet werden, um den Verkehrsfluss und die damit verbundenen Phänomene zu simulieren. Diese Ebenen sind die Makroebene, die Mesoebene und die Mikroebene. Jede dieser Ebenen bietet unterschiedliche Perspektiven und hat spezifische Anwendungsbereiche. Hier ist eine detaillierte Beschreibung dieser Ebenen in Bezug auf das Verkehrssystem:

  • Makroebene:
    • Die Makroebene befasst sich mit dem Verkehr auf einer sehr hohen, aggregierten Ebene. Diese Ebene konzentriert sich auf großräumige Verkehrsmuster und -flüsse innerhalb der gesamten Stadt oder zwischen verschiedenen Stadtteilen.

    • Anwendungsbeispiele:

      • Analyse der gesamten Verkehrsbelastung zu verschiedenen Tageszeiten.
      • Vorhersage der Auswirkungen von Großereignissen (z.B. Sportveranstaltungen) auf das Verkehrsaufkommen.
      • Ermittlung von Hauptverkehrsadern und deren Kapazitäten.
    • Unterschiede zur Meso- und Mikroebene: Die Makroebene abstrahiert von den Details des individuellen Verkehrsverhaltens und konzentriert sich auf aggregierte Daten und allgemeine Trends.

  • Mesoebene:
    • Die Mesoebene befasst sich mit dem Verkehr auf einer mittleren Ebene, die detaillierter ist als die Makroebene, aber weniger granular als die Mikroebene. Sie konzentriert sich auf spezifische Teile des Verkehrsnetzes, wie z.B. einzelne Straßen oder Knotenpunkte.

    • Anwendungsbeispiele:

      • Analyse von Verkehrsstörungen an Kreuzungen und deren Auswirkungen auf den Verkehrsfluss.
      • Untersuchung von Stauursachen und deren Verteilung an verschiedenen Knotenpunkten.
      • Optimierung von Ampelsteuerungen zur Verbesserung des Verkehrsflusses.
    • Unterschiede zur Makro- und Mikroebene: Die Mesoebene berücksichtigt mehr Details als die Makroebene, wie die dynamische Interaktion zwischen Fahrzeugen an spezifischen Knotenpunkten. Sie ist jedoch weniger detailliert als die Mikroebene, da sie nicht auf das einzelne Fahrzeug achtet.

  • Mikroebene:
    • Die Mikroebene befasst sich mit dem Verkehr auf der detailliertesten Ebene. Hier wird das Verhalten einzelner Fahrzeuge und Fahrer untersucht, einschließlich ihrer Interaktionen und Entscheidungen.

    • Anwendungsbeispiele:

      • Analyse des Spurwechsels und dessen Auswirkungen auf den Verkehrsfluss.
      • Modellierung des Fahrverhaltens in Alltagssituationen und unter verschiedenen Wetterbedingungen.
      • Untersuchung von Unfallwahrscheinlichkeiten und deren Auswirkungen auf den Verkehrsfluss.
    • Unterschiede zur Makro- und Mesoebene: Die Mikroebene bietet eine detaillierte Sicht auf das individuelle Fahrverhalten, was sie deutlich granularer und datenintensiver macht als die anderen beiden Ebenen. Sie erfordert umfangreichere Daten und komplexere Modelle.

Zusammengefasst liefern die Makro-, Meso- und Mikroebene umfassende Einblicke in das Verkehrssystem aus unterschiedlichen Perspektiven. Ihre Kombination ermöglicht es, ein ganzheitliches Modell zu erstellen, das die Realität sowohl auf aggregierter als auch auf detaillierter Ebene widerspiegeln kann.

Aufgabe 2)

Lösungsmethoden für lineare und nichtlineare Gleichungen Du solltest in der Lage sein, verschiedene numerische Methoden zur Lösung von linearen und nichtlinearen Gleichungen anzuwenden und die jeweilige Methodik sowie deren Vor- und Nachteile zu erklären. Die Methoden umfassen den Gauss-Algorithmus, die LU-Dekomposition, iterative Verfahren wie Jacobi und Gauss-Seidel, und das Newton-Raphson-Verfahren.Gegeben sei das folgende System von Gleichungen:

1. 4x + y - z = 72. 2x + 3y + z = 43. -x + 2y + 5z = 1

a)

a) Verwende den Gauss-Algorithmus, um die Lösung \(\boldsymbol{x}\) des obigen Gleichungssystems zu berechnen. Zeige jeden Schritt des Verfahrens und erläutere, wie Du die Dreiecksmatrix erhältst.

Lösung:

Aufgabe:Lösungsmethoden für lineare und nichtlineare Gleichungen Du solltest in der Lage sein, verschiedene numerische Methoden zur Lösung von linearen und nichtlinearen Gleichungen anzuwenden und die jeweilige Methodik sowie deren Vor- und Nachteile zu erklären. Die Methoden umfassen den Gauss-Algorithmus, die LU-Dekomposition, iterative Verfahren wie Jacobi und Gauss-Seidel, und das Newton-Raphson-Verfahren.Gegeben sei das folgende System von Gleichungen:

1. 4x + y - z = 72. 2x + 3y + z = 43. -x + 2y + 5z = 1
a) Verwende den Gauss-Algorithmus, um die Lösung \(\boldsymbol{x}\) des obigen Gleichungssystems zu berechnen. Zeige jeden Schritt des Verfahrens und erläutere, wie Du die Dreiecksmatrix erhältst.
  • Starten wir mit dem System der Gleichungen in Matrixform:
\[ \begin{align*} \begin{pmatrix} 4 & 1 & -1 \ 2 & 3 & 1 \ -1 & 2 & 5 \end{pmatrix} \begin{pmatrix} x \ y \ z \end{pmatrix} = \begin{pmatrix} 7 \ 4 \ 1 \end{pmatrix} \end{align*} \]
  • Unser Ziel ist es, die Matrix durch den Gauss-Algorithmus in eine obere Dreiecksmatrix umzuwandeln.
Schritt 1: Eliminiere das erste Element der zweiten Zeile
  • Addiere das Doppelte der ersten Zeile zu der zweiten Zeile:

\(R2 = R2 + 2 \times R1\)

\[ \begin{align*} \begin{pmatrix} 4 & 1 & -1 & | & 7 \ 0 & 5 & 3 & | & 18 \ -1 & 2 & 5 & | & 1 \end{pmatrix} \end{align*} \]
  • Ergebnisse: Das erste Element in der zweiten Zeile ist nun Null.
Schritt 2: Eliminiere das erste Element der dritten Zeile
  • Subtrahiere das Vierfache der ersten Zeile von der dritten Zeile:

\(R3 = R3 + R1\)

\[ \begin{align*} \begin{pmatrix} 4 & 1 & -1 & | & 7 \ 0 & 5 & 3 & | & 18 \ 0 & 3 & 4 & | & 8 \end{pmatrix} \end{align*} \]
  • Ergebnisse: Das erste Element in der dritten Zeile ist nun Null.
Schritt 3: Eliminiere das zweite Element der dritten Zeile
  • Ziehe \(\frac{3}{5}\) der zweiten Zeile von der dritten Zeile ab:

\(R3 = R3 - \(\frac{3}{5}\times R2\))

\[ \begin{align*} \begin{pmatrix} 4 & 1 & -1 & | & 7 \ 0 & 5 & 3 & | & 18 \ 0 & 0 & 2.2 & | & -2.8 \end{pmatrix} \end{align*} \]
  • Ergebnisse: Das zweite Element in der dritten Zeile ist nun Null.
Die Dreiecksmatrix:

Die Matrix ist nun in der oberen Dreiecksmatrix, und wir können die Lösung durch Rückwärtssubstitution ermitteln:

    Rückwärtssubstitution:
    • Setze z (Zeile 3):

    \(2.2z = -2.8\)

    • \( z = -\frac{2.8}{2.2} = -1.27 \)
    • Setze y (Zeile 2):

    \(5y + 3z = 18\)

    • \(5y + 3(-1.27) = 18\)

    \(5y - 3.81 = 18\)

    • \(5y = 21.81\)
    • \(y = \frac{21.81}{5} = 4.362\)
    • Setze x (Zeile 1):

    \(4x + y - z = 7\)

    • \(4x + 4.362 - (-1.27) = 7\)
    • \(4x + 5.632 = 7\)
    • \(4x = 1.368\)
    • \(x = \frac{1.368}{4} = 0.342\)
    Wir erhalten schließlich:\[\begin{align*}x = 0.342, y = 4.362, z = -1.27 \end{align*}\]Zusammenfassung:Der Gauss-Algorithmus erlaubt es uns, das obige Gleichungssystem schrittweise zu lösen, indem wir eine obere Dreiecksmatrix erstellen und diese anschließend über Rückwärtssubstitution lösen. Jeder Schritt dieses Prozesses wurde oben ausführlich dargestellt.

    b)

    b) Implementiere das Newton-Raphson-Verfahren in einer Programmiersprache Deiner Wahl, um die Wurzel der nichtlinearen Funktion \(\boldsymbol{f(x) = x^3 - 2x + 1}\) zu finden. Beginnend mit einem Startwert von \(\boldsymbol{x_0 = 1}\), zeige mindestens drei Iterationsschritte. Dein Code sollte sauber kommentiert sein und die Konvergenz erklären.

    Lösung:

    Aufgabe:Lösungsmethoden für lineare und nichtlineare Gleichungen Du solltest in der Lage sein, verschiedene numerische Methoden zur Lösung von linearen und nichtlinearen Gleichungen anzuwenden und die jeweilige Methodik sowie deren Vor- und Nachteile zu erklären. Die Methoden umfassen den Gauss-Algorithmus, die LU-Dekomposition, iterative Verfahren wie Jacobi und Gauss-Seidel, und das Newton-Raphson-Verfahren.Gegeben sei das folgende System von Gleichungen:

    1. 4x + y - z = 72. 2x + 3y + z = 43. -x + 2y + 5z = 1
    b) Implementiere das Newton-Raphson-Verfahren in einer Programmiersprache Deiner Wahl, um die Wurzel der nichtlinearen Funktion \(\boldsymbol{f(x) = x^3 - 2x + 1}\) zu finden. Beginnend mit einem Startwert von \(\boldsymbol{x_0 = 1}\), zeige mindestens drei Iterationsschritte. Dein Code sollte sauber kommentiert sein und die Konvergenz erklären.Python Implementierung:
      def newton_raphson(f, df, x0, tol=1e-7, max_iter=100):    '''    Implementiert das Newton-Raphson-Verfahren.    f: die Funktion, deren Nullstelle gefunden werden soll    df: die Ableitung der Funktion f    x0: Startwert    tol: Toleranz für die Konvergenz    max_iter: maximale Anzahl von Iterationen    '''    x = x0    for i in range(max_iter):        fx = f(x)        dfx = df(x)        if abs(dfx) < 1e-10:            raise ValueError('Die Ableitung ist nahezu null')        x_new = x - fx/dfx        print(f'Iteration {i+1}: x = {x_new}, f(x) = {f(x_new)}')        if abs(x_new - x) < tol:            print('Konvergenz erreicht')            return x_new        x = x_new    raise ValueError('Maximum an Iterationen erreicht, keine Konvergenz')# Definition der Funktion f(x) und ihrer Ableitung df(x)def f(x):    return x**3 - 2*x + 1def df(x):    return 3*x**2 - 2# Startwert x0 = 1x0 = 1# Aufruf des Newton-Raphson-Verfahrenswurzel = newton_raphson(f, df, x0)print('Gefundene Wurzel:', wurzel)  
    • Das Newton-Raphson-Verfahren funktioniert, indem es iterativ eine besser geschätzte Lösung für die Wurzel einer Funktion findet. Jede Iteration folgt der Formel:
    • \[ x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} \]
      • 1. Iteration:
      • \( x_0 = 1 \)
      • \( f(x_0) = 1^3 - 2*1 + 1 = 0 \)
      • \( f'(x_0) = 3*1^2 - 2 = 1 \)
      • \( x_1 = 1 - \frac{0}{1} = 1 \)
      • 2. Iteration:
      • \( x_1 = 1 \)
      • \( f(x_1) = 1^3 - 2*1 + 1 = 0 \)
      • \( f'(x_1) = 3*1^2 - 2 = 1 \)
      • \( x_2 = 1 - \frac{0}{1} = 1 \)
      Bemerkung: In diesem speziellen Fall konvergiert der Startwert sofort zur Nullstelle. In allgemeinen Fällen könnten mehr Iterationen notwendig sein. Das Verfahren setzt voraus, dass die Ableitung nicht null ist, und dass der Startwert nahe der tatsächlichen Wurzel liegt.

      Aufgabe 3)

      Diskrete EreignissimulationDiskrete Ereignissimulation modelliert Systeme, deren Zustandsänderungen diskrete und voneinander abgegrenzte Ereignisse sind.

      • Zeit wird in diskrete Schritte unterteilt oder Ereignisse finden bei bestimmten Zeitpunkten statt.
      • Verwendet zur Analyse und Vorhersage des Verhaltens komplexer Systeme.
      • Schlüsselfaktoren: Ereignisliste, Zustände, Abfertigungsregeln.
      • Zwei Hauptarten: Veranstaltungskalender und Next-Event-Simulation.
      • Beispielanwendungen: Warteschlangensysteme, Netzwerkmodellierung, Produktionsplanung.
      • Wichtige Begriffe: Statemachine, Transitionssystem, Queue.
      • Formalismen: Markov-Ketten, Petri-Netze, Zustandsdiagramme.
      • Wichtigste Kennzahlen: Durchsatz, Wartezeit, Systemauslastung.

      a)

      Angenommen, Du modellierst ein einfaches Warteschlangensystem einer Bank mit einer Warteschlange und einem einzigen Schalter. Kunden kommen in das System nach einer exponentiell verteilten Ankunftsrate von \( \lambda = 3 \text{ Kunden pro Stunde} \) und die Bedienzeit ist exponentiell verteilt mit einem Mittelwert von \( \mu = 4 \text{ Kunden pro Stunde} \).

      • Bestimme die durchschnittliche Anzahl der Kunden in der Warteschlange.
      • Berechne die durchschnittliche Wartezeit eines Kunden in der Warteschlange.
      • Analysiere die Systemauslastung.

      Lösung:

      Diskrete Ereignissimulation

      Diskrete Ereignissimulation modelliert Systeme, deren Zustandsänderungen diskrete und voneinander abgegrenzte Ereignisse sind.

      • Zeit wird in diskrete Schritte unterteilt oder Ereignisse finden bei bestimmten Zeitpunkten statt.
      • Verwendet zur Analyse und Vorhersage des Verhaltens komplexer Systeme.
      • Schlüsselfaktoren: Ereignisliste, Zustände, Abfertigungsregeln.
      • Zwei Hauptarten: Veranstaltungskalender und Next-Event-Simulation.
      • Beispielanwendungen: Warteschlangensysteme, Netzwerkmodellierung, Produktionsplanung.
      • Wichtige Begriffe: Statemachine, Transitionssystem, Queue.
      • Formalismen: Markov-Ketten, Petri-Netze, Zustandsdiagramme.
      • Wichtigste Kennzahlen: Durchsatz, Wartezeit, Systemauslastung.

      Übungsaufgabe: Modellierung eines einfachen Warteschlangensystems

      Angenommen, Du modellierst ein einfaches Warteschlangensystem einer Bank mit einer Warteschlange und einem einzigen Schalter. Kunden kommen in das System nach einer exponentiell verteilten Ankunftsrate von \( \lambda = 3 \text{ Kunden pro Stunde} \) und die Bedienzeit ist exponentiell verteilt mit einem Mittelwert von \( \mu = 4 \text{ Kunden pro Stunde} \).

      • Bestimme die durchschnittliche Anzahl der Kunden in der Warteschlange.
      • Berechne die durchschnittliche Wartezeit eines Kunden in der Warteschlange.
      • Analysiere die Systemauslastung.

      Schritt-für-Schritt-Lösung:

      Wir verwenden das M/M/1-Warteschlangenmodell, bei dem die Ankünfte und Bedienzeiten exponentiell verteilt sind und es nur einen einzigen Bediener gibt.

      1. Bestimme die durchschnittliche Anzahl der Kunden in der Warteschlange.
      • Die durchschnittliche Anzahl der Kunden in der Warteschlange kann mit folgender Formel bestimmt werden: \(L_q = \frac{{\lambda^2}}{{\mu (\mu - \lambda)}}\).
      • Setze die gegebenen Werte ein: \(\lambda = 3 \) und \(\mu = 4 \).
      • \[ L_q = \frac{{3^2}}{{4 (4 - 3)}} = \frac{{9}}{{4 \cdot 1}} = 2.25 \text{{ Kunden}} \]
      2. Berechne die durchschnittliche Wartezeit eines Kunden in der Warteschlange.
      • Die durchschnittliche Wartezeit eines Kunden in der Warteschlange kann mit folgender Formel bestimmt werden: \(W_q = \frac{{L_q}}{{\lambda}}\).
      • Setze die Werte ein: \(L_q = 2.25 \) und \(\lambda = 3 \).
      • \[ W_q = \frac{{2.25}}{{3}} = 0.75 \text{{ Stunden}} \]
      • Das entspricht \(0.75 \times 60 = 45 \) Minuten.
      3. Analysiere die Systemauslastung.
      • Die Systemauslastung \(\rho\) wird wie folgt berechnet: \(\rho = \frac{{\lambda}}{{\mu}}\).
      • Setze die Werte ein: \(\lambda = 3 \) und \(\mu = 4 \).
      • \[ \rho = \frac{{3}}{{4}} = 0.75 \]
      • Die Systemauslastung beträgt 75%.

      Zusammenfassend:

      • Die durchschnittliche Anzahl der Kunden in der Warteschlange beträgt 2,25.
      • Die durchschnittliche Wartezeit eines Kunden in der Warteschlange beträgt 45 Minuten.
      • Die Systemauslastung beträgt 75%.

      b)

      Verwende die diskrete Ereignissimulation und das Konzept der Zustandsmaschine, um ein einfaches Netzwerkmodell mit drei Knoten zu entwerfen, das Datenpakete zwischen ihnen weiterleitet. Beschreibe und simulieren die folgenden Szenarien:

      • Die Ankunftsrate der Datenpakete am Knoten A ist Poisson-verteilt mit einem Mittelwert von 2 Pakete pro Minute. Die Knoten B und C arbeiten als Router.
      • Erstelle eine Zustandsmaschine, um die Weiterleitung der Pakete zu modellieren, und analysiere dabei die Übergänge der Zustände sowie die Servicezeiten an jedem Knoten.
      • Berechne die durchschnittliche Anzahl der Pakete im System und die durchschnittliche Bearbeitungszeit anhand der von dir erstellten Simulation.

      Lösung:

      Diskrete Ereignissimulation

      Diskrete Ereignissimulation modelliert Systeme, deren Zustandsveränderungen diskrete und voneinander abgegrenzte Ereignisse sind.

      • Zeit wird in diskrete Schritte unterteilt oder Ereignisse finden bei bestimmten Zeitpunkten statt.
      • Verwendet zur Analyse und Vorhersage des Verhaltens komplexer Systeme.
      • Schlüsselfaktoren: Ereignisliste, Zustände, Abfertigungsregeln.
      • Zwei Hauptarten: Veranstaltungskalender und Next-Event-Simulation.
      • Beispielanwendungen: Warteschlangensysteme, Netzwerkmodellierung, Produktionsplanung.
      • Wichtige Begriffe: Statemachine, Transitionssystem, Queue.
      • Formalismen: Markov-Ketten, Petri-Netze, Zustandsdiagramme.
      • Wichtigste Kennzahlen: Durchsatz, Wartezeit, Systemauslastung.

      Übungsaufgabe: Netzwerkmodell mit drei Knoten

      Verwende die diskrete Ereignissimulation und das Konzept der Zustandsmaschine, um ein einfaches Netzwerkmodell mit drei Knoten zu entwerfen, das Datenpakete zwischen ihnen weiterleitet.

      Szenarienbeschreibung:

      • Die Ankunftsrate der Datenpakete am Knoten A ist Poisson-verteilt mit einem Mittelwert von 2 Pakete pro Minute.
      • Die Knoten B und C arbeiten als Router.
      • Erstelle eine Zustandsmaschine, um die Weiterleitung der Pakete zu modellieren, und analysiere dabei die Übergänge der Zustände sowie die Servicezeiten an jedem Knoten.
      • Berechne die durchschnittliche Anzahl der Pakete im System und die durchschnittliche Bearbeitungszeit anhand der von dir erstellten Simulation.

      Schritt-für-Schritt-Lösung:

      1. Netzwerkmodell und Zustandsmaschine erstellen
      • Knoten A: Eingangsknoten für die Pakete, Ankunftsrate ist Poisson-verteilt mit einem Mittelwert von 2 Pakete pro Minute.
      • Knoten B und C: Beide Knoten arbeiten als Router, die die Pakete weiterleiten.
      • Zustandsmaschine: Jede Übertragung eines Pakets von einem Knoten zum nächsten wird als Zustandsübergang modelliert.

      Zustandsübergänge:

      • Wartezustand am Knoten A: Ankunft eines Pakets.
      • Übergang von A nach B: Für die Weiterleitung des Pakets von Knoten A nach Knoten B.
      • Übergang von B nach C: Für die Weiterleitung des Pakets von Knoten B nach Knoten C.
      • Übergang von C nach Ausgang: Das Paket verlässt das System.
      • Servicezeiten an den Knoten B und C können als exponentiell verteilt angenommen werden.
      2. Simulation der Zustandsmaschine
      • Die Ankunftsrate am Knoten A: \(\lambda = 2 \) Pakete pro Minute.
      • Servicezeiten an den Knoten B und C:
        • Servicezeit am Knoten B: Durchsatzrate \(\mu_B = 3 \) Pakete pro Minute.
        • Servicezeit am Knoten C: Durchsatzrate \(\mu_C = 4 \) Pakete pro Minute.
      • Implementiere eine diskrete Ereignissimulation, um die Zustandsübergänge und Servicezeiten zu modellieren.

      Implementierung der diskreten Ereignissimulation:

    python import numpy as np np.random.seed(42) def simulate_network(n_minutes): # Initialisierung der Parameter arrival_rate = 2 service_rate_B = 3 service_rate_C = 4 # Initialisierung der Zustände arrival_time = lambda: np.random.exponential(1/arrival_rate) service_time_B = lambda: np.random.exponential(1/service_rate_B) service_time_C = lambda: np.random.exponential(1/service_rate_C) # Ereignisliste events = [(arrival_time(), 'arrival_A')] # Statistik packet_count = 0 packet_waiting_times = [] current_time = 0 while current_time < n_minutes: events.sort() next_event_time, event_type = events.pop(0) current_time = next_event_time if event_type == 'arrival_A': events.append((current_time + arrival_time(), 'arrival_A')) events.append((current_time + service_time_B(), 'transition_B')) elif event_type == 'transition_B': events.append((current_time + service_time_C(), 'transition_C')) elif event_type == 'transition_C': packet_count += 1 packet_waiting_times.append(current_time) return packet_count, np.mean(packet_waiting_times) n_minutes = 60 packet_count, avg_waiting_time = simulate_network(n_minutes) print(f'Durchschnittliche Anzahl der Pakete im System (pro Stunde): {packet_count}') print(f'Durchschnittliche Bearbeitungszeit eines Pakets (Minuten): {avg_waiting_time}') 

    Diese Simulation modelliert die Zustandsübergänge der Pakete im Netzwerksystem für eine simulierte Stunde (60 Minuten).

    3. Berechne die durchschnittliche Anzahl der Pakete im System und die durchschnittliche Bearbeitungszeit
    • Durch durchschnittliche Anzahl der Pakete im System: Wird durch die Anzahl der Pakete ermittelt, die innerhalb der simulierten Stunde verarbeitet wurden.
    • Durchschnittliche Bearbeitungszeit: Wird durch die durchschnittliche Wartezeit der Pakete berechnet.

    Die Ergebnisse der Simulation ergeben:

    • Durchschnittliche Anzahl der Pakete im System: Etwa X Pakete pro Stunde (dieser Wert wird durch die Simulation bestimmt).
    • Durchschnittliche Bearbeitungszeit eines Pakets: Etwa Y Minuten (dieser Wert wird durch die Simulation bestimmt).

    Hinweis: Die Werte X und Y hängen von der Laufzeit und der Zufälligkeit der Simulation ab. Wiederholungen der Simulation können für genauere statistische Ergebnisse hilfreich sein.

    Sign Up

    Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

    Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

    Kostenloses Konto erstellen

    Du hast bereits ein Konto? Anmelden