Aan de slagGa gratis aan de slag

Restaurantmodel: Opzetten, uitvoeren en resultaten analyseren

In de vorige oefening heb je de generator gedefinieerd die tafelverzoeken simuleert en klantbeslissingen om te wachten of te vertrekken op basis van wachttijden.

Nu gaan we het model opzetten, uitvoeren en de resultaten analyseren. Onthoud dat het doel van dit model is om het juiste aantal tafels en de keuken­capaciteit te bepalen om zoveel mogelijk klanten te bedienen, terwijl de initiële investering en operationele kosten beperkt blijven.

Om je model zinvol op te zetten, besloot je restaurants in de buurt te bezoeken en het klantgedrag te observeren.

Je merkte gemiddeld het volgende op:

  • Tijdens piekuren kwamen er elke 10 minuten nieuwe klanten binnen
  • Klanten hadden het geduld om 1 tot 10 minuten op een tafel te wachten (MIN_PATIENCE en MAX_PATIENCE)
  • Klanten vertrokken als de wachttijd langer dan 10 minuten was
  • Klanten bezetten de tafels 40 tot 90 minuten (MIN_SEATING_TIME en MAX_SEATING_TIME)

De tijd in het model is in minuten.

Deze oefening maakt deel uit van de cursus

Discrete Event Simulation in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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}")
Code bewerken en uitvoeren