標準的 M/M/1 排隊理論計算機要求輸入兩個數字——到達率 λ 與服務率 μ——並從中回傳五個穩態指標:使用率 ρ = λ/μ、平均等候人數 Lq = λ²/[μ(μ−λ)]、系統內平均人數 L = λ/(μ−λ)、平均等候時間 Wq = λ/[μ(μ−λ)],以及系統內平均總時間 W = 1/(μ−λ)。直接執行這些公式正是此工具在您的瀏覽器中所做的事情,所以「做法」本質上就是:將兩個速率轉換為相同的時間單位後輸入,確認 μ 嚴格大於 λ,再連同單位一起讀取五個輸出結果。超出單一 FIFO 伺服器、無限等候空間,以及穩態長期運作之外的情境——多伺服器系統、有限緩衝區、排程到達、厚尾服務時間——需要不同的排隊模型,這就是為什麼 M/M/1 計算機最適合被視為基準參考,而非通用解答。M/M/1 這個名稱本身,以 Kendall 標記法撰寫時,已編碼了相關假設:第一個 M 代表馬可夫 (Poisson) 到達,第二個 M 代表獨立的指數服務時間,1 則代表恰好一個伺服器。一旦看懂這個標記法,計算機的每一行輸出都能清楚對應回這三個字母。

M/M/1 標記法與五項標準指標
M/M/1 這個標籤是簡寫,正確讀懂它就算完成一半的計算。兩個 M 是排隊理論中代表無記憶的慣例——輸入端為 Poisson 到達、輸出端為指數服務時間——而尾端的 1 則告訴您只有一個伺服器。除了這三個字母之外,穩態 M/M/1 模型還假設先進先出 (FIFO) 的服務順序、實際上無限的呼叫母體、無限的等候空間容量,以及穩態的長期運作。這些假設缺一不可:任何一個被拿掉,這些公式就不再描述該系統。Princeton M/M/1 參考資料與佛羅里達大學基礎排隊理論筆記都將這組假設視為排隊分析的標準起點。
| 指標 | 公式 | 意義 | 單位 |
|---|---|---|---|
| 使用率 ρ | λ / μ | 伺服器忙碌的時間比例 | 無因次 (0–1) |
| 平均等候人數 Lq | λ² / [μ(μ−λ)] | 佇列中平均顧客數 | 顧客數 |
| 系統內平均人數 L | λ / (μ−λ) | 佇列中加上正在接受服務的平均顧客數 | 顧客數 |
| 平均等候時間 Wq | λ / [μ(μ−λ)] | 開始接受服務前的平均時間 | 共用的速率時間單位 |
| 平均總時間 W | 1 / (μ−λ) | 系統內平均時間 (等候 + 服務) | 共用的速率時間單位 |
準備您的到達率 λ 與服務率 μ
在開啟計算機之前,請將兩個速率統一到同一個時間基準。若顧客每小時到達 30 人,且單一伺服器每小時可處理 45 人,則兩者都保留為每小時的數字。若服務櫃台平均每三分鐘接待一位顧客,則該到達率可換算為每小時 20 人;唯有兩個速率最終都使用每小時 (或都使用每分鐘、或都使用每天) 時,計算機的結果才是可信的。將到達率用每小時、服務率用每分鐘混搭輸入,雖然會得到一個看起來有限的數字,但單位不一致,結果毫無意義。一個合理的精度原則是讓每個速率至少保留三位有效數字——在接近飽和時將「目標」速率四捨五入,會掩蓋您真正想探討的非線性。若您的觀測資料是每分鐘,但希望以小時為單位進行產能討論,請同時轉換兩個輸入,並將轉換一路帶到 W 與 Wq 的輸出,以確保單位從頭到尾一致。
將速率輸入 M/M/1 計算機
一旦速率單位一致,輸入流程本身很短。
- 在第一個欄位輸入正的到達率 λ,使用的時間單位與您預定用於服務率的相同。
- 在第二個欄位輸入正的服務率 μ,單位與 λ 相同,且 μ 必須嚴格大於 λ。
- 確認 Poisson 到達、指數服務、恰好一個 FIFO 伺服器、無限等候容量,以及長期穩態等假設對您的情境而言是合理的。
- 執行計算。工具會在您的瀏覽器本機計算 ρ = λ/μ、Lq = λ²/[μ(μ−λ)]、L = λ/(μ−λ)、Wq = λ/[μ(μ−λ)],以及 W = 1/(μ−λ),並一併顯示。
- 將每個指標連同其單位一起讀取——Lq 與 L 的單位是顧客數,Wq 與 W 的單位是共用的速率時間單位,ρ 則以百分比方式解讀。
- 將五個輸出連同單位複製到您的工作表、產能討論或作業中,並把這些數字視為粗略的單伺服器基準,而非預測。
讀取並解讀使用率、Lq、L、Wq 與 W
這五個數字必須一起看。使用率告訴您伺服器有多忙碌,但並未描述顧客等候時間;使用率與等候時間之間的關係高度非線性,90% 使用率的 M/M/1 佇列與 50% 使用率的表現截然不同。L 與 W 之間透過 Little 定律相連:L = λW,且 Lq = λWq。正確的計算機輸出會同時滿足這兩個恆等式,而排隊理論計算機會在實作中內部驗證它們,所以若您讀取的兩組數字對不上,最可能的原因就是單位不一致或抄錄錯誤。
計算範例:λ = 每小時 9 人,μ = 每小時 10 人 (皆為每小時,所以 W 與 Wq 的單位將是小時):
- ρ = λ / μ = 9 / 10 = 0.9,亦即伺服器有 90% 的時間處於忙碌狀態。
- L = λ / (μ − λ) = 9 / (10 − 9) = 9 / 1 = 9,系統內平均有 9 位顧客。
- Lq = λ² / [μ(μ − λ)] = 81 / [10 × 1] = 81 / 10 = 8.1,平均有 8.1 位顧客在等候。
- W = 1 / (μ − λ) = 1 / 1 = 1,系統內平均總時間為 1 小時。
- Wq = λ / [μ(μ − λ)] = 9 / [10 × 1] = 0.9 小時,也就是 54 分鐘,為開始接受服務前的平均等候時間。
交叉驗證 Little 定律:λ × W = 9 × 1 = 9,等於 L。λ × Wq = 9 × 0.9 = 8.1,等於 Lq。兩個恆等式皆成立,因此計算結果在內部是一致的。至於為什麼 90% 使用率就已造成平均 9 位顧客在系統中,相關的完整解說請見M/M/1 使用率與等候時間指南。
為什麼趨近飽和的方式很重要
當 λ 從下方趨近 μ 時,分母 (μ − λ) 會趨近於零,因此上表中每個公式的成長速率各不相同。在 ρ = 0.5 時,平均總時間 W 為 2 個服務時間單位;在 ρ = 0.8 時,W 上升到大約 5;在 ρ = 0.9 時,W = 10。使用率從約 50% 倍增到 80%,等候時間會被放大為超過兩倍,再多 10% 的使用率,等候時間又再被放大一次。實際系統很少處於 50% 以下的使用率,因此對產能決策最重要的區間,正是 M/M/1 曲線彎曲最陡的同一區間。單獨報告使用率而不附上任何等候指標,會掩蓋計算機特別設計來凸顯的營運風險。
何時 M/M/1 模型不再是合適的工具
M/M/1 是基準,不是預測。當任何一項核心假設失效時,就該換模型——多伺服器、近乎確定性的服務時間、有限緩衝、優先順序類別、放棄、休假、批次處理,或時變速率,各自都有對應的模型。光只有平均值也無法描述尾端延遲:一個平均等候 1 分鐘的系統,仍可能有相當比例的等候時間超過 10 分鐘,而這才是營運決策真正關切的服務水準風險。這個計算機最適合用於核對課本習題、粗略的單伺服器產能基準,或規劃討論中的合理性數字;不應作為安全、人員編制或基礎建設承諾的唯一依據。
| 您系統中的情境 | 應改用的模型 |
|---|---|
| 多部平行伺服器 | M/M/c (Erlang C)——請參考多伺服器 M/M/c 指南 |
| 服務時間近乎固定 | M/D/1 |
| 一般或厚尾服務分佈 | M/G/k 或模擬 |
| 有限等候空間 | M/M/1/K 有限緩衝模型 |
| 優先順序類別、放棄、休假、批次處理 | 專用模型或模擬 |
常見的計算陷阱
會破壞 M/M/1 計算的錯誤是可預測的,且大多來自輸入。輸入 λ ≥ μ 是最常見的——若 μ 不嚴格大於 λ,穩態佇列長度與等候時間都是無限的,這就是為什麼一個設計良好的計算機會直接拒絕這類輸入,而不是對一個不穩定的佇列印出看似有限的答案。混用速率單位 (一邊用小時、一邊用分鐘) 是第二常見的錯誤;兩個輸入雖然都是有效的數字,但輸出毫無意義。在接近飽和時過度四捨五入速率,會掩蓋您正想量測的非線性。對一個明顯是多伺服器、有限緩衝或非 Poisson 的系統使用 M/M/1 是第三類錯誤,而唯一的解決方法就是換用其他模型或進行模擬。排隊理論計算機會自動處理 λ/μ 的順序、Little 定律的交叉檢查與數值邊界,但單位一致性是您的責任,因此真正值得您關注的輸入,是在同一個共用時間單位下,提供貼近現實的到達率與服務率——其餘的計算只是文書作業。
請將排隊理論計算機所給出的穩態 M/M/1 結果,作為快速的單伺服器參考;當實際情況違反 M/M/1 假設時,再改用 M/M/c、M/D/1、M/G/k 或模擬。