問題
餐廳帶位看起來只是「找一張空桌」,但實際上同時牽涉桌型、人數、用餐時間、等候順序與翻桌率。用直覺安排,很容易出現大桌坐兩人、小桌排長隊的情況。
RSO 把座位安排當成一個最佳化問題:在給定的餐廳拓撲與用餐狀態下,找出讓等候時間與座位浪費都更小的安排。
方法
- 以圖論建立餐廳的節點搜尋網絡,描述桌位、區域與動線關係。
- 使用 ILP / CSP 建模座位容量、用餐時間與等候成本等限制條件。
- 以 27 桌的真實餐廳拓撲(原燒)作為案例,驗證排程結果。
- 規劃從 ADP 走向 MARL 的研究路線,處理更動態、更即時的多人決策情境。
案例規模
27
real tables
真實餐廳拓撲
3
主要限制
容量 / 時間 / 等候
2
求解方法
ILP / CSP
1
研究路線
ADP → MARL
互動:座位拓撲
選擇人數,看看哪些空桌符合條件;點選桌子可以查看安排。按「重新排程」會模擬一次重新計算。這些是展示資料,不是正式營運數據。
rso-solver
已入座空桌符合人數
點選桌子查看安排。
27
桌數
12min
平均等候(示意)
以 ILP / CSP 處理座位容量、用餐時間與等候成本;右側數字為互動示意,不是正式營運數據。
互動示意:27 桌拓撲取自專案案例,入座狀態與等候時間為展示資料;實際排程需接入餐廳即時資料。
技術筆記
- 為什麼不是貪婪法:每次都選「當下看起來最合適」的桌子,會在後續產生更大的等待成本;需要把時間與容量一起看。
- 限制條件:桌型、人數、用餐時間、動線與保留桌都會影響可行解,不是單純的二分圖匹配。
- 研究延伸:ADP 處理不確定性下的決策,MARL 則對應多個帶位者或動態環境的協作。
下一步
除了持續優化求解速度,也把即時用餐狀態與候位資料接進模型,讓排程從「離線最佳化」走向「線上決策」。
NEXT PROJECT / 05
PF UTOPIA 安逸烏托邦