EmpezarEmpieza 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 completando este código de ejemplo.

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