基本等候模式 (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
Ċ
李智,
2013年9月8日 上午6:30
ċ
Queuing_Formula_1a.R
(1k)
李智,
2013年8月22日 上午4:56
ċ
Queuing_Formula_1b.R
(1k)
李智,
2013年8月22日 上午4:57
Ċ
李智,
2013年11月18日 上午5:58