ComeçarComece de graça

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

O tempo no modelo está em minutos.

Este exercício faz parte do curso

Simulação de Eventos Discretos em Python

Ver curso

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}")
Editar e executar o código