1、单服务排队系统MATLAB仿真程序单服务台系统MATLAB仿真学号:1040408115 姓名:缪晨一、 引言排队是日常生活中经常遇到的现象。通常 ,当人、物体或是信息的到达速率大于完成服务的速率时 ,即出现排队现象。排队越长 ,意味着浪费的时间越多 ,系统的效率也越低。在日常生活中 ,经常遇到排队现象 ,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之 ,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一 ,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是 MathWorks公司开发的科学计算软件 ,它以其强大的计算和绘图功能、大量稳定可靠的算法
2、库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准 ,几乎所有的工程计算领域 ,Matlab都有相应的软件工具箱。选用 Matlab软件正是基于 Matlab的诸多优点。二、 排队模型三仿真算法原理(1)顾客信息初始化根据到达率 和服务率 来确定每个顾客的到达时间间隔和服务时间间隔。服务间隔时间可以用负指数分布函数exprnd()来生成 。由于泊松过程的时间间隔也服从负指数分布, 故亦可由此函数生成顾客到达时间间隔 。需要注意的是exprnd()的输入参数不是到达率 和服务率 而是平均到达时间间隔 1/和平均服务时间1/。根据到达时间间隔 ,确定每个顾客的到达时刻. 学习过C 语
3、言的人习惯于使用 FOR循环来实现数值的累加, 但FOR循环会引起运算复杂度的增加 而在MATLAB 仿真环境中, 提供了一个方便的函数cumsum() 来实现累加功能 读者可以直接引用对当前顾客进行初始化。 第1 个到达系统的顾客不需要等待就可以直接接受服务 其离开时刻等于到达时刻与服务时间之和。(2)进队出队仿真在当前顾客到达时刻, 根据系统内已有的顾客数来确定是否接纳该顾客。 若接纳 则根据前一顾客的离开时刻来确定当前顾客的等待时间 、离开时间和标志位 ;若拒绝, 则标志位置为0.流程图如下:四、 程序实现单服务台服务,服务参数M/M/1,=0.1,排队规则为FIFO,以分为单位,仿真时
4、间240分钟。仿真程序代码如下%总仿真时间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(ev
5、ents(1,:);%按负指数分布产生各顾客服务时间events(2,:) = exprnd(ser_mean,1,arr_num);%计算仿真顾客个数,即到达时刻在仿真时间内的顾客数len_sim = sum(events(1,:)Total_timebreak;%如果第i 个顾客的到达时间未超过仿真时间,则计算在其%到达时刻系统中已有的顾客个数else number = sum(events(4,member) events(1,i);%如果系统已满,则系统拒绝第i 个顾客,其标志位置0if number = N+1events(5,i) = 0;%如果系统为空,则第i 个顾客直接接受服务
6、else if number = 0%其等待时间为0events(3,i) = 0;%其离开时刻等于到达时刻与服务时间之和events(4,i) = events(1,i)+events(2,i);%其标志位置1events(5,i) = 1;member = member,i;%如果系统有顾客正在接受服务,且系统等待队列未满,则%第i 个顾客进入系统else len_mem = length(member);%其等待时间等于队列中前一个顾客的离开时刻减去其到%达时刻events(3,i)=events(4,member(len_mem)-events(1,i);%其离开时刻等于队列中前一个顾
7、客的离开时刻加上其服%务时间events(4,i)=events(4,member(len_mem)+events(2,i);%标识位表示其进入系统后,系统内共有的顾客数events(5,i) = number+1;member = member,i;endendendend五、仿真结果events = number = 1 number = 0 events = Columns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548 9.1178 25.7746 14.2747 20.9298 16.9332 1
8、4.2731 8.7403 0 0 0 0 0 0 0 14.7597 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 Columns 8 through 14 106.9312 124.9101 129.9854 143.3425 147.5878 151.3098 154.2113 30.0267 1.0235 0.5680 7.1159 7.1488 10.8554 1.0530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 15 through 21 162.1843 186.9750 201.7163 202.622
9、8 221.4368 223.3506 229.5432 9.9629 21.9640 2.4814 9.4228 14.2009 9.0656 23.3868 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 22 through 28 229.5819 255.0699 263.2190 285.6008 285.9892 339.7321 342.2822 20.2516 0.5970 0.4486 5.5302 28.1709 14.4911 10.4084 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10、 0 Columns 29 through 35 344.2996 345.7073 370.4249 379.5933 393.0690 395.2996 403.7064 1.9700 41.7316 31.4600 17.7792 4.3214 3.1235 4.3426 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 36 through 42 404.6424 421.6883 435.0138 454.2870 474.2329 475.6337 481.0860 7.9646 6.0329 12.1631 2.9478 16.6
11、625 3.7575 16.9548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 43 through 48 487.0670 506.3803 507.9699 512.7172 523.1882 529.8581 9.9836 4.6901 2.4817 25.1175 0.7323 2.5397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 events = Columns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548
12、 9.1178 25.7746 14.2747 20.9298 16.9332 14.2731 8.7403 0 0 0 0 0 0 0 14.7597 0 71.7901 0 0 0 0 1.0000 0 1.0000 0 0 0 0 Columns 8 through 14 106.9312 124.9101 129.9854 143.3425 147.5878 151.3098 154.2113 30.0267 1.0235 0.5680 7.1159 7.1488 10.8554 1.0530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Colu
13、mns 15 through 21 162.1843 186.9750 201.7163 202.6228 221.4368 223.3506 229.5432 9.9629 21.9640 2.4814 9.4228 14.2009 9.0656 23.3868 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 22 through 28 229.5819 255.0699 263.2190 285.6008 285.9892 339.7321 342.2822 20.2516 0.5970 0.4486 5.5302 28.1709 14.
14、4911 10.4084 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 29 through 35 344.2996 345.7073 370.4249 379.5933 393.0690 395.2996 403.7064 1.9700 41.7316 31.4600 17.7792 4.3214 3.1235 4.3426 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 36 through 42 404.6424 421.6883 435.0138 454.2870 474.2329
15、 475.6337 481.0860 7.9646 6.0329 12.1631 2.9478 16.6625 3.7575 16.9548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 43 through 48 487.0670 506.3803 507.9699 512.7172 523.1882 529.8581 9.9836 4.6901 2.4817 25.1175 0.7323 2.5397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 number = 1 number = 0 events = C
16、olumns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548 9.1178 25.7746 14.2747 20.9298 16.9332 14.2731 8.7403 0 0 0 0 0 0 0 14.7597 0 71.7901 0 0 0 0 1.0000 0 1.0000 0 0 0 0 Columns 8 through 14 106.9312 124.9101 129.9854 143.3425 147.5878 151.3098 154.2113 30.0267 1.0235 0.5680 7
17、.1159 7.1488 10.8554 1.0530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 15 through 21 162.1843 186.9750 201.7163 202.6228 221.4368 223.3506 229.5432 9.9629 21.9640 2.4814 9.4228 14.2009 9.0656 23.3868 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 22 through 28 229.5819 255.0699 263.2190 28
18、5.6008 285.9892 339.7321 342.2822 20.2516 0.5970 0.4486 5.5302 28.1709 14.4911 10.4084 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 29 through 35 344.2996 345.7073 370.4249 379.5933 393.0690 395.2996 403.7064 1.9700 41.7316 31.4600 17.7792 4.3214 3.1235 4.3426 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19、0 0 0 0 Columns 36 through 42 404.6424 421.6883 435.0138 454.2870 474.2329 475.6337 481.0860 7.9646 6.0329 12.1631 2.9478 16.6625 3.7575 16.9548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 43 through 48 487.0670 506.3803 507.9699 512.7172 523.1882 529.8581 9.9836 4.6901 2.4817 25.1175 0.7323 2
20、.5397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 events = Columns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548 9.1178 25.7746 14.2747 20.9298 16.9332 14.2731 8.7403 0 0 0 0 0 0 0 14.7597 0 71.7901 0 103.5121 0 0 1.0000 0 1.0000 0 1.0000 0 0 Columns 8 through 14 106.9312 124.9101 129.
21、9854 143.3425 147.5878 151.3098 154.2113 30.0267 1.0235 0.5680 7.1159 7.1488 10.8554 1.0530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 15 through 21 162.1843 186.9750 201.7163 202.6228 221.4368 223.3506 229.5432 9.9629 21.9640 2.4814 9.4228 14.2009 9.0656 23.3868 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22、 0 0 0 0 0 0 Columns 22 through 28 229.5819 255.0699 263.2190 285.6008 285.9892 339.7321 342.2822 20.2516 0.5970 0.4486 5.5302 28.1709 14.4911 10.4084 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 29 through 35 344.2996 345.7073 370.4249 379.5933 393.0690 395.2996 403.7064 1.9700 41.7316 31.4600
23、 17.7792 4.3214 3.1235 4.3426 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 36 through 42 404.6424 421.6883 435.0138 454.2870 474.2329 475.6337 481.0860 7.9646 6.0329 12.1631 2.9478 16.6625 3.7575 16.9548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 43 through 48 487.0670 506.3803 507.9699
24、512.7172 523.1882 529.8581 9.9836 4.6901 2.4817 25.1175 0.7323 2.5397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 number = 1 number = 1 number = 0 events = Columns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548 9.1178 25.7746 14.2747 20.9298 16.9332 14.2731 8.7403 0 0 0 0 0 0 0 14.7597
25、0 71.7901 0 103.5121 0 0 1.0000 0 1.0000 0 1.0000 0 0 Columns 8 through 14 106.9312 124.9101 129.9854 143.3425 147.5878 151.3098 154.2113 30.0267 1.0235 0.5680 7.1159 7.1488 10.8554 1.0530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 15 through 21 162.1843 186.9750 201.7163 202.6228 221.4368 22
26、3.3506 229.5432 9.9629 21.9640 2.4814 9.4228 14.2009 9.0656 23.3868 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 22 through 28 229.5819 255.0699 263.2190 285.6008 285.9892 339.7321 342.2822 20.2516 0.5970 0.4486 5.5302 28.1709 14.4911 10.4084 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 29
27、 through 35 344.2996 345.7073 370.4249 379.5933 393.0690 395.2996 403.7064 1.9700 41.7316 31.4600 17.7792 4.3214 3.1235 4.3426 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 36 through 42 404.6424 421.6883 435.0138 454.2870 474.2329 475.6337 481.0860 7.9646 6.0329 12.1631 2.9478 16.6625 3.7575 16
28、.9548 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 43 through 48 487.0670 506.3803 507.9699 512.7172 523.1882 529.8581 9.9836 4.6901 2.4817 25.1175 0.7323 2.5397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 events = Columns 1 through 7 5.6418 13.2050 57.5155 68.3886 86.5789 88.8820 100.5548 9.1178 25.7746 14.2747 20.9298 16.9332 14.2731 8.7403 0 0 0 0 0 0 0 14.7597 0 71.7901 0 103.5121 0 0 1.0000 0 1.0000 0 1.0000 0 0 Columns 8 through 14 106.9312 124.9101 129.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1