您的位置:首页 > 其它

队列的应用 之 M/D/1队列

2011-06-24 01:33 85 查看
说明:参考内容 :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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: