Modelo de restaurante: Configura, ejecuta y analiza resultados
En el ejercicio anterior, definiste el generador que simula las solicitudes de mesa y la decisión de los clientes de esperar o irse según los tiempos de espera.
Ahora vamos a configurar el modelo, ejecutarlo y analizar los resultados. Recuerda que el objetivo de construir este modelo es determinar el número adecuado de mesas y la capacidad de cocina para atender al máximo número de clientes minimizando la inversión inicial y los costes operativos.
Para configurar tu modelo de forma realista, decidiste visitar restaurantes de la zona y observar el comportamiento de los clientes.
Observaste que, de media:
- Durante las horas punta, llegaba un cliente nuevo cada 10 minutos
- Los clientes tenían paciencia para esperar entre 1 y 10 minutos por una mesa (
MIN_PATIENCEyMAX_PATIENCE) - Los clientes se iban si el tiempo de espera superaba los 10 min
- Los clientes ocupaban las mesas entre 40 y 90 minutos (
MIN_SEATING_TIMEyMAX_SEATING_TIME)
El tiempo en el modelo está en minutos.
Este ejercicio forma parte del curso
Simulación de eventos discretos en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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}")