排隊論計算器 - M/M/c 排隊分析

計算等待隊列的效能指標,包括利用率、平均隊列長度、等待時間,以及 M/M/1、M/M/c 與有限容量模型的機率。

選擇一個隊列模型,輸入到達率和服務率,然後點擊「計算」查看完整的效能指標。

排隊論計算器 - M/M/c 排隊分析
計算等待隊列的效能指標,包括利用率、平均隊列長度、等待時間,以及 M/M/1、M/M/c 與有限容量模型的機率。

關於排隊論

排隊論是數學的一個分支,用來研究等待隊列。它提供了預測系統行為的工具:到達是隨機的,服務需要時間,而資源(伺服器)是有限的。其應用涵蓋電信(封包交換)、醫療(病人排程)、製造(機器排隊)、交通(車流)以及電腦科學(作業系統排程)。 Kendall 記號 A/S/c/K/N 會用到達過程 (A)、服務時間分布 (S)、伺服器數量 (c)、系統容量 (K) 和總體規模 (N) 來描述隊列。最常見的是 M/M/c,其中到達與服務時間都服從指數(無記憶)分布——M 代表 Markovian(指數型)。這個計算器涵蓋四個關鍵模型。 M/M/1 模型最簡單:一個伺服器、卜瓦松到達(速率 λ)與指數服務時間(速率 μ)。系統只有在 ρ = λ/μ < 1 時才穩定。系統中的平均人數為 L = ρ/(1-ρ),平均系統時間為 W = 1/(μ-λ),這來自 Little 定律(L = λW)。 M/M/c 模型把它擴展為 c 個並行且相同的伺服器。總服務能力為 c·μ,因此穩定性要求 ρ = λ/(c·μ) < 1。Erlang C 公式給出到達客戶需要等待的機率:C(c,ρ) = (cρ)^c/(c!(1-ρ)) · P₀,其中 P₀ 是系統為空的機率。 M/M/c/K 模型增加了有限等候空間——系統容量 K 表示系統中允許的總客戶數上限(服務中加等待中)。當系統已滿時到達的客戶會被阻擋(拒絕)。這個模型適用於餐廳、停車場與醫院病房。對 M/M/1/K,阻塞機率為 P(K) = P₀ · (λ/μ)^K / K!。 M/M/c/N 模型假設潛在客戶來源是有限的,總共有 N 個潛在客戶。已經在系統中的客戶不會再產生新的到達,因此隨著系統逐漸被填滿,有效到達率會下降。這個模型適合機器維修問題:N 台機器各自以速率 λ 發生故障,並以速率 μ 被修復。 Little 定律——L = λ_eff × W——是連接系統平均人數 (L)、有效到達率 (λ_eff) 與平均系統時間 (W) 的通用關係。只要系統穩定,它幾乎適用於任何隊列系統,不受分布假設限制,也是本計算器中所有效能公式的基礎。

排隊論範例

以真實參數探索不同的排隊情境。

情境關鍵指標解讀
銀行櫃員:M/M/1,λ=10/小時,μ=12/小時ρ=83.3%,Lq=4.17,Wq=25 分鐘一名忙碌的櫃員。平均隊列有 4 人,等待 25 分鐘。利用率很高——增加第二名櫃員會大幅縮短等待時間。
客服中心:M/M/c,λ=25/小時,μ=10/小時,c=3ρ=83.3%,Lq≈3.51,Wq≈8.4 分鐘三名客服共同分擔工作。總服務能力為 30/小時。Erlang C 公式給出 Lq≈3.51,平均等待時間 Wq≈8.4 分鐘。
餐廳:M/M/c/K,λ=15/小時,μ=8/小時,c=2,K=20ρ=93.75%,阻塞機率≈2.1%有限座位將系統總人數限制為 20 人。尖峰時段約有 2% 的到店顧客會被拒絕。

如何使用排隊論計算器

  1. 從下拉選單中選擇隊列模型:M/M/1 適用於單伺服器,M/M/c 適用於多個並行伺服器,M/M/c/K 適用於有最大容量限制的場景,M/M/c/N 適用於有限總體來源。
  2. 輸入到達率 λ(單位時間內平均到達的客戶數)與服務率 μ(單一伺服器每單位時間可處理的平均客戶數)。
  3. 對於 M/M/c、M/M/c/K 與 M/M/c/N 模型,還需要輸入伺服器數量 c。M/M/c/K 也要輸入系統總容量 K;M/M/c/N 也要輸入有限總體規模 N。
  4. 點擊「計算」。結果區域會顯示伺服器利用率 ρ、系統為空的機率 (P₀)、平均隊列長度 (Lq)、平均系統長度 (L)、平均排隊等待時間 (Wq) 以及平均系統逗留時間 (W)。
  5. 如果系統不穩定(到達率超過服務能力),會顯示錯誤訊息——請增加 c 或 μ,或降低 λ 以取得穩定配置。

排隊論常見問題

伺服器利用率 ρ 是什麼意思?
伺服器利用率 ρ = λ / (c·μ) 表示每台伺服器平均忙碌的時間占比。利用率 0.85 代表伺服器有 85% 的時間在工作。當 ρ 接近 1 時,隊列會無限增長;當 ρ > 1 時,系統不穩定,長期來看無法承受工作量。
什麼是 Little 定律?
Little 定律指出 L = λ·W,其中 L 是系統中的平均客戶數,λ 是有效到達率,W 是每位客戶在系統中停留的平均時間。它適用於任何穩定系統,不受到達或服務分布影響,是排隊論中最強大的結果之一。
Erlang C 公式是用來做什麼的?
Erlang C 公式用於計算 M/M/c 隊列中到達客戶需要等待的機率(也就是所有伺服器都忙碌時的機率)。它是多伺服器隊列中 Wq 公式的基礎,也被廣泛用於客服中心排班,以決定滿足服務水準目標所需的座席數量。
M/M/c/K 和 M/M/c/N 有什麼差別?
M/M/c/K 將系統中的客戶總數(包含等待與服務中的客戶)限制為 K——超過 K 的到達會被拒絕(阻塞)。M/M/c/N 則描述一個封閉系統,潛在客戶總數只有 N;當客戶進入隊列後,其餘人口的有效到達率會下降。
如何降低隊列系統的平均等待時間?
最有效的方法是:提高服務率 μ(更快的伺服器)、增加伺服器數量 c(並行通道),或降低波動性。反直覺的是,把利用率從 90% 降到 80% 往往能讓隊列長度減半,因為當 ρ 接近 1 時,隊列長度會超線性成長。
M/M 隊列在真實世界中實用嗎?
M/M 模型假設到達服從卜瓦松分布、服務時間服從指數分布,這對電話、Web 請求與隨機客戶到達等許多真實系統來說是合理近似。對於非指數服務時間,也有更一般的 M/G/1 或 G/G/c 模型,但 M/M 結果仍可為容量規劃提供數量級上準確的估計。