基本等候模式 (M/M/1):(∞/∞/FCFS)

(M/M/1):(∞/∞/FCFS) 提示:

客戶以隨機方式 (依卜瓦松分布) 請求服務,由於請求複雜度不一,因此服務者需要隨機時間 (依指數分布) 提供服務,當服務者正在執行某項服務時,其他客戶便必須等候服務者完成前項服務。

    • 服務系統達到穩態時,

      • 客戶進入等候系統人數 λ 為常數。

      • 平均服務客戶人數 μ 為常數。

    • 在任何一個時段,

      • 客戶進入等候系統事件為獨立。

      • 客戶進入等候系統機率相同。

      • 客戶進入等候系統人數與時段長度成正比。

      • 在極短時間內,超過 1 人進入等候系統機率為 0。

應用一

公司秘書有一個專線,經過一段時間觀察,平均每小時有 45 通電話撥入,秘書平均通話時間為 1 分鐘。

同時,電話撥入次數為卜瓦松分配,通話處理時間為指數分配。求算:

    1. 此電話專線之利用率與閒置率。

    2. 此電話專線忙線機率。

    3. 服務系統內平均客戶數 L。

    4. 服務系統內平均處理時間 W。

    5. 等候線內平均客戶數 Lq

    6. 等候線內平均處理時間 Wq

rm(list=ls()) QueuingFullCapacity <- function(lamda, mu) { rho <- (lamda/ mu) P0 <- 1 - rho W <- 1 / (mu - lamda) L <- lamda * W Wq <- rho * W Lq <- lamda * Wq ans <- c(rho, P0, L, W, Lq, Wq) ans } queuing <- function(rho, numOfCustomer, P0) { Pn <- P0 * (rho^numOfCustomer) Pn } avgNumOfCustomer <- 45 numOfRequestCanHold <- 60 ans <- QueuingFullCapacity(lamda=avgNumOfCustomer, mu=numOfRequestCanHold) rho <- ans[1] P0 <- ans[2] print(sprintf('設備利用率=%.4f', rho)) print(sprintf('設備閒置率 (無待修品機率)=%.4f', 1 - rho)) print(sprintf('服務系統內平均客戶數=%.4f', ans[3])) print(sprintf('服務系統內平均處理時間=%.4f', ans[4])) print(sprintf('等候線內平均處理時間=%.4f', ans[5])) print(sprintf('服務系統內平均客戶數=%.4f', ans[6])) P1 <- queuing(rho, 1, P0) print(sprintf('有一通電話機率=%.4f', P1)) print(sprintf('忙線機率機率=%.4f', 1 - P0 - P1))

[1] 設備利用率=0.7500 [2] 設備閒置率=0.2500 [3] 服務系統內平均處理時間=0.0667 [4] 服務系統內平均客戶數=3.0000 [5] 等候線內平均處理時間=0.0500 [6] 服務系統內平均客戶數=2.2500 [7] 有一通電話機率=0.1875 [8] 忙線機率=0.5625

應用二

工廠只有一名維修員,維修員在其工作檯修理半成品瑕疵。生產線作業員將待修半成品交由維修員修理,當維修員正修理其他半成品時,作業員會將待修品置放於兩個待修籃內。

經過工管人員觀察分析,作業員送修半成品與維修員修理均成指數分配,作業員平均每小時送修 2 件半成品,而維修員平均需要 20 分鐘修理時間。求算:

    1. 無待修品機率。

    2. 待修品置放於兩個待修籃內機率。

    3. 待修籃內機率已滿機率。

    4. 服務系統內平均客戶數 L。

    5. 服務系統內平均處理時間 W。

    6. 等候線內平均客戶數 Lq

    7. 等候線內平均處理時間 Wq

rm(list=ls()) QueuingFullCapacity <- function(lamda, mu) { rho <- (lamda/ mu) P0 <- 1 - rho W <- 1 / (mu - lamda) L <- lamda * W Wq <- rho * W Lq <- lamda * Wq ans <- c(rho, P0, L, W, Lq, Wq) ans } queuing <- function(rho, numOfCustomer, P0) { Pn <- P0 * (rho^numOfCustomer) Pn } avgNumOfCustomer <- 2 numOfRequestCanHold <- 3 ans <- QueuingFullCapacity(lamda=avgNumOfCustomer, mu=numOfRequestCanHold) rho <- ans[1] P0 <- ans[2] print(sprintf('設備利用率=%.4f', rho)) print(sprintf('設備閒置率 (無待修品機率)=%.4f', 1 - rho)) print(sprintf('服務系統內平均客戶數=%.4f', ans[3])) print(sprintf('服務系統內平均處理時間=%.4f', ans[4])) print(sprintf('等候線內平均處理時間=%.4f', ans[5])) print(sprintf('服務系統內平均客戶數=%.4f', ans[6])) P1 <- queuing(rho, 1, P0) print(sprintf('待修品置放於兩個待修籃內機率=%.4f', 1- P0 - P1)) P2 <- queuing(rho, 2, P0) P3 <- queuing(rho, 3, P0) print(sprintf('待修籃內機率已滿機率=%.4f', 1 - P0 - P1 - P2 - P3))

[1] 設備利用率=0.6667 [2] 設備閒置率 (無待修品機率)=0.3333 [3] 服務系統內平均處理時間=1.0000 [4] 服務系統內平均客戶數=2.0000 [5] 等候線內平均處理時間=0.6667 [6] 服務系統內平均客戶數=1.3333 [7] 待修品置放於兩個待修籃內機率=0.4444 [8] 待修籃內機率已滿機率=0.1975