[摘 要] 在多服務臺的排隊系統中,客戶排成單隊列比排成多隊列更有效率。因此,不論是理論研究還是系統模擬研究,研究人員很少關注多臺多隊列的情況。本文提供了一種基于Excel的簡便方法,以兩服務臺兩隊列為例,模擬排隊系統。
[關鍵詞] 排隊論;多臺多隊;模擬;隨機函數
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 08 . 030
[中圖分類號]F224.34 [文獻標識碼]A [文章編號]1673 - 0194(2010)08 - 0079 - 03
1 引 言
在多個服務臺的排隊系統中,管理者會盡可能讓顧客排成單隊列。根據排隊論的經典結論,“多臺單隊”比“多臺多隊”更有效率[1]。銀行營業廳的電子叫號系統就是利用管理技術手段,將每個窗口前排成一隊的“多隊列”轉換成了排號機中的“單隊列”。但是,限于實際條件,在有些排隊系統中還沒有實現這種轉變。例如,火車站售票窗口,醫院的掛號窗口,還是顧客自發排成“多隊列”。在排隊論中,并不直接研究這種多隊列的排隊系統,而是將其等價于多個獨立的“單臺單隊”排隊系統。但是,現實情況復雜多變,這種“等價研究”的方法并不總是可行。
2 模擬軟件的選擇
利用計算機模擬技術,可以有效地解決現實情況復雜多變的問題。為便于掌握和推廣,本文使用Excel,以兩服務臺兩隊列為例,模擬排隊系統。如果需要更專業更精確的模擬研究,推薦使用Flexsim、 Arena、Promodel、Witness、Automod等專業軟件。
3 多臺多隊排隊系統分析
沿用經典排隊論的假設:客戶到達率服從泊松分布;客戶的服務時間服從負指數分布;兩個并行服務臺之間獨立不協作。本文為明確問題,增加兩個假設:
(1)顧客到達后,選擇排隊人數較少的隊列;如果兩隊人數相等,則偏好性地選擇其中一個服務臺。
(2)一旦選定隊列,排隊過程中不再改變。
4 Excel中的解決方案
(1) 新建一個工作簿,命名為“多臺多隊.xls”,在sheet1工作表中錄入如下數據,其中,A列到N列,如表1所示,
O列到Z列,如表2所示,
表中B1、B2單元格放置模擬的初始參數;B6到B9單元格用于放置用于參考比較的多臺單隊規則下排隊系統效率指標的理論公式,C6到C9放置多臺多隊規則下效率指標的模擬結果;E列到Z列用來放置排隊系統的模擬數據[2]。
(2)在E3單元格錄入公式,= SUM(E1,1)
在F3單元格錄入公式,= –(1/$B$1)*LN(RAND())
在G3單元格錄入公式,= – (1/$B$2)*LN(RAND())
在H3單元格錄入公式,= SUM($H2,$F3)
在I3單元格錄入公式, =COUNT(U$2:U2)
在J3單元格錄入公式,=COUNT(V$2:V2)
在K3單元格錄入公式,=COUNTIF(W$2:W2,\"<=\"$H3)
在L3單元格錄入公式,=COUNTIF(X$2:X2,\"<=\"$H3)
在M3單元格錄入公式,=I3-K3
在N3單元格錄入公式,=J3-L3
在O3單元格錄入公式,=MIN(M3,N3)<>0
在P3單元格錄入公式,=IF(M3<=N3,$M$2,$N$2)
在Q3單元格錄入公式,=P3\"-\"IF(M3<=N3,I3+1,J3+1)
在R3單元格錄入公式,=P3\"-\"IF(MAX(M3<=N3,I3,J3)
在S3單元格錄入公式,=IF(M3<=N3,M3+1,M3)
在T3單元格錄入公式,=IF(M3<=N3,N3,N3+1)
在U3單元格錄入公式,=IF(M3<=N3,IF(M3=0,$H3,MAX(W$2:W2)),\"----\")
在V3單元格錄入公式,=IF(M3<=N3,\"----\",IF(N3=0,$H3,MAX(X$2:X2)))
在W3單元格錄入公式,=IF(U3<>\"----\",U3+$G3,U3)
在X3單元格錄入公式,=IF(V3<>\"----\",V3+$G3,V3)
在Y3單元格錄入公式,=SUM(U3:V3)-H3
在Z3單元格錄入公式,=SUM(W3:X3)-H3
上述公式錄入完成后,將E2到Z2的公式向下復制填充到第10 000行,完成10 000名客戶的模擬。
(3)在B6單元格錄入公式[2],
=((B1/B2)^2*B1*B2/(2*B2-B1)^2)/(1+B1/B2+(0.5*(B1/B2)^2)*(2*B2/(2*B2-B1)))/B
在B7單元格錄入公式,=B6+1/B2
在B8單元格錄入公式,
=(1+B1/B2)/(1+B1/B2+(0.5*(B1/B2)^2)*(2*B2/(2*B2-B1)))
在B9單元格錄入公式,=1-B8
在C6單元格錄入公式,=SUM(Y:Y)/COUNT(Y:Y)
在C7單元格錄入公式,=SUM(Z:Z)/COUNT(Z:Z)
在C8單元格錄入公式,=COUNTIF(O:O,FALSE)/COUNT(E:E)
在C9單元格錄入公式,=COUNTIF(O:O,TRUE)/COUNT(E:E)
(4)因為隨機函數的取值不同,每次得到的模擬結果也略有不同[3]。其中一次模擬結果如表3所示,比較多臺單隊的“理論結果”和多臺多隊的“模擬結果”可知,前者的效率較優。
(5)注意,因模型中的公式比較復雜,建議采用硬件條件較好的計算機。實測CPU為2.1GHz,內存為2G的條件下,運算10 000顧客的模擬,需要75秒。
5 總 結
從10 000次模擬的結果來看,單隊列排隊規則在系統空閑方面的優勢不夠顯著。主要原因是示例模型參數中的“到達率”相對較小,“服務率”相對較高。也就是說,在現實情況下,如果系統不忙,顧客排成“單隊”還是“多隊”,系統效率上的區別并不顯著,沒有必要為實現“單隊”增加額外的管理成本。只有在系統繁忙時,即到達率較高,服務率較低的情況下,顧客排成單隊的優勢才會比較明顯。
主要參考文獻
[1] 胡運權,郭耀煌. 運籌學教程[M]. 第3版. 北京:清華大學出版社,2007:319-321.
[2] [美]哈穆迪·塔哈(Hamdy A Taha). 運籌學導論[M]. 第8版,北京:人民郵電出版社,2007:650-657.
[3] [美]約翰·沃肯巴赫(John Walkenbach). Excel 2002公式與函數應用寶典[M]. 路曉村,譯.北京:電子工業出版社,2002:131-136.