单服务排队系统MATLAB仿真程序_第1页
单服务排队系统MATLAB仿真程序_第2页
单服务排队系统MATLAB仿真程序_第3页
单服务排队系统MATLAB仿真程序_第4页
单服务排队系统MATLAB仿真程序_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

单服务台系统MATLAB仿真学号:1040408115姓名:缪晨引言排队是日常生活中经常遇到的现象。通常,当人、物体或是信息的到达速率大于完成服务的速率时,即出现排队现象。排队越长,意味着浪费的时间越多,系统的效率也越低。在日常生活中,经常遇到排队现象,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是MathWorks公司开发的科学计算软件,它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准,几乎所有的工程计算领域,Matlab都有相应的软件工具箱。选用Matlab软件正是基于Matlab的诸多优点。排队模型服务台服务台三.仿真算法原理(1)顾客信息初始化根据到达率人和服务率从来确定每个顾客的到达时间间隔和服务时间间隔。服务间隔时间可以用负指数分布函数 来生成。由于泊松过程的时间间隔也服从负指数分布,故亦可由此函数生成顾客到达时间间隔。需要注意的是 的输入参数不是到达率人和服务率从而是平均到达时间间隔入和平均服务时间/根据到达时间间隔确定每个顾客的到达时刻学习过语言的人习惯于使用 循环来实现数值的累加但 循环会引起运算复杂度的增加而在仿真环境中提供了一个方便的函数 来实现累加功能读者可以直接引用对当前顾客进行初始化。第1个到达系统的顾客不需要等待就可以直接接受服务其离开时刻等于到达时刻与服务时间之和。(2)进队出队仿真在当前顾客到达时刻,根据系统内已有的顾客数来确定是否接纳该顾客。若接纳则根据前一顾客的离开时刻来确定当前顾客的等待时间、离开时间和标志位;若拒绝,则标志位置为0.流程图如下:

仿典时间及般看越界?系统是否接纳第i个核客?瑜出转果标志佐置仿典时间及般看越界?系统是否接纳第i个核客?瑜出转果标志佐置a\=\+1计算第i个佛客的等待时间.离开时间、标志位;1=14-1哑客源加始化计算第1个耀客的璃开时剜:i=2四、程序实现单服务台服务,服务参数M/M/1,八四.排队规则为 ,以分为单位,仿真时间24分0钟。仿真程序代码如下%总仿真时间Total_time=240;%到达率与服务率lambda=0.1;mu=0.1;%平均到达时间与平均服务时间arr_mean=1/lambda;ser_mean=1/mu;%可能到达的最大顾客数(round:四舍五入求整数)arr_num=round(Total_time*lambda*2);%顾客事件表初始化events=[];%按负指数分布产生各顾客达到时间间隔events(1,:)=exprnd(arr_mean,1,arr_num);%各顾客的到达时刻等于时间间隔的累积和events(1,:)=cumsum(events(1,:));%按负指数分布产生各顾客服务时间events(2,:)=exprnd(ser_mean,1,arr_num);%计算仿真顾客个数,即到达时刻在仿真时间内的顾客数len_sim=sum(events(1,:)<=Total_time);%计算第1个顾客的信息^y~f%第1个顾客进入系统后直接接受服务,无需等待events(3,1)=0;%其离开时刻等于其到达时刻与服务时间之和events(4,1)=events(1,1)+events(2,1);%其肯定被系统接纳,此时系统内共有1个顾客,故标志位%置1events(5,1)=1;%其进入系统后,系统内已有成员序号为1member=[1];^y~f%计算第i个顾客的信息^y~ffori=2:arr_num%如果第i个顾客的到达时间超过了仿真时间,则跳出循环ifevents(1,i)>Total_timebreak;%如果第i个顾客的到达时间未超过仿真时间,则计算在其%到达时刻系统中已有的顾客个数elsenumber=sum(events(4,member)>events(1,i));%如果系统已满,则系统拒绝第i个顾客,其标志位置0ifnumber>=N+1events(5,i)=0;%如果系统为空,则第i个顾客直接接受服务elseifnumber==0%其等待时间为0events(3,i)=0;%其离开时刻等于到达时刻与服务时间之和events(4,i)=events(1,i)+events(2,i);%其标志位置1events(5,i)=1;member=[member,i];%如果系统有顾客正在接受服务,且系统等待队列未满,则%第i个顾客进入系统elselen_mem=length(member);%其等待时间等于队列中前一个顾客的离开时刻减去其到%达时刻events(3,i)=events(4,member(len_mem))-events(1,i);%其离开时刻等于队列中前一个顾客的离开时刻加上其服%务时间events(4,i)=events(4,member(len_mem))+events(2,i);%标识位表示其进入系统后,系统内共有的顾客数events(5,i)=number+1;member=[member,i];endendendend五、仿真结果events=[]number=1number=0events=Columns1through75.641813.205057.515568.388686.578988.8820100.55489.117825.774614.274720.929816.933214.27318.7403000000014.75970000001.0000000000Columns8through14106.9312124.9101129.9854143.3425147.5878151.3098154.211330.02671.02350.56807.11597.148810.85541.05300000000

00000000000000Columns15through21162.1843186.9750201.7163202.6228221.4368223.3506229.54329.962921.96402.48149.422814.20099.065623.3868000000000000000000000Columns22through28229.5819255.0699263.2190285.6008285.9892339.7321342.282220.25160.59700.44865.530228.170914.491110.4084000000000000000000000Columns29through35344.2996345.7073370.4249379.5933393.0690395.2996403.70641.970041.731631.460017.77924.32143.12354.3426000000000000000000000Columns36through42404.6424421.6883435.0138454.2870474.2329475.6337481.08607.96466.032912.16312.947816.66253.757516.9548000000000000000000000Columns43through48487.0670506.3803507.9699512.7172523.1882529.85819.98364.69012.481725.11750.73232.5397000000000000000000ColumnsColumns36through42eventsColumns1through75.641813.205057.5155 68.3886 86.5789 88.8820100.55489.117825.774614.2747 20.9298 16.9332 14.2731 8.7403000 0 0 0 014.7597071.7901 0 0 0 01.0000Columns80through1.0000 0 0 0 014106.9312124.9101129.9854 143.3425147.5878151.3098154.211330.02671.02350.5680 7.1159 7.1488 10.8554 1.0530000 0 0 0 0000 0 0 0 00Columns150through0 0 0 0 021162.1843186.9750201.7163202.6228221.4368223.3506229.54329.962921.96402.4814 9.4228 14.2009 9.0656 23.3868000 0 0 0 0000 0 0 0 00Columns220through0 0 0 0 028229.5819255.0699263.2190285.6008285.9892339.7321342.282220.25160.59700.4486 5.5302 28.1709 14.4911 10.4084000 0 0 0 0000 0 0 0 00Columns290through0 0 0 0 035344.2996345.7073370.4249379.5933393.0690395.2996403.70641.970041.731631.4600 17.7792 4.3214 3.1235 4.3426000 0 0 0 0000 0 0 0 0000 0 0 0 0ColumnsColumns#11162.1843186.9750201.7163202.6228221.4368223.3506229.54329.962921.96402.48149.4228 14.20099.065623.38680000 000172.1472208.939000235.6377001.00001.000000 1.000000Columns22through28Columns29Columns29through35229.5819255.0699263.2190285.6008285.9892339.7321342.282220.25160.59700.44865.530228.170914.491110.4084000000000000000000000344.2996345.7073370.4249379.5933393.0690395.2996403.70641.970041.731631.460017.77924.32143.12354.3426000000000000000000000Columns36through42404.6424421.6883435.013

温馨提示

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

评论

0/150

提交评论