多服务台排队系统的仿真4192.pdf

上传人:得****3 文档编号:83978649 上传时间:2023-03-31 格式:PDF 页数:14 大小:508.78KB
返回 下载 相关 举报
多服务台排队系统的仿真4192.pdf_第1页
第1页 / 共14页
多服务台排队系统的仿真4192.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《多服务台排队系统的仿真4192.pdf》由会员分享,可在线阅读,更多相关《多服务台排队系统的仿真4192.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 多服务台排队系统的仿真 Lele was written in 2021 实验 3-多服务台排队系统的仿真 姓名:学号:一、目标任务 已知一个系统有 N 个服务员,能力相等,服务时间服从指数分布。顾客的到达时间间隔服从指数分布。用 Monte-Carlo 仿真,分别求按下列方案的总体平均排队时间:M|M|N。N 个单通道系统并列,按 1/N 概率分裂到达流。N 个单通道并列,挑选最短的队。要求:给出程序设计的过程。如果采用固定的 N,则要求 N2。至少取=和=两种强度运行程序。对结果进行分析。二、编程语言 Matlab 三、关键代码 方案一:N=3;%服务员人数 r=6;%顾客到达流强度 u

2、=20;%服务员服务强度 T=1000000;%仿真运行时间 avg_wait_time=;%平均等待时间 for i=1:100%模拟排队函数 server_time=,;%用来保存服务员下一空闲时间 time=0;%绝对时钟,初始为 0 client_num=0;%顾客总数,初始为 0 CRTime=0;%顾客到达时间间隔 ServeTime=0;%顾客服务时间 server_id=0;%当前进入排队窗口的服务员编号 total_wait_time=0;%系统中到达顾客的总等待时间 while 1 CRTime=exprnd(1/r);%按指数分布产生顾客到达时间间隔 time=time+

3、CRTime;%更新系统的绝对时钟 if time T break;end client_num=client_num+1;%顾客数加 1 ServeTime=exprnd(1/u);%按指数分布产生顾客服务间隔 server_id=mod(client_num,N);%按 1.N 的顺序循环排入服务员窗口 if server_id=0 server_id=N;end if server_time(1,server_id)T break;end client_num=client_num+1;%顾客数加 1 ServeTime=exprnd(1/u);%按指数分布产生顾客服务时间间隔 serv

4、er_id=randi(1 N);%按 1/N 的概率排入服务员窗口 if server_time(1,server_id)T break;end client_num=client_num+1;%顾客数加 1 ServeTime=exprnd(1/u);%按指数分布产生顾客服务时间间隔 temp=min(server_time);%寻找排队时间最短的服务员窗口 x,y=find(temp=min(min(server_time);server_id=y;%按队伍最短排入服务员窗口 if server_time(1,server_id)T,输出 total_wait_time/client_n

5、um;4.Client_num+;5.按 照 指 数 分 布 产 生 顾 客 到 达 时 间 间 隔ServeTime;6.按服务员的顺序生成当前服务员的 server_id;7.如果当前 server_id 号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入 server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间 ServeTime。8.转到 3;方案二:图 3 方案二仿真的平均等待时间散点图 图 4 方案二平均等待时间 N 个单通

6、道系统并列,按 1/N 概率分裂到达流 1.输入参数:服务员人数 N,顾客到达流强度 r,服务员服务强度 u,仿真运行时间T;2.各变量初始值置 0:绝对时钟 time,服务员下一空闲时刻数组 server_time(其中按顺序保存每一个服务员的下一空闲时刻),顾客总数 client_num,顾客到达时间间隔 CRTime,顾客服务时间 ServeTime,当前进入排队窗口的服务员编号 server_id,系统中顾客总等待时间 total_wait_time;3.按照指数分布产生下一顾客到达的时间间隔 CRTime,time+=CRTime。若 timeT,输出total_wait_time/

7、client_num;4.Client_num+;5.按照指数分布产生顾客到达时间间隔 ServeTime;6.按 1/N 概率生成当前服务员的 server_id;7.如果当前 server_id 号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间 ServeTime。8.转到 3;方案三:图 4 方案三仿真的平均等待时间散点图 图 5 方案三仿真的平均等待时间散点图 N 个单通

8、道并列,挑选最短的队 1.输入参数:服务员人数 N,顾客到达流强度 r,服务员服务强度 u,仿真运行时间 T;2.各变量初始值置0:绝对时钟 time,服务员下一空闲时刻数组 server_time(其中按顺序保存每一个服务员的下一空闲时刻),顾客总数 client_num,顾客到达时间间隔 CRTime,顾客服务时间 ServeTime,当前进入排队窗口的服务员编号 server_id,系统中顾客总等待时间total_wait_time;3.按照指数分布产生下一顾客到达的时间间隔CRTime,time+=CRTime。若 timeT,输出total_wait_time/client_num;4.Client_num+;5.按照指数分布产生顾客到达时间间隔 ServeTime;6.按服务员下一空闲时刻数组server_time中最小的时刻生成当前服务员的 server_id;7.如果当前server_id 号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入 server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间 ServeTime。8.转到 3;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁