開始使用免費開始

餐廳模型:設定、執行並分析結果

在上一個練習中,你已經定義了產生器,用來模擬顧客要求入座,以及他們根據等候時間決定繼續等或離開的行為。

現在來設定模型、執行它,並分析結果。回想一下,建立此模型的目標是找出合適的桌數與廚房產能,在降低前期投資與營運成本的同時,服務到最多的顧客。

為了有意義地設定你的模型,你決定走訪附近的餐廳並觀察顧客行為。

你觀察到平均而言:

  • 尖峰時段每 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}")
編輯並執行程式碼