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

本文介绍了一个基于事件模拟的M/D/1队列模型,用于验证数学结果。通过模拟顾客到达和服务,维护nextService和nextArrival变量。在不同λ和μ值下运行,发现服务率接近到达率时,平均等待时间和队列长度显著增加。模拟在实际应用中对于复杂情况的分析和系统设计参数调整具有重要意义。
摘要由CSDN通过智能技术生成
  模拟:

        MD1Queue 是 Queue 客户端 ,你可能使用它来验证这类数学结果。他是基于事件模拟的简单示例:我们产生的事件发生在特定时间,为了事件相应的调整我们的数据结构,模拟当事件出现时,发生了什么。在M/D/1队列中,有两类事件:不是有顾客到达,就是提供顾客服务,因此我们需要维护两个变量:


   · nextService 是下一个服务的时间
   · nextArrival   是下一个到达的时间

        为了模拟到达事件,在队列中插入double值,nextvalArrival是到达时间;为了模拟服务,中队列中删除值,计算等待时间(离开队列时间减去服务时间nextService是到达时间)并将等待时间数据点加到直方图上(直方图程序Histogram)。在多次试验之后,结果的形状是M/D/1排队系统的特性。从实用观点来看,这个过程中的一个最重要特征是,通过使用不同的λ和μ值运行MD1Queue,你会发现当服务率逼近到达率时,平均等待时间和队列长度可能剧增。当服务费率很高时,直方图有一个可见的尾部,此时随着等待时间的减少,顾客需要等待时间的频率减少到几乎可以忽略不计。但是,当服务费率逼近到达率时,直方图的尾部在最多值处伸展,因此至少能显示顾客最长等待时间频率。

view plaincopy to clipboardprint?
01./************************************************************************* 
02. *  Compilation:  javac MD1Queue.java 
03. *  Execution:    java MD1Queue lambda mu 
04. *  Dependencies: Queue.java 
05. * 
06. *  % java MD1Queue .167 .25 
07. * 
08. *  % java MD1Queue .167 .22 
09. *  
10. *************************************************************************/  
11.  
12.public class MD1Queue {   
13.  
14.    public static void main(String[] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值