Restaurantmodell: Einrichten, ausführen und Ergebnisse analysieren
In der vorherigen Übung hast du den Generator definiert, der Tischanfragen simuliert und die Entscheidung der Kund:innen, je nach Wartezeit zu bleiben oder zu gehen.
Jetzt richten wir das Modell ein, führen es aus und analysieren die Ergebnisse. Denk daran: Ziel dieses Modells ist es, die passende Anzahl an Tischen und die Küchenkapazität zu bestimmen, um möglichst viele Kund:innen zu bedienen und gleichzeitig die Anfangsinvestition und laufenden Kosten gering zu halten.
Um dein Modell sinnvoll zu parametrisieren, hast du beschlossen, Restaurants in der Umgebung zu besuchen und das Verhalten der Gäste zu beobachten.
Dabei ist dir im Durchschnitt aufgefallen:
- In Stoßzeiten kamen alle 10 Minuten neue Kund:innen an
- Kund:innen waren bereit, zwischen 1 und 10 Minuten auf einen Tisch zu warten (
MIN_PATIENCEundMAX_PATIENCE) - Kund:innen gingen, wenn die Wartezeit länger als 10 Minuten war
- Kund:innen belegten die Tische für 40 bis 90 Minuten (
MIN_SEATING_TIMEundMAX_SEATING_TIME)
Die Zeit im Modell ist in Minuten.
Diese Übung ist Teil des Kurses
Diskrete-Ereignis-Simulation mit Python
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
INTERVAL_CUSTOMERS = 10
# Assign the appropriate values to the model parameters
MIN_PATIENCE = 1
MAX_PATIENCE = ____
MIN_SEATING_TIME = 40
MAX_SEATING_TIME = ____
customers_served = 0
customers_quiting_waiting = 0
env = simpy.Environment()
# Create the SimPy resource
tables = simpy.____(env, capacity=____)
env.process(source(env, NEW_CUSTOMERS, INTERVAL_CUSTOMERS, tables))
# Run the model
env.____(until=240)
print(f"Total number of tables served: {customers_served:02d}")
print(f"Total number of customers quiting waiting: {customers_quiting_waiting:02d}")