Fließband zur Autoproduktion: nichtdeterministische Ereignisse hinzufügen
Diese Übung konzentriert sich auf nichtdeterministische Prozesse ohne SimPy. In der nächsten Übung geht es dann um SimPy.
Du sollst die Variabilität in den Prozessdauern im vorherigen ereignisdiskreten Modell einer Autoproduktionslinie berücksichtigen. Die zuvor identifizierten Prozessgruppen sind (1) „Schweißen und Lackieren“ und (2) „Montage von Teilen und Testen“. Denk daran: Jede dieser Gruppen umfasst viele Teilprozesse und Aufgaben, aber vorerst konzentrierst du dich darauf, die erste Version deines Modells auf hoher Ebene zu codieren.
Zuvor hattest du ermittelt, dass Schweißen und Lackieren durchschnittlich 15 Stunden dauern, während die Montage von Teilen und das Testen durchschnittlich 24 Stunden benötigen.
Nun hast du zusätzliche Recherchen und Messungen durchgeführt, um die Variabilität der Dauern zu untersuchen. Du schließt daraus, dass Schweißen und Lackieren um fünf Stunden nach oben oder unten variieren können und die Dauer der Teilemontage um sechs Stunden nach oben oder unten schwanken kann.
Aktualisiere dein ereignisdiskretes Modell, um die Schwankungen in den Dauern dieser Ereignisse zu berücksichtigen.
Das Paket random wurde für dich geladen.
Diese Übung ist Teil des Kurses
Diskrete-Ereignis-Simulation mit Python
Anleitung zur Übung
- Erfasse die Dauer des Prozesses „Schweißen und Lackieren“, und berücksichtige dabei die neue Information zur Variabilität mithilfe einer Methode aus dem Paket
random, die ganzzahlige Zufallszahlen erzeugt. - Erfasse die Dauer des Prozesses „Montage von Teilen und Testen“, und berücksichtige dabei die neue Information zur Variabilität mithilfe einer Methode aus dem Paket
random, die ganzzahlige Zufallszahlen erzeugt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock the time requirement for: Assembly of parts and Testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
car_production_line(SIMULATION_TIME)