M/M/1排队系统实验报告一、实验目的本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。二、实验原理根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。1、顾客到达模式设到达过程是一个参数为九的Poisson过程,则长度为t的时间内到达k个呼叫的概p(t)=e~Xta_率服从Poisson分布,即kk!,k=0,1,2,,其中九>0为一常数,表示了平均到达率或Poisson呼叫流的强度。2、服务模式设每个呼叫的持续时间为Ti,服从参数为卩的负指数分布,即其分布函数为P{X03、服务规则先进先服务的规则FIFO4、理论分析结果P=—Q=—在该M/M/1系统中,设卩,则稳态时的平均等待队长为'1-P,顾客的平均等、、T=—P—待时间为卩-九。三、实验内容M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO(先入先出队列)方式服务。四、采用的语言MatLab语言源代码:clear;clc;%M/M/1排队系统仿真SimTotal=input('请输入仿真顾客总数SimTotal=');%仿真顾客总数;Lambda=0.4;%到达率Lambda;Mu=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(l,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(l,SimTotal))/Mu;%服务时间t_Arrive(l)=Interval_Arrive(l);%顾客到达时间ArriveNum(1)=1;fori=2:SimTotalt_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i);ArriveNum(i)=i;endt_Leave(1)=t_Arrive(l)+Interval_Serve(l);%顾客离开时间LeaveNum(1)=1;fori=2:SimTotalift_Leave(i-1)=2QueLength(i)=CusNum(i)-1;elseQueLength(i)=0;endendQueLength_avg=sum([OQueLength].*[Time_interval0])/Timepoint(end);%系统平均等待队长%仿真图figure(1);set(1,'position',[0,0,1000,700]);subplot(2,2,1);title('各顾客到达时间和离去时间’);stairs([0ArriveNum],[0t_Arrive],'b');holdon;stairs([0LeaveNum],[0t_Leave],'y');legend('到达时间’,’离去时间’);holdoff;subplot(2,2,2);stairs(Timepoint,CusNum,'b')title('系统等待队长分布');xlabel('时间');ylabel('队长');subplot(2,2,3);title('各顾客在系统中的排队时间和等待时间');stairs([0ArriveNum],[0t_Queue],'b');holdon;stairs([0LeaveNum],[0t_Wait],'y');holdoff;legend('排队时间’,’等待时间’);%仿真值与理论值比较disp(['理论平均等待时间t_Wait_avg=',num2str(l/(Mu-Lambda))]);disp(['理论平均排队时间t_Wait_avg=',num2str(Lambda/(Mu*(Mu-Lambda)))]);disp(['理论系统中平均顾客数=',num2str(Lambda/(Mu-Lambda))]);disp(['理论系统中平均等待队...