北邮通信网性能分析实验二MM1排队系统实验报告_第1页
北邮通信网性能分析实验二MM1排队系统实验报告_第2页
北邮通信网性能分析实验二MM1排队系统实验报告_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信网理论基础实验二:二次排队问题 M/M/1排队系统的级联一、实验目的M/M/1 是最简单的排队系统,其假设到达过程是一个参数为的Poisson过程,服务时间是参数为的负指数分布,只有一个服务窗口,等待的位置有无穷多个,排队的方式是 FIFO。M/M/1排队系统的稳态分布、平均队列长度,等待时间的分布以及平均等待时间,可通过泊松过程、负指数分布、生灭过程以及Little公式等进行理论上的分析与求解。本次实验的目标有两个:? 实现M/M/1 单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。? 仿真两个M/M/1

2、 级联所组成的排队网络,统计各个队列的平均队列长度与平均系 统时间等值,验证 Kle in rock 有关数据包在从一个交换机出来后,进入下一个交 换机时,随机按负指数分布取一个新的长度的假设的合理性。二、实验原理1、M /M/1 排队系统根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。设到达过程是一个参数为的Poisson过程,则长度为t的时间到达k个呼叫的概率k 0,1,2,,其中 0为一常数,表示了平均到达率或Poisson呼叫流的强度。设每个呼叫的持续时间为i,服从参数为 的负指数分布,即其分布函数为PX t0.服务规

3、则采用先进先服务的规则(FIFO )。在该M/M/1系统中,设则稳态时的平均队长为E N1 ,顾客的平均Pk(t)Pk (t)服从Poisson分布,即T等待时间为2、二次排队网络由两个M/M/1 排队系统所组成的级联网络,顾客以参数为的泊松过程到达第一个排队系统A,服务时间为参数为 1的负指数分布;从A出来后直接进入第二个排队系统B,B的服务时间为参数为2的负指数分布,且与 A的服务时间相互独立。在该级联网络中,如稳态存在,即1且2,则两个排队系统相互独立,顾客穿过网络的总时延为各个排队系统的时延之和,即如将该模型应用于数据包穿越网络的平均时延的计算,假设数据包的包长服从负指数分布,平均包长

4、为b ;排队系统A的信道速率为C1,B的信道速率为C2。为保证两次排队的独立性,Kle inrock假设数据包在从一个交换机出来后,进入下一个交换机时,随机按负指数分布取一个新的长度。三、实验容1、仿真时序图示例系统服务时间也服从负指数分本实验中的排队系统为当顾客到达分布服从负指数分布,bbi为第i布,单服务台系统,单队排队,按FIFO方式服务为 M/M/1 排队系统。理论上,我们定义服务员结束一次服务或者有顾客到达系统均为一次事件。个任何一类事件发生的时间,其时序关系如下图所示。bi第i个任何一类事件发生的时间ti第i个顾客到达类事件发生的时间ci第i个顾客离开类事件发生的时间Ai为第i-1

5、个与第i个顾客到达时间间隔Di第i个顾客排队等待的时间长度Si第i个顾客服务的时间长度顾客平均等待队长 Q(n)及平均排队等待时间d(n)的定义为Q(n) Q(n)T Q(t)dtT 0其中,R为在时间区间bl,bi上排队人数qi乘以该区间长度(bi bi1)Di为第i个顾客排队等待时间。d(n) D(n)Di2、仿真设计算法(1)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流。(2)对每个排队系统,分别构建一个顾客到达队列和一个顾客等待队列。 顾客到达后, 首先进入到达队列的队尾排队, 并检测是否有顾客等待以及是否有服务台空闲, 如果无人等 待并且有服务员空闲则进入服务状态,否则顾

6、客将进入等待队列的队尾等待。(3)产生符合负指数分布的随机变量作为每个顾客的服务时间。(4)当服务员结束一次服务后,就取出等待队列中位于队头的顾客进入服务状态,如 果等待队列为空则服务台空闲等待下一位顾客的到来。(5)顾客结束A系统的服务后,立即进入 B系统排队等待服务。(6)由事件来触发仿真时钟的不断推进。每发生一次事件,记录下两次事件间隔的时 间以及在该时间段排队的人数。(7 )在排队网络达到稳态时,计算顾客平均系统时间以及平均队长。3、仿真结果分析(1)分析仿真数据,统计顾客的平均系统时间与平均队长,计算其方差,分析与理论 计算结果的吻合程度,验证仿真程序的正确性。(2) 验证Klein

7、rock 假设的合理性。 假设包长不变,即二次排队不独立,统计平 均值与理论值的相近程度。4、仿真结果分析分析仿真数据,统计顾客的平均等待时间与顾客的平均等待队长,计算其方差,分析与理论计算结果的吻合程度,验证仿真程序的正确性。四、实验要求1. 两人一组,利用MATLAB实现排队网络的仿真模拟。2. 统计给定和条件下系统的平均队长和平均系统时间,与理论结果进行比 对。3. 统计单个系统的平均队长和平均系统时间随的变化曲线。五、仿真模拟和理论仿真结果的对比1. 仿真设计算法(主要函数)利用负指数分布与泊松过程的关系,产生符合泊松过程的顾客流,产生符合负指数分布的随机变量作为每个顾客的服务时间:A

8、rrivel nterval=-log(ra nd(1,SimNum)/Lambda;%到达时间间隔Servel nterval=-log(ra nd(1,SimNum)/Mu;%服务时间ArriveTime(1)=ArriveI nterval(1);%顾客到达时间时间计算SystemTime=LeaveTime-ArriveTime; %各顾客的系统时间WaitTime=SystemTime-Servel nterval;%各顾客的等待时间由事件来触发仿真时钟的不断推进。每发生一次事件,记录下两次事件间隔的时间以及在该时间段排队的人数:TimePoi nt=ArriveTime,Leave

9、Time;%系统中顾客数随时间的变化ArriveFlag=zeros(size(TimePoi nt);%到达时间标志CusNumAvg=sum(CusNumStart.* In tervalTime 0 )/TimePoi nt(e nd); %系统中平均顾客数SysCusNum=zeros(size(TimePoi nt);系统平均QueLe ngthAvg=sum(O QueLe ngth.*l ntervalTime 0 )/TimePoi nt(e nd);%等待队长ArriveTime每个顾客的到达时间LeaveTime每个顾客的离开时间ArriveI nterval顾客的到达时间

10、间隔ServeI nterval每个顾客的服务时间ArriveNum到达总人数SimNum仿真人数SystemTime每个人的系统时间SystemTimeAvg平均系统时间WaitTime排队等待时间WaitTimeAvg平均排队等待时间SysCusNum系统中的顾客人数In tervalTime事件间隔时间CusNumStart系统中的顾客数?CusNumAvg CusNum_avg 系统中的平均顾客数QueLe ngthAvg QueLe ngth_avg 平均等待队长2. 算法的流程图开始输入数据到达率lambda ,服务率Mu,仿真人数SimNum第i个顾客到来,计算第i个顾客的到达时

11、间,离去时间,标志位,i=i+1输岀结果 仿真图形和 仿真平均值 与理论平均值得比较3. 仿真结果分析计算其方差如设置Lambda=0.5 ,Mu=0.9 ,顾客的平均等待时间与顾客的平均等待队长, 下:仿真顾客总数100000/仿真次7数1234567平均系统时间2.49562.46752.51522.44652.53262.48772.4891平均等待时间1.38431.35531.40711.34221.42111.37711.3775平均顾客数1.2481.23591.26261.22411.26771.24331.2376平均等待队长0.692240.678850.706330.67

12、1540.711360.688250.684938910平均值方差理论值2.48992.50962.46132.48950.0006767912.51.37781.40031.35361.379630.0006231361.38891.24671.25891.22431.244910.0002262031.250.68990.702410.673270.6899080.0001839580.69444仿真顾客总数1000000/仿真次:数1234567平均系统时间2.49012.48922.50082.49862.50532.4942.5024平均等待时间1.37921.3771.38861.

13、38831.39291.38331.391平均顾客数1.2441.24551.251.24991.25261.24541.2494平均等待队长0.689010.689010.694070.694480.696410.690740.694528910平均值方差理论值2.51082.50232.49862.499210.000044972二 251.39951.39151.38851.387980.0000443041.38891.25511.25341.24961.249490.0000132971.250.69960.697020.694440.693930.0000119300.69444从

14、上表可以看出,通过这种模型和方法仿真的结果和理论值十分接近,增加仿真顾客数时, 可以得到更理想的结果。当仿真人数超过100000人时,仿真结果与理论结果已经十分接近。在误差允许的围,认为相符。实验结果截图如下(SimNum 分别为100、1000、10000、100000)100人仿真结果与理论结果对比轲= 金去旳勻刍匝盲在卒堆中的苗轩时间和茶垃时间Conmnand WindowrW输入仿頁顾舂总数5imNum= 100请输入列达率LjmbdxO.5请瑜A園务率IV! u二09理论平均累统时司S y&tennT meAvg=2.5理论平均等傅时闾WaitJlmAvg二1.3889理论物中 T5

15、BCusNumAvg=1.25理论累统申平均等待此长Qu eLeng thAvg=069444 仿毎平均亲婉时间S ystemT meAvg = 2.7083 仿真平沟臬轉时间WaitTimeAvg = 1.5199 怕真專统中平均顾容数Qu sNu mAvg = 14746) 仿貢系统电平均等待臥长QL的gth阳护082752 止1000人仿真结果与理论对比M,刮馆时巨122肃去时曰20004000 ECOD SK) 10000wsii吾iw富庄孚纯屯的尊侍时间和寒统时间Command Window:麺入佑真時忌魏帕N um二10C0wA?BfeLambda=Q.5Wifi=0.9理i2平均

16、累统时可SystemTi meAvg=2.5 理诒平均爭耐刖如tTimeA四“.J889 理 ieSi3t43i5?E*ftACu$NumAvg=1.25 理论珈中平均尊待臥氏QueL舸gthA旳二0-旳444 仿 BSy slemTi me Avg = 2.1616仿 JI 平 tWfWtfpJWairTimeAvg=1.094S 仿真索撓中平均额喜数CulIMu mAvg = 1.0918 仿厲巒中平 tWQu&LengthAvg=0.5S298 A 10000人仿真结果与理论结果对比xlO牟缓尊吗卩卡号后苔M善在宰址申的尋牛盯直佃冨览时间25*T待时冋 爵统时间1s 10厉吉豹Comma

17、nd Window啟入仿真顾春总数SimNum= lOGOD请辎入到达率占mbd*O.S爾入脈号率皿日3理论平均累境时间Sy stemTi mevg=2.5 理论平均等律时间WsitTi meAvg = 1.3889 理论蔡统中平均BSTC u&Nu mAvg=L25| 理论系筑中平均等待臥也QuELmgthA旳胡旳钢斗 労頁*均系统时间SystemlimeAvg=2.6271 仿真平均等待时iWaitTimeAvg =1.5121 仿貢系统中平均顾喜戴CusNumAvg = 13033 tSMMW#lfeQueLergthAvg= 0,75048 A 100000人仿真结果与理论对比剖达时冋

18、 冉去旳问从魂尊聲IA怅井厢2fifla 511 B225当M春莊芋覘中的等存幻叵佃石址时间干笛时闫 齐伽旬4H10厉吉豹Command WindowWffiAt5MSlmNum=lDOODO请輛人到达率Lambdd - 0.5帧入服务率Mu=0.9理论平均素统时何SytmTImeAvg=2.5 理论平 tjfEjWaitTimeAvg = 13889 理论系统中平均顾容戡CusNumA旳=1.25理论紊统中平均零缺长QuEZngthMg=0.694441HMSStWfSyst&mTimeAvg=2.4635| 仿真平均等待时iWaltTimeAvg=1.3551 1ft貫系统4均顾言数C u

19、訥u rn/Wg = 12占0 8 仿真施中平均 SG/iKQueLengthAvg =0.67707A 1000000人仿真结果与理论结果对比1101xiafl牟缓尊吗卩卡号后苔M善在宰址申的尋牛盯直佃冨览时间36T待时冋 爵统时间1 n s 10 厉吉豹用Command Window睛嗡入仍真敗容总数SimNum = 1000000诵臥到达率L a mbd日=0.5 就入竝率M 0.9理论平均累统时间5声也m Tim嵌粕=2.5 理论平均等待时间Wm itHmeAvg = 138S9 理ifiSS中平均顾容数OsN u mAvg=1.2 5 理论琢中平均等待取忻QiiELRFigthA也二

20、069444 仿真平均 301 |SysteinnTimeAvg=2.5 CS3 仿真平均等桔时间W臼itTimeAvg=1.395 仿真爲统中平均顾客数5釈u nnAvg=1.2 548 伪真物中平均 MKQueLengthAvg = 0.69842 A aa I4. 实验源代码语言:matlab代码:clear;clc;%M/M/1排队系统仿真SimNum=input(请输入仿真顾客总数 SimNum= ); %仿真顾客总数; Lambda=input(请输入到达率 Lambda= ); %到达率 LambdaMu=input(请输入服务率 Mu= );%到达率MuArriveTime=z

21、eros(1,SimNum);LeaveTime=zeros(1,SimNum);ArriveNum=zeros(1,SimNum);LeaveNum=zeros(1,SimNum);Arrivelnterval=-log(rand(1,SimNum)/Lambda;% 到达时间间隔Servelnterval=-log(rand(1,SimNum)/Mu;%服务时间ArriveTime(1)=ArriveInterval(1);% 顾客到达时间ArriveNum(1)=1;for i=2:SimNumArriveTime(i)=ArriveTime(i-1)+ArriveInterval(i)

22、;ArriveNum(i)=i;endLeaveTime(1)=ArriveTime(1)+ServeInterval(1);% 顾客离开时间LeaveNum(1)=1;for i=2:SimNumif LeaveTime(i-1)ArriveTime(i) LeaveTime(i)=ArriveTime(i)+ServeInterval(i);elseLeaveTime(i)=LeaveTime(i-1)+ServeInterval(i);endLeaveNum(i)=i;%各顾客的系统时间%各顾客的等待时间endSystemTime=LeaveTime-ArriveTime; System

23、TimeAvg=mean(SystemTime); WaitTime=SystemTime-ServeInterval; WaitTimeAvg=mean(WaitTime);TimePoint=ArriveTime ,L eaveTime;%系统中顾客数随时间的变化TimePoint=sort(TimePoint);ArriveFlag=zeros(size(TimePoint);% 至 U达时间标志SysCusNum=zeros(size(TimePoint);temp=2;SysCusNum(1)=1;for i=2:length(TimePoint)if (temp=2QueLengt

24、h(i)=SysCusNum(i)-1;elseQueLength(i)=0;endendQueLengthAvg=sum(0 QueLength.*IntervalTime 0 )/TimePoint(end);%仿真图figure(1);set(1, position ,0,0,1000,700, Color ,1 1 1);subplot(2,2,1);% title(各顾客到达时间和离去时间);stairs(0 ArriveNum,0 ArriveTime,r);hold on ;stairs(0 LeaveNum,0 LeaveTime,g);legend(到达时间,离去时间);ho

25、ld off;title(各顾客到达时间和离去时间);xlabel(顾客数);ylabel(时间);subplot(2,2,2);stairs(TimePoint,SysCusNum,r)title(系统等待队长分布);xlabel(时间);ylabel(队长);subplot(2,2,3);stairs(0 ArriveNum,O WaitTime, r);hold on ;stairs(0 LeaveNum,0 SystemTime, g);hold off;title(各顾客在系统中的等待时间和系统时间);legend(等待时间,系统时间);xlabel(顾客数);ylabel(时间);

26、%仿真值与理论值比较disp(理论平均系统时间 SystemTimeAvg= ,num2str(1/(Mu-Lambda);disp(理论平均等待时间 WaitTimeAvg= ,num2str(Lambda/(Mu*(Mu-Lambda);disp(理论系统中平均顾客数 CusNumAvg= ,num2str(Lambda/(Mu-Lambda);disp(理论系统中平均等待队长 QueLengthAvg= ,num2str(Lambda*Lambda/(Mu*(Mu-Lambda);disp(仿真平均系统时间 SystemTimeAvg= ,num2str(SystemTimeAvg)di

27、sp(仿真平均等待时间 WaitTimeAvg= ,num2str(WaitTimeAvg)disp(仿真系统中平均顾客数 CusNumAvg= ,num2str(CusNumAvg);disp(仿真系统中平均等待队长 QueLengthAvg= ,num2str(QueLengthAvg);六、单个系统的平均队长和平均系统时间随卩的变化曲线1. 实现原理默认仿真人数为100000人,为0.5,故只需要入变化就可以使得入/ 都变化。主函数调用 功能函数的平均队长和平均系统时间的结果进行绘图。此实验中,入去0.10.8,故入/卩取值围是 0.21.6。2. 仿真算法主函数:Mu=0.5;Lamb

28、da=0.1:0.001:0.8;x=2.*Lambda;QueLengthAvg=zeros(size(Lambda);SystemTimeAvg=zeros(size(Lambda);for i=1:700QueLengthAvg(i),SystemTimeAvg(i)=LengthTime(Lambda(i);end%仿真图figure(1);set(1, position ,0,0,1000,700, Color ,1 1 1);subplot(1,2,1);stairs(x,QueLengthAvg, b)title(平均队长分队和入/卩的图像);xlabel( ” Q);ylabel(平均队长);subplot(1,2,2);stairs(x,SystemTimeAvg, y)title(平均系统时间随入/卩的分布);xlabel( ” Q);ylabel(平均系统时间);功能函数:function QueLengthAvg ,SystemTimeAvg=LengthTime(Lambda)%Mu默认为0.5%输入Lambda返回平均队长和平均系统时间%lambda/Mu 就是 2*lambdaSimNum=100000;Mu=0.5;ArriveTime=zeros(1,SimNum);LeaveTime=zeros(1,SimNum);Arrive

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论