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_PATIENCEetMAX_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_TIMEetMAX_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
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}")