Excel中应用随机函数模拟单服务台排队系统
[ ]计算机模拟是解决排队论问题的一个重要手段,可以选择的软件有很多,本文提出了一种基于Excel的简便方法。选用Excel中的随机函数,配合以自然对数函数,以单服务台单队列情况为例,模拟排队系统。在此基础上,适当修改参数,即可模拟更多现实情况。
[关键词] 排队论;单台单队;模拟;随机函数
1引言
排队论是运筹学理论的一个重要分支,主要研究排队系统的效率问题。其中几个经典的数学模型,基于这样的假设:客户到达率服从泊松分布,客户的服务时间服从负指数分布。这些模型为专业技术人员提供了有效的分析手段,能够处理大部分问题。其研究成果,已经广泛应用于银行、通信、铁路、物流、仓储等生产实践领域。但是,现实条件总是复杂多变的。根据具体情况,对经典数学模型做适当调整,这是该领域研究的热点。
2研究方案的选择
一个研究方案是,依据数学理论,调整模型,求得新的解;另一个方案是,利用计算机模拟排队系统,用模拟数据求解。前者可以提供精确的解值,但是需要深厚的数学功底,每次情况改变都意味着新一轮的复杂的公式推导。后者提供的是近似解,调整模型的难度相对较低,上百万次的批量模拟在计算机上很容易完成。一般企业在缺乏专业数学人才的情况下,更倾向于采用后者来解决问题。
3模拟软件的选择
目前,具备模拟功能的软件有很多,其中比较专业的有Flexsimexcel表格随机函数、 ArenaPromodelWitnessAutomod等等,还有基于Excel的第3方插件——Crystal Ball。其中,Flexsim可以用三维动画模拟现实中的场景,其他几个软件多用于二维场景的模拟,Crystal Ball只能用于数据模拟。如果有必要,这些软件都是很好的选择。如果是局部问题,或对于经费投入较少的小型企业,可以选择易学易用的Excel来解决。
4Excel中的解决方案
Excel中有大量的概率分布函数,配合以随机函数,可以模拟绝大部分现实情况。本文以单个服务台,单个队列为例,Excel中模拟排队情况。
(1) 新建一个工作簿,命名为单台排队.xls”,sheet1工作表中录入如下数据:
表中B1B2单元格放置模拟的初始参数;B5B8单元格用于放置几个衡量排队系统效率指标的理论公式,C5C8放置效率指标的模拟结果;E列到M列用来放置排队系统的模拟数据[2]
(2) E2单元格录入公式,= SUM(E1,1)
J2单元格录入公式,= H2+I2
K2单元格录入公式,= H2-G2
L2单元格录入公式,= J2-G2
M2单元格录入公式,= IF(K2= 0,1,0)
上述公式录入完成后,E2M2的公式向下复制填充到第10 000,完成10 000名客户的模拟。
(3) B5C8单元格录入如下公式(见表2)[1]
(4) 注意,E列到M列的公式中,含有随机函数RAND(),F9键可以让它再次取到一个随机数。每次打开文件、在工作表的其他位置录入公式等操作,都会让它重新取值。
(5) 因为随机函数的取值不同,每次得到的模拟结果也略有不同。其中一次模拟结果如表3所示,比较理论结果模拟结果可知,这种模拟方法是完全有效的。
(6) 注意,2003版的Excel,每张工作表上可以做65 000次的模拟,如果需要30万次以上的精确模拟,可以使用2007版的Excel
5总结
本文提供了一个在Excel中模拟排队系统的简便方法,如果现实条件改变,可以在这个电子表格模拟模型的基础上修改相关参数。例如正态分布的顾客到达率、均匀分布的服务率等。由于计算机硬件水平的不断提高,作为非专业的模拟工具,Excel在速度上的缺陷将越来越不重要,它的普及性和易用性是人们选择它的主要原因。
主要参考文献
[1] 唐应辉,唐小我. 排队论:基础与分析技术[M]. 北京:科学技术出版社,2006.
[2] [] 约翰·沃肯巴赫(John Wakenbach). Excel 2002公式与函数应用宝典[M]. 路晓村,. 北京:电子工业出版社,2002:131 - 136.