
2022年综合实验四排队问题的离散系统模拟实验.pdf
6页综合实验四排队问题的离散系统模拟实验一实验目的1了解排队论;2. 通过对每个个别的随机服务现象的统计研究,找出反映这些随机现象平均特性的规律;3. 通过实例掌握简单的离散事件系统模拟的基本方法及其MATLAB 实现方法二实验内容单服务员的排队模型: 在某商店有一个售货员, 顾客陆续来到, 售货员逐个地接待顾客 当到来的顾客较多时, 一部分顾客便须排队等待, 被接待后的顾客便离开商店设: a顾客到来间隔时间服从参数为0.1 的指数分布 b对顾客的服务时间服从 4, 15上的均匀分布c 排队按先到先服务规则, 队长无限制并假定一个工作日为8 小时,时间以分钟为单位要求:(1) 模拟一个工作日内完成服务的个数及顾客平均等待时间t(2) 模拟 100 个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间三实验要求写出实验步骤、结果显示及分析四实验分析本实验采用蒙特卡洛 (Monte Carlo)模拟方法, 蒙特卡洛是一种应用随机数来进行计算机模拟的方法 此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数在MATLAB 中发生指数分布的随机数命令为 exprnd(),产生均匀分布随机数命令为unifrnd()。
符号说明:STi:第 i 个顾客到来的时刻it:第 i 个顾个接受服务后离开的时间iTj:第 i 个顾客和第 i-1 个顾客到来的间隔时间iTf:第 i 个顾客需要服务的时间is:第 i 个顾客的等待时间考察第 i 个顾客和第 i-1 个顾客排队并将接受服务的情形,有以下两种情况: (1), 11iiiitTj名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 如图此时有:(2),如下图此时有:(2)作出程序流程图顾客到来的时间间隔和所需服务时间可分别由MATLAB随机数发生器exprnd()和 unifrnd()产生,根据第一步的分析,通过迭代即可模拟每个工作日的该服务员接待顾客和顾客排队的情形,时间以分钟为单位,程序流程图为:1iTj1iTf1is1it2iTj1iTj2iTjiTjisiTfit1iTj1iTf1is1it2iTj1iTj2iTjiTjiTfit1iiiiiitTjsTf1iiiiiitTjsTf构造单个工作日的排队系列while (sTj=480) 通过指数分布随机数发生器构造顾客间隔时间序列(TjM )通过均匀分布随机数发生器构造顾客所需服务时间序列(TfM )模拟该工作日内服务员接待顾客(for i=1:n-1 )计算第 i个顾客离开时的时刻t 计算第 i+1个顾客的等待时间s 如果s480,记录 i值,跳出循环记录第 i+1个顾客等待时间s值,和第i个顾客离开时刻 t 记算该工作日顾客平均等待时间sMean值和服务员接待顾客数目sIM 0is11iiiiistTj11111iiiiiitTjsTf11iiiitTj11111iiiiiitTjsTf名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 单个工作日的排队系列流程图100 个工作日的排队系列流程图五、实验步骤1模拟一个工作日内完成服务的个数及顾客平均等待时间t模拟 100 个工作日 (for i=1:100 )构造单个工作日的排队系列while (sTj=480) 通过指数分布随机数发生器构造顾客间隔时间序列(TjM )通过均匀分布随机数发生器构造 顾 客 所 需 服 务 时 间 序 列(TfM )模拟该工作日内服务员接待顾客(for i=1:n-1 )计算第 i 个顾客离开时的时刻t 计算第 i+1 个顾客的等待时间s 如果 s480,记录 i 值,跳出循环记录第 i+1 个顾客等待时间s值,和第 i 个顾客离开时刻t 记算该工作日顾客平均等待时间sMean值记录每个工作日顾客平均等待时间序列sMeanM, 和服务员接待顾客数目序列sIM 记算平均每日完成服务的个数和每日顾客的平均等待时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - (1)编写 MATLAB 程序clear,clc; sMeanM=;sIM=; TjM=;TfM=;sTj=0; while (sTj0); if t480 sI=i;break else T=T;t; sM=sM;s; end end sMean=mean(0;sM); sMeanM=sMeanM;sMean sIM=sIM;sI (2)结果显示:sMeanM =33.0934 sIM =45 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 2模拟 100 个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间。
1)编写 MATLAB 程序clear,clc; sMeanM=;sIM=; for i=1:100 TjM=;TfM=;sTj=0; while (sTj0); if t480 sI=i;break else T=T;t; sM=sM;s; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - end end sMean=mean(0;sM); sMeanM=sMeanM;sMean; sIM=sIM;sI; end MrecH=mean(sIM) MwaiH=mean(sMeanM (2)结果显示:MrecH =43.54000 MwaiH =25.2860 (3)数据处理:将以上程序运行十次, 100 个工作日平均每日完成服务的个数(MrecH )及每日顾客的平均等待时间(MwaiH )(分钟) 如下表次数1 2 3 4 5 6 7 8 9 10 MrecH 43.54 44.36 43.79 44.28 44.38 44.09 43.62 44.68 44.45 43.95 MwaiH 25.286 24.514 25.349 26.857 23.487 24.589 23.428 23.620 25.618 27.318 计算得出:100个工作日平均每日完成服务的个数(MrecH )的平均数: 44.114 每日顾客的平均等待时间(MwaiH )(分钟)的平均数: 25.0066 六、实验结果1单个工作日内完成服务的个数是45,顾客平均等待时间t 约为33 分钟;2100 个工作日,平均每日完成服务的个数约为44 个,每日顾客的平均等待时间约为 25分钟。
完成者:杨栋陈洪璋 冼玉钧专业、班级: 2007 生物科学二班学号:200730710201 ,200730710226 200730710227 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - - 。
