多服务台排队系统的仿真

上传人:靓*** 文档编号:60586679 上传时间:2022-03-08 格式:DOCX 页数:6 大小:25.42KB
返回 下载 相关 举报
多服务台排队系统的仿真_第1页
第1页 / 共6页
多服务台排队系统的仿真_第2页
第2页 / 共6页
多服务台排队系统的仿真_第3页
第3页 / 共6页
点击查看更多>>
资源描述
实验3-多服务台排队系统的仿真姓名:学号:1、 目标任务已知一个系统有N个服务员,能力相等,服务时间服从指数分布。顾客的到达时间间隔服从指数分布。用Monte-Carlo仿真,分别求按下列方案的总体平均排队时间: M|M|N。 N个单通道系统并列,按1/N概率分裂到达流。 N个单通道并列,挑选最短的队。要求: 给出程序设计的过程。 如果采用固定的N,则要求N2。 至少取p=0.3R3p=0.7W种强度运行程序。 对结果进行分析。2、 编程语言Matlab3、 关键代码方案一:N=3;%服务员人数r=6;%顾客到达流强度u=20;%服务员服务强度T=1000000;%仿真运行时间avg_wait_time=;%平均等待时间fori=1:100%模拟排队函数server_time=0.0,0.0,0.0;%用来保存服务员下一空闲时间time=0;%绝对时钟,初始为0client_num=0;%顾客总数,初始为0CRTime=0;%顾客到达时间间隔ServeTime=0;%顾客服务时间server_id=0;%当前进入排队窗口的服务员编号total_wait_time=0;%系统中到达顾客的总等待时间while1CRTime=exprnd(1/r);%按指数分布产生顾客到达时间间隔time=time+CRTime;%更新系统的绝对时钟iftimeTbreak;endclient_num=client_num+1;%顾客数加1ServeTime=exprnd(1/u);%按指数分布产生顾客服务间隔server_id=mod(client_num,N);%按1.N的顺序循环排入服务员窗口ifserver_id=0server_id=N;endifserver_time(1,server_id)Tbreak;endclient_num=client_num+1;%顾客数加1ServeTime=exprnd(1/u);%按指数分布产生顾客服务时间间隔server_id=randi(1N);%按1/N的概率排入服务员窗口ifserver_time(1,server_id)Tbreak;endclient_num=client_num+1;%顾客数加1ServeTime=exprnd(1/u);%按指数分布产生顾客服务时间间隔temp=min(server_time);%寻找排队时间最短的服务员窗口x,y=find(temp=min(min(server_time);server_id=y;%按队伍最短排入服务员窗口ifserver_time(1,server_id)T,输出total_wait_time/client_num;4. Client_num+;5. 按照指数分布产生顾客到达时间间隔ServeTime;6. 按服务员的顺序生成当前服务员的server_id;7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。8. 转到3;、.J4,.方案二:图3方案二仿真的平均等待时间散点图图4方案二平均等待时间N个单通道系统并列,按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/client_num;4. Client_num+;5. 按照指数分布产生顾客到达时间间隔ServeTime;6. 按1/N概率生成当前服务员的server_id;7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。8. 转到3;、.J,.方案三:图4方案三仿真的平均等待时间散点图图5方案三仿真的平均等待时间散点图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/client_num;4. Client_num+;5. 按照指数分布产生顾客到达时间间隔ServeTime;6. 按服务员下一空闲时刻数组server_time中最小的时刻生成当前服务员的server_id;7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入server_time对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。8. 转到3;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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