НачатьНачать бесплатно

Модель ресторана: настройка, запуск и анализ результатов

В предыдущем упражнении вы определили генератор, который моделирует запросы на столик и решения клиентов — ждать или уйти — в зависимости от времени ожидания.

Теперь настроим модель, запустим её и проанализируем результаты. Напомним, что цель построения этой модели — определить оптимальное количество столиков и пропускную способность кухни, чтобы обслужить максимальное число клиентов при минимальных начальных инвестициях и операционных расходах.

Чтобы задать модели реалистичные параметры, вы решили посетить рестораны в районе и понаблюдать за поведением клиентов.

Вы заметили, что в среднем:

  • В часы пик новые клиенты приходили каждые 10 минут
  • Клиенты были готовы ждать столик от 1 до 10 минут (MIN_PATIENCE и MAX_PATIENCE)
  • Клиенты уходили, если время ожидания превышало 10 минут
  • Клиенты занимали столики от 40 до 90 минут (MIN_SEATING_TIME и MAX_SEATING_TIME)

Время в модели измеряется в минутах.

Это упражнение является частью курса

Дискретно-событийное моделирование на Python

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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}")
Редактировать и запускать код