ПочатиПочніть безкоштовно

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

У попередній вправі ви визначили генератор, що моделює запити на столики та рішення відвідувачів чекати або піти залежно від часу очікування.

Тепер налаштуймо модель, запустімо її та проаналізуймо результати. Нагадаємо, мета побудови цієї моделі — визначити оптимальну кількість столиків і спроможність кухні, щоб обслужити якомога більше відвідувачів, водночас мінімізуючи початкові інвестиції та експлуатаційні витрати.

Щоб осмислено налаштувати модель, ви вирішили відвідати ресторани в околиці й поспостерігати за поведінкою відвідувачів.

Ви помітили, що в середньому:

  • У години пік нові відвідувачі приходили кожні 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}")
Редагувати та запускати код