从食堂香锅排队现象看排队论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从食堂香锅排队现象看排队论
尹凯凯2012011109
(清华大学电子工程系无37班)
【摘要】
在现实生活中,为了接受某种服务,排队等待是常见的现象,排队问题总是出现在各种各样的场合中,如车站排队买票、剧院排队入场等。
本文基于现实问题——食堂香锅排队问题,以此结合泊松分布及排队论等相关知识完成研究,并通过matlab仿真比较不同排队方式的效率高低。
【关键词】
排队论 M/M/c M/M/1 泊松分布
1.排队论
1.1背景介绍
排队论是研究排队现象的理论和应用的学科,是专门研究由于随机因素影响而产生的拥挤现象的科学。
20世纪初丹麦数学家、电气工程师爱尔朗把概率论应用于电话通话问题,从而开创了这门应用数学科学。
20世纪30年代中期,费勒引进了生灭过程,排队论才被数学界承认为一门重要的学科。
20世纪40年代排对论在运筹学这个新领域中成了一个重要的部分。
20世纪50年代初肯德尔对排对论作了系统的研究,他用马尔科夫链方法研究排队论,使排队论得到进一步发展。
20世纪60年代起排队论研究的课题日趋复杂,很多问题很难求得精确解,因此开始了近似方法的研究。
排队论应用范围很广,它适用于一切服务系统。
尤其在通信系统、交通系统、计算机存储系统和生产管理系统等方面应用的最多。
排队是日常生活和工作中常见的现象。
例如等公共汽车排队,到商店购物排队,交款排队,到医院看病等待排队,买火车票排队,托运行李排队,取货排队, 这是人的排队。
还有另一种排队,例如文件等待打印或发送,报告等首长批示,路口红红灯下的汽车、自行车等待通过路口,这是物或设备排队。
总之,凡是具有公共服务性质的事业和工作,凡是出现拥挤现象的领域,都是排队论的用武之地。
1.2排队系统描述
排队系统又称为随机服务系统,是研究服务过程和拥挤现象的随机模型。
排队系统的共同特征:
•请求服务的人或者物——顾客;
•有为顾客服务的人或者物,即服务员或服务台;
•顾客到达系统的时刻是随机的,为每一位顾客提供服务的时间是随机的,因而整个排队系统的状态也是随机的。
基本排队过程:
从上图可知,每个顾客由顾客源按一定方式到达服务系统,首先加入队列排队等待接受服务,然后服务台按一定规则从队列中选择顾客进行服务,获得服务的顾客立即离开。
1.3基本组成部分
典型排队系统模型
排队系统的三个基本组成部分:
输入过程 (顾客按照怎样的规律到达);
排队规则 (顾客按照一定规则排队等待服务);
服务机构 (服务机构的设置,服务台的数量,服务的方式,服务时间分布等)
1.3.1输入过程
指要求服务的顾客是按怎样的规律到达排队系统的过程,有时也把它称为顾客流。
一般可以从3个方面来描述—个输入过程。
(i) 顾客总体数。
又称顾客源、输入源。
这是指顾客的来源。
顾客源可以是有限的,也可以是无限的。
(ii) 顾客到达方式。
这是描述顾客是怎样来到系统的,是单个到达,还是成批到达。
(iii) 顾客流的概率分布。
或称相继顾客到达的时间间隔的分布。
这是求解排队系统有关运行指标问题时,首先需要确定的指标。
顾客流的概率分布一般有定长分布、二项分布、泊松流(最简单流)、爱尔朗分布等若干种。
顾客到达的方式通常是一个一个到达的,也可能是成批的。
顾客的到达总是有一定规律,即到达过程或到达时间间隔符合一定的分布,称到达分布。
顾客的到达或到达时间通常假定为相互独立的且遵从同一分布的随机变量。
而常见的分布规律为泊松到达,其服从泊松分布。
泊松分布(Poisson):
P{X = k} = λk e-λ/ k! k=0,1,2,…,μx = σx = λ泊松分布是最重要的离散型概率分布之一,也是表述随机现象的一种重要形式。
在实际系统模型中,一般都要假定任务(或顾客)的到来是泊松分布的。
实践也证明:这种假设有效。
如果顾客到达的人数是符合泊松分布,即在时间T内到达有k个顾客到达的概率为: p=(λT)k e-λT/ k! ,
在时间T内顾客到达的平均顾客数= λT,
平均到达速度(顾客数/秒)= λ服从泊松分布过程的到达被认为是随机到达,因为当顾客根据泊松过程到达时,顾客在各个时刻到达的可能性相同并与其它顾客的到达无关。
1.3.2排队规则
对于一个有限大小的队列来说,顾客可能从队列中丢失。
有什么样的服务协议就有什么样的与之对应的排队方式。
一般可以分为损失制、等待制和混合制等3大类。
(i)损失制指如果顾客到达排队系统时,所有服务台都被先到的顾客占用,那么他们就自动离开系统永不再来。
(ii)等待制指当顾客来到系统时,所有服务台都不空,顾客加入排队行列等待服务。
等待制中,服务台在选择顾客进行服务时常有如下四种规则:
a先到先服务按顾客到达的先后顺序对顾客进行服务。
b先到后服务
c随机服务即当服务台空闲时,不按照排队序列而随意指定某个顾客接受服务。
d优先权服务
(iii)混合制这是等待制与损失制相结合的一种服务规则,一般是指允许排队,但又不允许队列无限长下去。
具体说来,大致有三种:
a队长有限。
当排队等待服务的顾客人数超过规定数量时,后来的顾客就自动离去,另求服务,即系统的等待空间是有限的。
b等待时间有限。
即顾客在系统中的等待时间不超过某一给定的长度T,当等待时间超过T时,顾客将自动离去,并不再回来。
c逗留时间(等待时间与服务时间之和)有限。
1.3.3服务机构
(i)服务台数量及构成形式。
从数量上说,服务台有单服务台和多服务台之分。
从构成形式上看,服务台有:①单队一---单服务台式;②单队一---多服务台并联式;③多队一---多服务台并联式;④单队一---多服务台串联式;⑤单队一---多服务台并串联混合式,以及多队多服务台并串联混合式等等。
(ii)服务方式:这是指在某一时刻接受服务的顾客数,它有单个服务和成批服务两种。
(iii)服务时间的分布:在多数情况下,对每一个顾客的服务时间是一随机变量。
一般服务台对顾客是一个一个进行服务的,且对每一个顾客的服务时间长短不一。
将服务时间看作随机变量,那么它们是相互独立的且遵循同一分布。
因此描述服务规律时,采用服务时间的概率分布,即服务分布。
服务分布同到达分布一样,到底属于哪一种概率分布,要根据具体排队问题进行分析。
1.4排队系统的主要数量指标
-----平均队长,即稳态系统任一时刻的所有顾客数的期望值;
——平均等待队长,即稳态系统任一时刻等待服务的顾客数的期望值;
W——平均逗留时间,即(在任意时刻)进入稳态系统的顾客逗留时间的期望值;
——平均等待时间,即(在任意时刻)进入稳态系统的顾客等待时间的期望值。
s ——系统中并联服务台的数目;
λ——平均到达率;
——平均到达间隔;
μ——平均服务率;
——平均服务时间;
N ——稳态系统任一时刻的状态(即系统中所有顾客数);
U ——任一顾客在稳态系统中的逗留时间;
Q ——任一顾客在稳态系统中的等待时间;
:稳态系统任意时刻状态为n的概率;特别当n=0时(系统中顾客数
为0),即稳态系统所有服务台全部空闲的概率;
ρ——服务强度,即每个服务台单位时间内的平均服务时间,一般有,
这是衡量排队系统繁忙程度的重要尺度。
1.5两类排队论模型
1.5.1 M/M/c 排队模型
M/M/c 排队模型是指c 个服务员的排队系统,顾客到来间隔时间服从参数为λ的指数分布,服务时间服从参数为μ的负指数分布,且有隐含假定:
• 顾客到来间隔时间是独立同分布的;
• 服务时间也是独立同分布的;
• 并且独立于输入过程; • 排队规则是等待制;
该队列是一个生灭过程模型,其生灭速率为:
λk = λ, k=0,1,2, …
μk = cμ k ≧ c
基本构成
(i) 顾客到达规律
表示在时间到达的顾客数,称为排队系统的输入过程。
它服从参数为 的泊松分布,即:
()(()),0,1,2!k λt λt P X t k e k k -=== 其平均值为,即单位时间内到达的顾客数为,并称为平均到达率。
表示顾客到达间隔时间序列,其中表示第n 个顾客的到来时
刻。
可以证明:服从参数为的泊松分布的充要条件是到达间隔时间序列{}独立同分布且服从负指数分布。
(ii) 服务时间
记Z 为服务时间,Z 服从参数为μ的负指数分布:
01()00μt
t e P Z t t -⎧≥-≤=⎨≤⎩
则,即为每个顾客平均服务时间为,从而单位时间内被服务的顾客的平均数为μ,称为平均服务率 。
(iii) 排队规则
按顾客的到达的先后顺序服务,即先到先服务。
满足以上三个条件的模型在排队论中记
μ μ C 个服务泊松流
为模型M/M/c 模型,其中
c 为服务员的个数。
M/M/c 模型系统运行指标
系统的服务强度ρ,所有服务台是空的概率, 所有服务台都在忙的概率 ,,平均等待顾客数量,
系统中平均顾客数量L
,平均系统逗留时间W, 平均排队等候时间,分别为:
1
1000()(),!!(1)()!(1),111,n c c n c
q q c c P c n c c P P c P P L L c L W W W λρρρμρρρρρρρρ
λμ--=∞∞∞⎧⎫⎡⎤⎡⎤==+⎨⎬⎢⎥⎢⎥-⎣⎦⎣⎦⎩⎭=-==+--==-∑
等价地:系统中的平均顾客数量
其中,平均等待顾客数量
令随机变量M 表示“忙”服务台的数量,
所以,任意一个服务台的利用率
在多服务台系统中的Little 公式:
1.5.2 M/M/1排队模型
顾客按照速率为λ的泊松过程到达,顾客的服务时间是独立同分布的随机变量,通常分布设为均值为1/μ的指数分布。
假设顾客按照到达的顺序接受服务,即FCFS 服务。
例如,如果“顾客”表示到达计算机系统的作业任务,那么“服务台” 代表计算机系统。
M/M/1 系统运行指标
系统中平均顾客数:
, 顾客在系统中平均等待时间:
顾客在队列中平均等待时间:
μ
泊松到
平均速率
队列中平均顾客数:= /( 1-ρ) (其中ρ = λ /,称为服务强度)
在单服务台系统中的little公式:ρ = λ /, L=+ ρ
通用的little公式:
=λ L== W=+ 1/
2.问题介绍
对买香锅的同学计数服从参数为λ的泊松分布,每人只许买一份,买完就走。
并行做香锅的厨师有r个,每位厨师任何时刻只能做一份香锅,不同厨师做菜时间长度独立,且都服从参数为μ的负指数分布。
食堂给厨师薪水按“小时工”计算,每个单位时间酬劳x元。
同学到达窗口与厨师做菜两个事件相互独立。
从两个不同的角度考虑问题:
• 从同学角度:希望并行厨师越多越好,节省时间。
• 从食堂角度:希望控制厨师数量,考虑成本。
于是提出以下两种不同的排队方式:
A:M/M/r排成一个大队列。
只要有某位厨师空闲,他就给排在队列中的第一位同学做麻辣烫。
新到达的同学排到队尾,直到排在他前面的所有同学都买到麻辣烫之后,他才有资格买。
按照这种方式,当r个厨师都忙碌时,同学们按照先到先得的原则在排一个大队列。
B:M/M/1自选排成多个队列。
每个厨师前面各排一个队列,厨师只给他负责的队列中的同学做麻辣烫。
新到达的同学自行选择排哪一个队列。
按照这种方式,当r个厨师都忙碌时,同学们排成了r个队列。
下文就选择哪一种排队方式更节省时间展开分析讨论并利用matlab进行仿真。
3.数学模型及算法
对于A 排队方式
假设:顾客的到来遵循参数为λ的泊松过程,即任意两个顾客到来的时间间隔遵循参数为λ的负指数分布;顾客在食堂中排成一路纵队,后到的顾客自动排到队尾;一共r个服务窗,每个服务窗口服务一次的时间遵循参数为μ的负指数分布,各个服务窗口之间是相互独立的,且服务窗口与顾客的到来之间也是相互独立的。
而每一个顾客到来后,关心的是在队伍中的等待时间的长短,因此最后我们要求队伍中的等待时间。
理论推导:
A 排队方式在稳态时符合M/M/r 模型,由上述推导公式可以得出,顾客的平均等待时间为
Matlab算法:
设模拟的总人数为N,服务窗口数为R,首先利用一个4*N 的矩阵来记录每个人的信息。
其中第一行表示到达时刻,第二行表示服务时间长度,第三行表示等待时间长度,第四行表示离开时刻。
其中到达时刻和服务时间长度可由已知的λ和μ求得。
我们易知离开的时刻=到达的时刻+服务时间长度+等待时间长度。
用长度为R 的server_state 表示每个窗口的接受服务的人的离开时刻。
前R 个人到达后不需要等待,故等待时间为零。
从第R+1 个人开始,先由server_state 求出R 个窗口中的最早结束服务的窗口,如果结束服务的时刻小于顾客
到来的时刻,则该顾客的等待时间为零;如果结束服务的时刻大于顾客到来的时刻,则二者之差为该顾客的等待时间。
同时更新该窗口的接受服务的人的离开时刻。
在求出所有顾客的等待时间后,对其求平均值即得到最后要求的平均等待时间。
对于B 排队方式
假设一:顾客的到来遵循参数为λ的泊松过程,即任意两个顾客到来的时间间隔遵循参数为λ的负指数分布;顾客在食堂排成r路纵队,每位顾客到来后,随机等概地选择一个队伍并排在该队队尾;一共有r 个服务窗口,每个窗口服务一次的时间遵循参数为μ的负指数分布,每个服务窗口只为其对应的队列服务,各服务窗口之间是相互独立的,且服务窗口与顾客的到来之间也是相互独立的。
而每一个顾客到来后,关心的是在队伍中的等待时间的长短,因此最后我们要求队伍中的等待时间。
理论推导:
由分类泊松过程的相关知识可知,顾客的到来服从参数为的泊松分布,其概率母函数求得为,而每个人以等概1/r的概率选择r 个队伍中的一个,因此任意一个队伍的人数计数也是一个泊松过程,因为其概率母函数为
即每个队伍的人的到达情况服从参数为的泊松过程,其符合M/M/1 模型,但是顾客的等效到来率为,所以顾客的平均等待时间为
Matlab算法:
由于我们在理论上已经推出其等效于顾客到达速率为的单队列单服务窗口的模型,所以其算法与A 排队方式的一致,只需要将服务窗口数改为1,将客的到达速率改为
即可。
假设二:顾客的到来遵循参数为λ的泊松过程,即任意两个顾客到来的时间间隔遵循参数为λ的负指数分布;顾客在食堂排成r 路纵队,每位顾客到来后,选择最短的一个队伍并排在该队队尾;一共有r 个服务窗口,每个窗口服务一次的时间遵循参数为μ的负指数分布,每个服务窗口只为其对应的队列服务,各服务窗口之间是相互独立的,且服务窗口与顾客的到来之间也是相互独立的。
而每一个顾客到来后,关心的是在队伍中的等待时间的长短,因此最后我们要求队伍中的等待时间。
Matlab算法:
设模拟的总人数为N,服务窗口数为R,首先利用一个4*N 的矩阵来记录每个人的信息。
其中第一行表示到达时刻,第二行表示服务时间长度,第三行表示等待时间长度,第四行表示离开时刻。
其中到达时刻和服务长度可由易知的求得。
我们易知离开的时刻=到达的时刻+服务时间长度+等待时间长度。
用一个2*R 的矩阵表示R 个服务窗口的状态。
其中第一行表示每个服务窗口前得队伍的最后一个人的离开时刻,第二行表示每个服务窗口前得队伍长度。
用server_lea来保存每个窗口前得每支队伍中的每一个人的离开时间。
首先初始化以上各个参数。
对于到来的第k 个人,首先根据其到来时刻与server_lea 中的值进行比较以更新每个窗口的队伍的长度。
然后找到最短的队伍。
如果该队伍长度为零,表示队空,等待时间为零;否则,用server 中保存的离开时刻与顾客的到来时刻做差即为等待时间。
同
时,队伍的长度增一,并且把该顾客的离开时间存入server_lea 中。
如此求出所有顾客的等待时间,求其均值即为最后的平均等待时间。
4.结果
4.1理论结果
分别以参数λ、μ为自变量,画出两个平均等待时间如下图
从上图我们可以看出,A 排队方式的平均等待时间明显比1 B 排队方式所用的时间短。
而且,λ/μ越大,A 排队方式的优势越明显
4。
2仿真结果
对于A、、三种排队方式,利用matlab 仿真,设置样本数(顾客人数)为1000,
分别
以参数λ、μ为自变量,画出三个平均等待时间如下图
从上图看出,排队方式的平均等待时间最长,而A 排队方式和排队方式的平均等待时间相差不大,但A 排队方式的平均等待时间比排队方式的时间稍短。
而且,
λ/ μ 越大,A 排队方式和排队方式的优势越明显。
5.结论与思考
从仿真的结果来看:A 排队方式比排队方式的平均等待时间短,且λ/ μ越大,
A 排队方式的优势越明显。
A排队方式和排队方式的平均等待时间相差不大,但A排
队方式的平均等待时间比排队方式的时间稍短。
因此得出以下结论:
1、如果B排队方式中,学生随机等概地从r个队列中选择一个的话,A排队方式的平均等待时间比B排队方式短。
学生应该选则A 排队方式。
2、如果B排队方式中,学生不是随机等概地从r个队列中选择一个而是选择最短的队伍的话,A排队方式和B排队方式的平均等待时间相差不大,但A排队方式的平均等待时间稍短。
学生可以选择A排队方式。
6.参考文献
《随机过程及其应用》陆大金清华大学出版社
7.附录
main.m-------------------------------主函数
MMR.m--------------------------------排队方式A/
MMR2.m-------------------------------排队方式
wtime.m-------------------------------排队方式A理论平均等待时间
wtime2.m------------------------------排队方式理论平均等待时间
jiecheng.m----------------------------阶乘计算函数。