ComenzarEmpieza gratis

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_PATIENCE y MAX_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_TIME y MAX_SEATING_TIME)

El tiempo en el modelo está en minutos.

Este ejercicio forma parte del curso

Simulación de eventos discretos en Python

Ver curso

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}")
Editar y ejecutar código