Modelo de restaurante: configurar, executar e analisar resultados
No exercício anterior, você definiu o gerador que simula pedidos de mesa e a decisão dos clientes de esperar ou ir embora com base nos tempos de espera.
Agora vamos configurar o modelo, executá-lo e analisar os resultados. Lembre que o objetivo deste modelo é determinar o número adequado de mesas e a capacidade da cozinha para atender ao máximo de clientes, minimizando o investimento inicial e os custos operacionais.
Para configurar seu modelo de forma consistente, você decidiu visitar restaurantes da região e observar o comportamento dos clientes.
Você percebeu que, em média:
- Durante o horário de pico, novos clientes chegavam a cada 10 minutos
- Os clientes tinham paciência para esperar entre 1 e 10 minutos por uma mesa (
MIN_PATIENCEeMAX_PATIENCE) - Os clientes iam embora se o tempo de espera fosse maior que 10 min
- Os clientes ocupavam as mesas por 40 a 90 minutos (
MIN_SEATING_TIMEeMAX_SEATING_TIME)
O tempo no modelo está em minutos.
Este exercício faz parte do curso
Simulação de Eventos Discretos em Python
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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}")