队列的应用 之 M/D/1队列
说明:参考内容 :http://introcs.cs.princeton.edu/java/43stack/ 很有幸结识排队行业,由于工作的原因,平时会多多关注排队,关注排队对列的问题。今天就跟大家分享我所结识的队列。 在过去的一个世纪中,已经证明在各种各样的广泛的应用中FIFO是准确并有用的模型,应用的范围从制造业程序到电话网络,到交易模拟。
说明:参考内容 :http://introcs.cs.princeton.edu/java/43stack/
很有幸结识排队行业,由于工作的原因,平时会多多关注排队,关注排队对列的问题。今天就跟大家分享我所结识的队列。
在过去的一个世纪中,已经证明在各种各样的广泛的应用中FIFO是准确并有用的模型,应用的范围从制造业程序到电话网络,到交易模拟。称为排队论(quecing theory)的数学领域已经成功的帮助理解和控制所有这类复杂的系统。FIFO在计算中也扮演这一个重要的角色。当你使用计算机时,经常会遇到队列:队列可能是播放列表上的歌曲,正在等待打印的文档甚至是游戏机中的事件。
或许最终的队列应用是因特网本身,它是基于在数量庞大的队列中移动的大量的信息,这些队列具有各种不同的属性,并且他们以各种不同的复杂方式相连。理解并控制这样的复杂系统包括队列抽象,排队论数学成果的应用,还涉及两个模拟的研究。下面我们分析一个经典的实例体会这个与众不同的过程。
M/D/1 队列
一个最简单的队列模型成为M/D/1队列。
M表明到达服从Markov过程,在这个文本中,泊松过程到达服从特定的概率分布,此分布以准确表明了许多真实世界的模拟;
D表明离开是确定的并以固定的速度发生;
1表明只有一台服务器。
它是像单行汽车等待进行收费所这类情况的合适模拟:他们以随机的间隔时间到达,但是以固定的时间间隔离开。
M/D/1队列由它的到达率(arrival rate)λ和离开率(departure rate)μ参数化。
对于到达率λ,举个例子,每分钟到达收费所的汽车的数量;
对于离开率μ,举个例子,每分钟通过收费所的汽车数量;可通过3个属性对其进行描述:
· 这有一台服务器(FIFO队列)
· 到达使用λ的泊松过程来描述,到达来自指数分布
· 当队列非空时,以固定的速率μ离开
注意,队列将没有边界的增长,除非μ>λ。否则,顾客以蛮有兴趣的动态过程进入或留在队列中。也要注意到达之间的时间是1/λ分钟,当队列非空时,平均的离开之间的时间是1/μ分钟。
分析
在实际应用中,人们对参数值队列的不同属性的影响感兴趣。如果你是顾客,你可能想要知道你在队列中必须等待的时间;如果你设计系统,你可能想要知道在队列中可能有多少名顾客,有时候会更加复杂,例如有这种可能性,队列大小将超过了给定的最大值。为了简化模拟,概率论使用公式来表示这些量作为μ和λ的函数。对于M/D/1队列,我们知道:
· 平均队列长度L是(λ平方)/(2μ(μ-λ))+λ/μ。
· 平均等待时间W是λ/(2μ(μ-λ))+1/μ。
例如,如果汽车以每分钟为10的平均率到达,而服务费率是每分钟15,那么在队列中汽车的平均数将是4/3,而平均等待时间将是2/15Min或8S。这些公式证实当λ逼近μ时,等待时间和队列增长没有边界。它们也服从为利特尔定律(little' law)的通用规则:对于许多队列类型,平均队列长度类型,平均队列长度是λ乘以平均等待时间(L=λW)。
时间原因,先写这些,有关模拟的部分稍后待续。。。
于2011年/6月/24日 01:32
更多推荐
所有评论(0)