CommencerCommencer gratuitement

Modèle de restaurant : configurer, exécuter et analyser les résultats

Dans l’exercice précédent, vous avez défini le générateur qui simule les demandes de tables et la décision des clients d’attendre ou de partir en fonction du temps d’attente.

Passons maintenant à la configuration du modèle, à son exécution et à l’analyse des résultats. Rappelez-vous que l’objectif de ce modèle est de déterminer le nombre approprié de tables et la capacité de la cuisine afin de servir un maximum de clients tout en minimisant l’investissement initial et les coûts d’exploitation.

Pour paramétrer votre modèle de manière pertinente, vous avez décidé de visiter des restaurants du quartier et d’observer le comportement des clients.

Vous avez remarqué qu’en moyenne :

  • Pendant les heures de pointe, de nouveaux clients arrivaient toutes les 10 minutes
  • Les clients acceptaient d’attendre entre 1 et 10 minutes pour une table (MIN_PATIENCE et MAX_PATIENCE)
  • Les clients partaient si le temps d’attente dépassait 10 min
  • Les clients occupaient les tables entre 40 et 90 minutes (MIN_SEATING_TIME et MAX_SEATING_TIME)

Le temps dans le modèle est exprimé en minutes.

Cet exercice fait partie du cours

Simulation d’événements discrets en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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}")
Modifier et exécuter le code