MM1排队系统仿真matlab实验资料报告材料_第1页
MM1排队系统仿真matlab实验资料报告材料_第2页
MM1排队系统仿真matlab实验资料报告材料_第3页
MM1排队系统仿真matlab实验资料报告材料_第4页
MM1排队系统仿真matlab实验资料报告材料_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、M/M/1排队系统实验报告一、实验目的本次实验要现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实 现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。二、实验原理根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模 式、服务模式、服务员数量以及服务规则等因素决定的。1、顾客到达模式设到达过程是一个参数为的Poisson过程,则长度为t的时间到达k个呼叫的概率 服从Poisson分布,即Pk(t)(t)k t k! e k 0,1,2,,其中 0为一常数,表示了平均到达率或 Poisso n呼叫流的强度。2、服务模式设每个呼叫的持续时间为

2、,服从参数为的负指数分布,即其分布函数为PX t 1 e t,t 03、服务规则先进先服务的规则(FIFO4、理论分析结果Q -在该M/M/1系统中,设,则稳态时的平均等待队长为1 ,顾客T 的平均等待时间为。三、实验容M/M/ 1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO(先入先出队列)方式服务。四、采用的语言MatLab语言源代码:clear;clc;%M/M/1排队系统仿真SimTotal=input( 请输入仿真顾客总数 SimTotal=); % 仿真顾客总数;Lambda=0.4; % 到达率 Lambda;Mu=

3、0.9; % 服务率 Mu;t_Arrive=zeros(1,SimTotal);t_Leave=zeros(1,SimTotal);ArriveNum=zeros(1,SimTotal);LeaveNum=zeros(1,SimTotal);Interval_Arrive=-log(rand(1,SimTotal)/Lambda;% 到达时间间隔Interval_Serve=-log(rand(1,SimTotal)/Mu;% 服务时间 t_Arrive(1)=Interval_Arrive(1);% 顾客到达时间ArriveNum(1)=1;for i=2:SimTotalt_Arrive

4、(i)=t_Arrive(i-1)+Interval_Arrive(i);ArriveNum(i)=i;endt_Leave(1)=t_Arrive(1)+Interval_Serve(1);% 顾客离开时间LeaveNum(1)=1;for i=2:SimTotalif t_Leave(i-1)t_Arrive(i)t_Leave(i)=t_Arrive(i)+Interval_Serve(i);elset_Leave(i)=t_Leave(i-1)+Interval_Serve(i);endLeaveNum(i)=i;endt_Wait=t_Leave-t_Arrive; %各顾客在系统中

5、的等待时间t_Wait_avg=mean(t_Wait);t_Queue=t_Wait-Interval_Serve;% 各顾客在系统中的排队时间 t_Queue_avg=mean(t_Queue);Timepoint=t_Arrive,t_Leave;% 系统中顾客数随时间的变化Timepoint=sort(Timepoint);ArriveFlag=zeros(size(Timepoint);% 到达时间标志CusNum=zeros(size(Timepoint);temp=2;CusNum(1)=1;for i=2:length(Timepoint)if (temp=2QueLength

6、(i)=CusNum(i)-1;elseQueLength(i)=0;endend系统平均等待队QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end);% 长%仿真图figure(1); set(1,position,0,0,1000,700);subplot(2,2,1);title( 各顾客到达时间和离去时间 ); stairs(0 ArriveNum,0 t_Arrive,b);hold on;stairs(0 LeaveNum,0 t_Leave,y); legend( 到达时间 , 离去时间 ); hold of

7、f;subplot(2,2,2); stairs(Timepoint,CusNum,b) title( 系统等待队长分布 );xlabel( 时间 );ylabel( 队长 );subplot(2,2,3);title( 各顾客在系统中的排队时间和等待时间 ); stairs(0 ArriveNum,0 t_Queue,b);hold on;stairs(0 LeaveNum,0 t_Wait,y);hold off; legend( 排队时间 , 等待时间 );%仿真值与理论值比较disp( 理论平均等待时间 t_Wait_avg=,num2str(1/(Mu-Lambda);disp( 理

8、论平均排队时间 t_Wait_avg=,num2str(Lambda/(Mu*(Mu-Lambda); disp( 理论系统中平均顾客数 =,num2str(Lambda/(Mu-Lambda);disp( 理论系统中平均等待队长 =,num2str(Lambda*Lambda/(Mu*(Mu-Lambda);disp( 仿真平均等待时间 t_Wait_avg=,num2str(t_Wait_avg)disp( 仿真平均排队时间 t_Queue_avg=,num2str(t_Queue_avg) disp( 仿真系统中平均顾客数 =,num2str(CusNum_avg);disp( 仿真系统

9、中平均等待队长 =,num2str(QueLength_avg);五、数据结构1. 仿真设计算法(主要函数)利用负指数分布与泊松过程的关系, 产生符合泊松过程的顾客流, 产生符合负指数分布的随机变量作为每个顾客的服务时间:Interval_Arrive=-log(rand(1,SimTotal)/Lambda; %到 达 时 间 间 隔 , 结 果 与 调 用exprnd(1/Lambda, m)函数产生的结果相同In terval_Serve=-log(ra nd(1,SimTotal)/Mu; %服务时间间隔t_Arrive(1)=Interval_Arrive(1); %顾客到达时间时间

10、计算t_Wait=t_Leave-t_Arrive; %各顾客在系统中的等待时间t_Queue=t_Wait-Interval_Serve; %各顾客在系统中的排队时间由事件来触发仿真时钟的不断推进。 每发生一次事件, 记录下两次事件间隔的时间以及在该时间段排队的人数:Timepoint=t_Arrive,t_Leave; %系统中顾客数变化CusNum=zeros(size(Timepoint);CusNum_avg=sum(CusNum_fromStart.*Time_interval 0 )/Timepoint(end); %系统中平均顾客数计算QueLength_avg=sum(0 Q

11、ueLength.*Time_interval 0 )/Timepoint(end); %系统平 均等待队长2. 算法的流程图六、仿真结果分析顾客的平均等待时间与顾客的平均等待队长,计算其方差如下:仿真顾客总数=10000012345平均值方差平均等待时间2.0231.99711.99451.99612.00432.0030.000556360平均排队时间0.911470.88650.882930.884040.894950.891980.000563657平均顾客数0.81010.798460.793340.799580.804330.801160.000160911平均等待队长0.3650

12、.354440.35120.354120.359150.356780.000116873678910理论值平均等待时间1.97382.00541.99111.99091.99272平均排队时间0.866120.890680.88320.875270.885030.88889中平均顾客数0.785450.80370.797970.791660.800240.8平均等待队长0.344650.356950.353950.348040.355420.35556仿真顾客总数=100000012345平均值方差平均等待时间2.00291.99751.99432.00192.01152.001620.000

13、169888平均排队时间0.892090.886240.884940.8910.898730.89060.000119522平均顾客数0.801570.799550.797630.800130.805310.800840.000032986 1平均等待队长0.357020.354740.353940.356120.359820.356330.000020940 678910理论值平均等待时间1.99911.99081.99652.00161.9962平均排队时间0.886230.881110.88490.889870.886520.88889平均顾客数0.798240.796210.79865

14、0.799430.797550.8平均等待队长0.353870.352390.353990.355410.354240.35556从上表可以看出,通过这种模型和方法仿真的结果和理论值十分接近,增加 仿真顾客数时,可以得到更理想的结果。但由于变量定义的限制,在仿真时顾客 总数超过1,500,000时会溢出。证明使此静态仿真的思想对排队系统进行仿真是 切实可行的。实验结果截图如下(SimTotaI分别为100、1000、10000、100000):file dit View |nHl XdqK teikfiE-p WirdciA Help J 5 H a k一刖込时闾 立去时间003 皿EWD 0

15、C 1Q0M卞船:耳清U六奇?5寸I可Coinmard Window请输人価算顾客总JfcSimlot al= 10000 理论平均尊待时闫:-加比斷沪2理沦平均排臥时|Bt_lai-t_a7g=3. E8889 理论系缢中孚均顾喜数=0飞 理论系统中孚坤等ffPX =0.35550均等待时间:沪1585 仿真平均排臥时|Bt _Queu*_ avs= 0.9531 仿臺系绣中孚均顾客数=0.73524 箭専系绩中平均等待IU-K=O. 34204I -L- r.n.m .| r i.x_2MD跡如&叱04000 1帅闻(仿真顾客总数为100000和1000000时,其图像与10000的区别很

16、小)Command Window匚cmm-and Windo-请输入仿頁顾客总数SimTot al=1000 00 理论平均等待时间t_wait_avg=2理论平均持 PA 时 Hlt.Wait _avg=0.63B89 理论累统中平均除喜埶二0.E理论系铳中平均等待疏长胡.35556仿翼平均等待时|St_WaLt_avg-2. 0S27 仿専平均脚EPA时同t-Queum.avg=0 39572 仿臺豕顋中平均ltft=O.E0 449仿真系铳中平均等待疏怅詢.5932fx : |语输入fiMl(SimTotal=10COOOC 理论年均等待时问J岭识刘沪2 理论邛均排队时闾tJTart_麵沪6SSS9 理论慈中平均顾客数汕.8理论系统中平均等待臥忙丸.3555S 仿真罕均等待时闾t_帕rt_砂沪 0027 舟真年均排弘时|a|t _Quene_arvg= 089088 肪臺系毓中平均顾客数=0.80114仿真系绩中平均等待队长=山35639 Al七、遇到的问题及解决方法1. 在算法设计阶段对计算平均队长时对应的时间段不够清楚,重新画出状态 转移图后,弓I入变量Timepoint用来返回按时间排序的到达和离开的时间点,从 而得到正确的时间间隔的CusNu

温馨提示

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

评论

0/150

提交评论