剖析超市排队的仿真模型应用论文

时间:2022-12-10 11:05:00

剖析超市排队的仿真模型应用论文

论文关键词:动态模拟;蒙特卡洛模拟;排队论

论文内容摘要:综合考虑顾客等待成本和商场的成本效益,进而得出超市为满足一定服务水平应该开设的服务器个数。本文根据超市顾客到达的随机性和服务时间的随机性,用蒙特卡洛方法模拟不同的顾客到达和服务水平,在MATLAB/Simulink上对超市单队列多收银台的服务系统进行了动态模拟仿真,得到不同顾客到达率和不同服务水平下,顾客的排队等待时间,服务器的空闲率等要素。

在超市收银排队系统中,顾客希望排队等待的时间越短越好,这就需要服务机构设置较多的收银台,这样可以减少排队等待时间,但会增加商场的运营成本。而收银台过少,会使服务质量降低,甚至造成顾客流失。如何科学合理地设置收银台的数量,以降低成本和提高效益,是商场管理人员需要解决的一个重要问题。

蒙特卡洛方法简介

蒙特卡洛方法又称随机模拟方法,它以随机模拟和统计试验为手段,从符合某种概率分布的随机变量中,通过随机选择数字的方法,产生一组符合该随机变量概率分布特性的随机数值序列,作为输入变量序列进行特定的模拟试验、求解(杜比,2007)。在应用该方法时,要求产生的随机数序列应符合该随机变量特定的概率分布。应用该方法的基本步骤如下:

步骤1:建立概率模型,即将所研究的问题变为概率问题,构造一个符合其特点的概率模型;步骤2:产生一组符合该随机变量概率分布特性的随机数值序列;步骤3:以随机数值序列作为系统的抽样输入进行大量的数字模拟试验,以得到模拟试验值;步骤4:对模拟试验结果进行统计处理(如计算频率、均值等),进而对研究问题做出解释。

基于排队理论的仿真模型建立

(一)超市服务排队模型(M/M/C)

超市收款台服务是一个随机服务系统(唐应辉,2006),该系统具有如下特征:服务的对象是已经选购好商品的顾客,顾客源是无限的,顾客之间相互独立,顾客相继到达的时间间隔是随机的。系统有多个服务员且对每个顾客的服务时间是相互独立的。服务规则遵从先到后服务(FCFS)的原则。每个收款台前都有排队队列,顾客选择较短的队列排队等候,这样形成单队列多服务员(M/M/C)的排队系统。超市收银台顾客排队系统结构。

(二)产生随机数值序列

由于顾客到达间隔时间和顾客服务的时间服从负指数颁布的随机数。令这个负指数分布的随机数为x,负指数分布密度函数为:,其分布函数为:,F(x)的反函数为。设u为[0,1]区间上的独立、均匀分布的随机变量,则所求随机数为,进而简化得,这样得到负指数分布的随机数(吴飞,2006)。

针对商场顾客到达和服务水平的统计数据,据此可产生两个随机数列:顾客到达时间间隔a(i)和顾客服务时间st(i),以此数值序列进行动态输入仿真。

(三)模型变量设置

at(i):表示第i

个顾客到达时刻;

a(i):表示第i个顾客到达的时间间隔;

st(i):第i个顾客的服务时间;sst(i):

第i个顾客的开始服务时间;lea(i):第

i个顾客离开时间;ls(j):第j个队列中

最后一个顾客的离开时间;ls(m):每个

队列中最后一个顾客离开时间的最早值;

freet(j):第j个服务员的平均空闲时间;

w(i):第i个顾客进入系统后的排队等

待时间。

其中:at(i+1)=at(i)+a(i+1),

sst(i)=max(at(i),ls(m)),w(i)=

max(0,ls(m)-at(i)),ls(m)=min(lt(j))。

仿真系统模拟

(一)超市收银台服务仿真模拟

解决超市收银台顾客排队问题,关键是要测量常态下需要多少收银台才是适宜的。根据商场收银台服务统计数据,可以测算出超市收银员的服务率、顾客到达率,然后通过仿真方法测量出超市提供多少收银台才最适宜。基本步骤如下:

系统经过较长时间运行后达到平稳。

根据实际考察,一周之内,双休日及节假日的客流量剧增,而在一天之中顾客的到达也出现几个高峰期,所以,作如下改进:将一天分为四个时段(9:00-12:00,12:00-14:00,14:00-18:00,18:00-21:00),首先调查其中一个时段(以第三时段为例)周一至周五的工作状况,调查数据如表1所示。

根据统计数据得到了单位时间内到达的顾客数n和为每位顾客服务的时间t,然后利用χ2拟合检验(包科研、李娜,2008),得到单位时间的顾客到达数服从Possion分布,服务时间服从负指数分布。

根据资料统计得到单服务台服务强度为每小时49人,即μ=49,到达速率每小时277人,即λ=277。设定顾客平均等待时间小于5分钟,模拟次数1000次,模拟超市应设置多少收银台。同时,这里的μ和λ可以根据不同时段的实际情况变化,以模拟在不同到达速率和服务强度下的工作状态。公务员之家

(二)仿真程序设计

首先顾客按规定的到达模式产生到达,同时按规定的服务模式产生服务时间,然后判断是否有空闲的服务台。有,则直接接受服务而不需进入队列等待;否则,顾客将进入队列等待服务。顾客选择等待服务台队列时,以最早接受服务为标准,此前要计算各服务台进入空闲的时间。仿真钟采用事件调度法,以顾客到达为驱动。一个顾客进入系统后,按仿真方法和流程计算其服务时间与离开时间后,驱动下一个事件(下一个顾客的到达)的发生。

在仿真过程中还要对服务台利用率、队列长度、顾客等待时间等进行统计以达到仿真目的,如图2所示。

该模型(M/M/C)以第三时段为例,顾客随机性到达,到达模式服从泊松分布λ=277;服务时间也是随机的,服从指数分布,每小时服务人数为μ=49;纪录到2000名顾客时模拟终止,仿真采用基于事件(基于顾客)的方法。本文以MATLAB7.0/Simulink6.0仿真系统为工具进行动态模拟仿真(黄永安,2007),仿真次数1000次,结果取平均值。

参考文献:

1.杜比.蒙特卡洛方法在系统工程中的应用[M].西安交通大学出版社,2007

2.唐应辉.排队论[M].科学出版社,2006

3.吴飞.产生随机数的几种方法及应用[J].数值计算与计算机应用,2006.3

4.包科研,李娜.数理统计与MATLAB数据处理[M].东北大学出版社,2008