[摘 要] 計算機模擬是研究排隊論問題的一個重要手段,可以選擇的軟件有很多,本文提出了一種基于Excel的簡便方法。選用Excel中的隨機函數,配合以自然對數函數,以兩服務臺單隊列為例,模擬排隊系統。
[關鍵詞] 排隊論;多臺單隊;模擬;隨機函數
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 10 . 033
[中圖分類號]F224.34 [文獻標識碼]A [文章編號]1673 - 0194(2010)10- 0088 - 03
1引言
如果系統中有多個服務臺,最有效率的排隊方式是所有需要等待的客戶排成單隊列——這是排隊論研究的經典結論之一[1]。早期在通信領域,該結論用于電話占線的排隊管理。目前,已經廣泛應用于銀行、鐵路、物流、倉儲等生產實踐領域。銀行營業廳的電子叫號系統就是這個結論的一個典型應用。但是,以概率和隨機過程等數學知識為基礎的排隊論,其理論上的復雜性,為現實排隊系統的分析帶來一定難度。利用計算機模擬排隊系統,則比較簡便、可行。
2模擬軟件的選擇
鑒于Excel具有易學、易用、易推廣的特點,本文將在Excel上建立多臺單隊的排隊模型。當然,具備模擬功能的軟件有很多,其中比較專業的有Flexsim、 Arena、Promodel、Witness、Automod等,還有基于Excel的第3方插件——Crystal Ball。其中,Flexsim可以用三維動畫模擬現實中的場景,其他幾個軟件多用于二維場景的模擬,Crystal Ball只能用于數據模擬。如果有必要,這些軟件都是很好的選擇。
3多臺單隊排隊系統分析
沿用經典排隊論的假設:客戶到達率服從泊松分布;客戶的服務時間服從負指數分布;兩個并行服務臺之間獨立。本文為明確問題,增加一個假設:如果兩個服務臺都空閑,則顧客偏好性地選擇其中的一個服務臺。因服務臺獨立,且效率相同,所以這個假設不影響模擬結果。
4Excel中的解決方案
(1) 新建一個工作簿,命名為“多臺單隊.xls”,在sheet1工作表中錄入如下數據,其中,A列到N列,如表1所示。 O列到Z列,如表2所示。
表中B1、B2單元格放置模擬的初始參數;B6到B9單元格放置幾個衡量排隊系統效率指標的理論公式,C5到C8放置效率指標的模擬結果;E列到Z列用來放置排隊系統的模擬數據[2]。
(2) 在E3單元格錄入公式,= SUM(E1,1)
在Y3單元格錄入公式,=SUM(U3:V3) -H3
在Z3單元格錄入公式,=SUM(W3:X3) -H3
上述公式錄入完成后,將E2到Z2的公式向下復制填充到第10 000行,完成10 000名客戶的模擬。
(3) 在B6單元格錄入公式[1],
=((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) 注意,E列到Z列的公式中,含有隨機函數RAND(),按F9鍵可以讓它再次取到一個隨機數。
(5) 因為隨機函數的取值不同,每次得到的模擬結果也略有不同。其中一次模擬結果如表3所示,比較“理論結果”和“模擬結果”可知,這種模擬方法是完全有效的。
(6) 注意,因模型中的公式比較復雜,建議采用硬件條件較好的計算機。實測CPU為2.1GHz,內存為2G的條件下,運算10 000顧客的模擬,需要80秒。
5總結
本文提供了一個在Excel中模擬多服務臺單隊列排隊系統的簡便方法,技術難度不高,易于理解和掌握。如果現實條件改變,可以在這個電子表格模擬模型的基礎上修改相關參數。例如服務臺數增加,客戶服務時間與到達情況改變等。
主要參考文獻
[1] 胡運權,郭耀煌. 運籌學教程[M]. 第3版. 北京:清華大學出版社,2007:319-321.
[2] [美]約翰·沃肯巴赫. Excel 2002公式與函數應用寶典[M]. 路曉村,譯. 北京:電子工業出版社,2002:131 - 136.