




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 写字楼电梯系统的模拟系统研究 摘要本题为m/m/c/的排队论问题,为解决该问题,我们建立了两个模型。模型一中,我们运用假设将问题简化,求出题中所需的几组数据。运用matlab进行计算机模拟试验,随机生成若干030之间的整数,直至求和大4800。在整个建模过程中,我们始终保持着数据的随机性,以求结果的准确。模型当中多次利用matlab进行编程计算,比如模拟4800s内到来时间在030s内乘客的总人数以及得出值以及在总时间内选择电梯每层楼的乘客总数;并用excel进行数据归纳整理制成图表,并最终求出电梯实际上为大约314位乘客提供服务;乘客在队中等待的平均时间为,最长等待时间为110s;最长的队
2、长为13人;平均运送时间为132s,最长运送时间为398s;每部电梯停地次数为,早高峰时间每部电梯实际上使用时间的百分比为。显然,这几组解不能作为问题的答案,只能大致的判断答案的范围。因此,我们又建立了模型二。在模型二中,我们通过使用matlab,借助简单的逻辑语句及数据运算,配合m程序,完成了一模拟系统,最终求解出较为合理的答案。本模型的特色在于:1:使用了一个计时变量,运用简单的函数在求解过程中生成乘客的随机到达间隔时间及选择的楼层,在整个过程中不断地累加到上,直到时间到达题目中规定的高峰期结束点。2:使用了一个一行四列的矩阵用于标记电梯14的返回一楼的时间,通过累加每一次运行的时间不断增
3、加,从而用来判断当前时间下电梯是否可用。3:在楼层的选择方面,我们设置了两个一行十二列的矩阵和,分别用来记录一趟电梯中被选中的楼层及选中楼层被选中的次数。通过运行模拟系统,我们得到了以下几组结果:编号所服务的人数最长运送时间平均运送时间在电梯内的最长时间在电梯的平均时间最长队长排队的最长时间每部电梯停止的总次数每部电梯运行总时间的百分比13253891468838131761.67 ,2.52 ,3. 53, 4. 611.87,2.79,3.80,4.852319408135854191211.61,256,3.53,4.631.85,2.763.704.893321412139813711
4、1491.65,2.56,3.57,4.431.862.753.754.71关键词:计算机模拟 生成随机正整数 排队论 计时器 矩阵 matlab一、问题重述城市繁华地区有一座12层的写字楼,在高峰时间7:50-9:10,人们进入一楼大厅并乘电梯到所在的楼层,有4部电梯为大楼服务,乘客到达大楼的时间间隔在0-30秒内随机变化, (1-4号),当某人进入电梯后并选择达到楼层后,电梯在关门前等待15秒,如果另一个人在15秒内到达来,这种等待将重新开始,如果15秒内无人到达,电梯就把全体乘客送上去。假定中途没有其他乘客要上电梯。送完最后一个乘客后,电梯回到大厅,途中也不上客人。一部电梯的最大容量为1
5、2人,当一位乘客来到大厅,没有电梯可乘,就开始大厅排队等待。写字楼的管理者希望提高优质服务,但目前有些乘客抱怨在电梯回来之前,他们在大厅等待的时间太长,也有人抱怨他们在电梯呆的时间太长,还有人说高峰时间大厅太挤,实际情况如何呢?首先对该写字楼电梯系统做理论分析,然后用计算机模拟电梯系统,回答下列问题,:(1) 在一个典型的早上高峰时间,电梯实际上为多少乘客提供服务?(2) 如果一个人的等待时间是他在队伍中的时间,即从到达大厅到进入一部可乘电梯的时间,问一个人在队中等待的平均时间和最长时间是多少?(3) 最长的队长是多少?(这个问题的回答将向管理者提供大厅拥挤程度的信息。)(4) 如果运送时间是
6、一位乘客从到达大厅到他或她到达要去的楼层的时间,包括等电梯的时间平均运送时间和最长的运送时间是多少?(5) 一位乘客实际上呆在电梯中的平均时间和最长时间是多少?(6) 每部电梯停多少次?早高峰时间每部电梯实际上使用时间的百分比是 多少? 三、模型假设一、模型一假设1、人员充足,即高峰时期当电梯到达大厅时每次都能满载;2、电梯每次都满员,即每次都运送12位乘客。3、电梯无故障。4、电梯匀速上升,既不考虑加速度。二、模型二假设1、假设到所有进写字楼的人均要到2楼或2楼以上,且均要乘坐电梯。2、假设每位乘客到每层楼的概率是一样的,即都是1/11。3、假设电梯向上运行过程中没有其他乘客要上电梯,送完最
7、后一个乘客后,电梯回到大厅,途中也不上客人。4、假设每位乘客乘坐1-4号电梯的概率是一样的,都是1/4。5、假设电梯向上运行过程中没有其他乘客要上电梯,送完最后一个乘客后,电梯回到大厅,途中也不上客人。6、电梯的停止和启动时瞬间的,不考虑加速度。7、电梯到达的最底层是第一层。8、假设电梯的正常运行速度为8 s/层,每次开门和关门的时间都是5s,每下一个人花费2s。 四、符号说明一、模型一符号说明 4800s内到来时间在030s内乘客的总人数 平均每秒到达的随机人数 高峰时期的总时间 第一批12人到达所需时间 大厅内排队等待的人数 乘客从到达大厅到到达指定楼层所需的最长时间 电梯再次运行后剩余排
8、队人数 一部电梯运行的总次数 最长队长 乘客在电梯中所呆最长时间 最长等待时间 最长的运送时间 乘客在队中最长等待时间 乘客在队中平均等待时间 乘客在每层楼所呆的时间 选择一部电梯每层楼的乘客总数 电梯编号 030s内随机整数,表示乘客到来的时间间隔 每部电梯所停次数 每部电梯实际上使用的百分比二、模型二符号说明 第个乘客在队中等待的时间 当等待的一部电梯变为可乘用电梯时的队长 第个乘客从到达大厅到到达目的楼层时所花费的总时间,即第个乘客的运送时间,包括他在队中的等待时间 第个乘客呆在电梯中的时间 第个电梯在整个模拟过程中停止的总次数 第个乘客和第-1个乘客到达的间隔时间 从时钟开始,第个电梯
9、返回一楼大厅时并可乘用时的时间 从时钟开始计时的当前时间 第个电梯运送当批乘客的总时间 第个电梯在整个模拟过程中运行的总时间 第个电梯返回一楼大厅时,第一个进入电梯的乘客的编号 最后一个进入一部可乘用电梯的乘客的编号 当前占用第个电梯的乘客数 第个电梯被选择的楼层的0、1向量组,0表示未选择楼层,1表示选择楼层,不记录楼层被选择次数 对于正在运送乘客的第个电梯,记录被选择楼层次数的一组整数数组。 乘客选择的楼层数(2-12之间的随机整数) 所有乘客中在电梯里呆的最长时间 乘客在电梯里呆的平均时间 所有乘客中最长的运行时间 排队等待的第一位乘客的编号 当前队伍开始形成的时间 第个乘客到来的时间
10、下一部可乘用电梯启动后剩余队长 排队等待电梯的总人数 所有乘客中在队中最长的等待时间 最长队长 所有乘客在队中等待的所有时间 乘客在队中等待的平均时间 平均运送时间 最长运送时间 电梯总的运送时间 五、问题分析本题是一个关于电梯模拟系统的问题,也是排队论的典型问题。所以,很容易想到两种解决本题的方案:一种是利用计算机模拟,将整个过程从头到尾模拟一遍,即能解决本题的所有问题;另一种方案是利用排队论的基本知识,将本文归纳为排队论基本模型,从而对本题求解。 六、模型的建立及求解方案一:排队论模型1、 利用matlab,模拟4800s内到来时间在030s内乘客的总人数20次模拟试验所得数据如表1: 表
11、1:20次模拟试验结果12345678910人数30231733531033231533933632230211121314151617181920人数331324319312327309328340304341具体程序见附录:由表1可知电梯实际服务人数在(286334)范围之内,平均值为3142、设平均每秒到达的随机人数为,被服务的总人数/总时间。即由于出现排队意味着电梯已经开始运行,即承载人数为12。设该12人到达所需时间为,次数123456780.0628170.0660420.0697920.0691670.0656250.0706250.070.067083190.7285181.7
12、035171.9403173.494182.8571169.9115171.4286178.882次数9101112131415160.0629170.0689580.06750.0664580.0650.0681250.0643750.068333190.7285174.0181177.7778180.5643184.6154176.1468186.4078175.6098次数171819200.0708330.0645830.0633330.071042169.4118185.8065189.4737168.915则 、值如表2 表2 :数值 又知一位乘客从到达大厅到到达指定楼层所需的最长
13、时间为tm=398s(后文给出算法);可算出此期间大厅内排队等待的人数电梯再次运行后剩余排队人数为;一部电梯运行的总次数为,故总剩余人数,即最大队长3、根据实际情况,电梯每运行一层的时间约为8s,开/关门一次时间约为5s,每位乘客进出电梯的时间约为2s。乘客在电梯中所呆最长时间()=电梯在层与层之间的运行时间+开/关门的时间+进/出乘客的时间+空电梯犯返回的时间;即而由于4部电梯之间的运行状态不同,最大时差为15s,故最长等待时间为所以最长的运送时间最短运送时间平均运送时间4、由2问可知,最长队长为13人,故最长等待时间为第13人等待的时间。根据3问中参数设定,可知队中最长等待时间;所以队中平
14、均等待时间5、设乘客在每层楼所呆的时间为则;由matlab程序2(见附录)可得出值以及在总时间内选择电梯每层楼的乘客总数如表3所示: 表3:每层楼的乘客总数楼层12345678910111222171899240242522123374763698411410514416017216620302016172322192223202024由表3可得出以下结论:(1) 乘客在电梯中所呆最长时间为,(2) 乘客在电梯中所呆平均时间为6、由表3可知,每部电梯所停次数每部电梯实际上使用的百分比由matlab计算得到4部电梯的使用百分比为别为:方案二:计算机模拟模型我们的模型是按照正常的逻辑思维建立,分为
15、四个模块,以下是模拟此过程的全过程:模块一:分为step1-step7,我们要模拟第一个人选择可乘坐电梯时可能出现的所有情况,然后模拟接下来来的人乘坐电梯时的所有情况,直到没有可乘电梯,开始形成排队为止。step1 第一个人来到大厅要乘坐电梯,生成第一个人 初始化乘客从到达大厅到到他所要去的目的楼层所花的时间同时生成初始化当前时间初始化所有乘客的等待时间: 对于(根据我们模拟的结果,高峰时期最多的乘客数是450)初始化电梯的返回时间:对于, 初始化电梯的停止次数、运行时间: step2 7:50到9:10,总时间为4800s,当到达的第一个乘客开始选择第一部可乘电梯 若,则,否则 若,则,否则
16、 若,则,否则 若,则否则当前电梯不能使用,开始形成排队,转至step10。step3 置入第一位占用已标记电梯的乘客编号,初始化电梯占用及楼梯选择向量: 对于 ,这是因为此时没有楼层被选择,故所选择的楼层总数为0。step4 置入楼层选择向量,楼层被选择次数,以及增加占用电梯的乘客数 step5 接下来生成下一位乘客, 调整乘客从到达大厅到到他所要去的目的楼层所花的时间 同样地,生成调整当前时间step6 把每个可乘用电梯的返回时间设置为当前时间step7的 运送时间,对于电梯,总运送时间=原始运行时间+每个人到来时和前一个人的间隔时间,即 对于, ,然后,他开始选择楼层,所以应该继续进行s
17、tep4-step6,直到条件不满足时,说明该电梯不可乘用,则开始形成排队。此时,最后一个进入电梯的乘客编号为,开始进行模块二。模块二:本模块模拟电梯运送乘客的全过程,记录相关数据,分为step8-step9,如下:step8 根据我们假设的电梯运行速度8s/层,每次开关门的时间均为5s,每下一个人的时间为2s,再根据我们之前累加到的选择的楼层以及楼层被选择的次数,计算电梯里每个人呆在电梯里的时间、运送时间,这个过程中电梯停止的总次数、及电梯运行的时间,所有乘客中在电梯里呆的最长时间以及最长的运送时间,我们一步一步计算这些变量。(1)计算乘客呆在电梯里的时间,令(2)调整乘客的运送时间:(3)
18、累计总的运送时间:(3)调整所有乘客中在电梯里呆的最长时间:如果(4)调整所有乘客中的最长运行时间(5)累计电梯停止的总次数(6)累计电梯的运行时间 令中最大的数,即表示所有乘客中去的最高层此时,电梯的step9 当批乘客运送完毕后,电梯又开始运送下一批乘客,所以首先必须选择一部可乘用电梯,故进行step2。模块三:本模块模拟无可用电梯时,开始形成排队的全过程,并记录一些必要的数据。step10 当没有电梯可乘用时,便开始形成排队,初始化排队 step11 生成下一位乘客 ,生成,调整当前时间,调整对长step12 同step2,检验电梯是否可用,若不可用,则继续排队,转为step11,否则往
19、下运行。step13 初始化选择楼层以及被选择的楼层数,并调整队长, 对于 此时,若,对于调整楼层向量step14 调整最长队长,若调整排队乘客总数:调整乘客在队中等待的总时间:调整乘客在队中的最长等待时间:若。设置第一位上电梯的乘客编号:计算每位乘客的运送时间:对于step15若否则令到并再次调整队长:,转至step11.模块四:本模块输出此次模拟过程中的输出值,得到本题的所有答案。step16 (1)电梯服务的乘客总数: (2)乘客在队中的平均等待时间: 乘客在队中等待的最长时间: (3)最长的队长:(4)平均运送时间: 最长运送时间:(5)乘客在电梯里呆的平均运送时间: 乘客在电梯里呆的
20、最长时间:(6) 每部电梯厅的次数: 每部电梯运行时间的百分比: 结束六、模型评价一、模型优点1、模型一优点模型一结构简单,思路清晰,将随机问题具体化,以20组随机数据作为样本进行分析计算,从而得到结果的大致区间范围,具有一定的准确性。2、模型二优点在模型二中,我们通过使用matlab,借助简单的逻辑语句及数据运算,配合m程序,完成了一模拟系统,最终求解出较为合理的答案。本模型的特色在于:1:使用了一个计时变量,运用简单的函数在求解过程中生成乘客的随机到达间隔时间及选择的楼层,在整个过程中不断地累加到上,直到时间到达题目中规定的高峰期结束点。2:使用了一个一行四列的矩阵用于标记电梯14的返回一
21、楼的时间,通过累加每一次运行的时间不断增加,从而用来判断当前时间下电梯是否可用。3:在楼层的选择方面,我们设置了两个一行十二列的矩阵selecfloor和selectimes,分别用来记录一趟电梯中被选中的楼层及选中楼层被选中的次数。通过模型运行的结果,我们可以得到如下结论:若能提高电梯开关门的速度,电梯运行的速度,最长队长,等待时间,运送时间均会减少。另外,模型一和模型二结合,也是本文的一大优点。二、模型缺点1、模型一缺点本模型的缺点在于考虑时忽略了很多细节问题,比如,没有将电梯未满12人,但下一个15s内又未来人的情况以及在解决问题时多次采用算术平均值来处理数据,使得题目的解有一定的偏差。
22、2、模型二缺点本模型也存在如下不足:1:电梯的运行速度及乘客的下电梯速度多为假设,不一定符合实际。2:为了逻辑上的便利,time的累加不是无时无刻的进行的,而是在生成新的乘客之后。3:本模型没有考虑排四队的情况。七、参考文献1(美)frank r.giordano,william p.fox,steven b.horton,maurice d.weir著,叶其效,姜起源译。数学建模。机械工业出版社。2009年8月。2刘卫国。matlab程序设计与应用(第二版)。高等教育出版社。2006年7月。八、附录1、模型一程序程序1:a=zeros(1,500);b=round(rand(size(a)3
23、0);for i=1:500 rp=0;if rp=4800 rp=rp+b(i);endendrp程序2c=zeros(1,rp);d=round(rand(size(c)*10)+2;m=zeros(1,12);for j=1:rp switch d(j)case 1 m(1)=m(1)+1;case 2m(2)=m(2)+1;case 3m(3)=m(3)+1;case 4m(4)=m(4)+1;case 5m(5)=m(5)+1;case 6m(6)=m(6)+1;case 7m(7)=m(7)+1;case 8m(8)=m(8)+1;case 9 m(9)=m(9)+1;case 1
24、0m(10)=m(10)+1;case 11m(11)=m(11)+1;case 12m(12)=m(12)+1;end二、模型二程序主程序i=1;b=0;c=0;e=0;d=0;movtotal=0;maxmove=0;maxstay=0;waitotal=0 betime(i)=round(rand(1)*30); floor(i)=round(rand(1)*10+2); deltime(i)=15; time=betime(i);backtime=zeros(1,4);staytime=zeros(1,4);movtime=zeros(1,4);staytime=zeros(1,400
25、);waitime=zeros(1,400);deltime=zeros(1,400);dotime=zeros(1,4); for k=1:4 backtime(k)=time end if backtime(1)=time j=1 else if backtime(2)=time j=2 else if backtime(3)=time j=3 else if backtime(4)=time j=4 else linelong end end end end %2、产生下一位乘客的间隔时间和所选楼层 first(j)=i; occup(j)=0; choosefloor=zeros(1,
26、12); choosefloor(floor(i)=1; choosetimes=zeros(1,12); choosetimes(floor(i)=choosetimes(floor(i)+1; occup(j)=occup(j)+1; i=i+1; betime(i)=round(rand(1)*30); floor(i)=round(rand(1)*10+2); time=time+betime(i); deltime(i)=15; for k=1 :4 if backtime(k)=time backtime(k)=time else backtime(k)=backtime(k) e
27、nd end if betime(i)=15 & occup(j)maxdel maxdel=deltime(k)else maxdel=maxdelendif staytime(k)maxstay maxstay=staytime(k)else maxstay=maxstayendend%3、算出电梯停留的总次数及电梯所到达的最高楼层,从而算出本次电梯所运行的总时间。e=0;d=0;for k=1:12 d=d+choosefloor(k)endfor k=1:12 e=e+choosetimes(k)endstaytime(j)=staytime(j)+d;for k=1:12 if ch
28、oosefloor(k)0 max=k endend%4、将该电梯的返回时间设置成当前时间+运送时间dotime(j)=16*(max-1)+10*d+3*e;backtime(j)=time+dotime(j);movtime(j)=movtime(j)+dotime(j);if time=4800 finalcaculateelse ifuseend子程序1、产生下一位乘客的间隔时间和所选楼层 first(j)=i; occup(j)=0; choosefloor=zeros(1,12); chooosefloor(floor(i)=1; choosetimes=zeros(1,12);
29、choosetimes(floor(i)=choosetimes(floor(i)+1; occup(j)=occup(j)+1; i=i+1; betime(i)=round(rand(1)*30); floor(i)=round(rand(1)*10+2); deltime(i)=15; for k=1 :4 if backtime(k)=time backtime(k)=time else backtime(k)=backtime(k) end end2、产生新的乘客 if betime(i)=15 & occup(j)12 for k= first(j):i-1 deltime(k)=
30、deltime(k)+betime(i);%转到第七步 generatequest end endoccup(j)=occup(j)+1;i=i+1; first(j)=i; betime(i)=round(rand(1)*30); floor(i)=round(rand(1)*10+2); deltime(i)=15; for k=1 :4 if backtime(k)=time backtime(k)=time else backtime(k)=backtime(k) end end if betime(i)=15 & occup(j)12 for k= first(j):i-1 delt
31、ime(k)=deltime(k)+betime(i);%转到第七步 generatequest end end3、计算电梯是否可用if backtime(1)=time j=1 else if backtime(2)=time j=2 else if backtime(3)=time j=3 else if backtime(4)=time j=4 else linelong end end endendfirst(j)=i; occup(j)=0; choosefloor=zeros(1,12); choosefloor(floor(i)=1; choosetimes=zeros(1,12
32、); choosetimes(floor(i)=choosetimes(floor(i)+1; occup(j)=occup(j)+1; i=i+1; betime(i)=round(rand(1)*30); floor(i)=round(rand(1)*10+2); time=time+betime(i); deltime(i)=15; for k=1 :4 if backtime(k)=time backtime(k)=time else backtime(k)=backtime(k) end end if betime(i)=15 & occup(j)maxdel maxdel=delt
33、ime(k)else maxdel=maxdelendif staytime(k)maxstay maxstay=staytime(k)else maxstay=maxstayend%3、算出电梯停留的总次数及电梯所到达的最高楼层,从而算出本次电梯所运行的总时间。for k=1:12 d=d+choosefloor(k)endfor k=1:12 e=e+choosetimes(k)endstaytime(j)=staytime(j)+d;for k=1:12 if choosefloor(k)0 max=k endend%4、将该电梯的返回时间设置成当前时间+运送时间dotime(j)=16
34、*(max-1)+10*d+3*e;backtime(j)=time+dotime(j);movtime(j)=movtime(j)+dotime(j);if time=4800 finalcaculateelse ifuseend4、计算电梯中的各种时间%模块二%1、计算电梯内每个人在里面所呆时间以及每个人的运送时间last=i-1;n=floor(k)-1;b=0;c=0;e=0;d=0;for k=1:n b=b+choosetimes(k); c=c+choosefloor(k);endfor k = first(j):last dotime(k)=8*n+3b+3+5+c*10; deltime(k)=deltime(k)+dotime(k);%2算出运送的总时间和最长的运送时间以及在电梯中的停留时间movtime=movtim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小龙虾健康饮食标准实施创新创业项目商业计划书
- 软件项目配置管理
- 2025年工业互联网平台边缘计算硬件架构优化与工业互联网技术创新报告
- 鞋服督导培训课件
- 水电行业安全教育培训课件
- 养护安全生产培训课件
- 保护环境重要性议论探讨议论文(7篇)
- 暑假的一天精彩瞬间作文7篇
- 水电站环境保护课件
- 消化道穿孔术后病人护理
- 超声科主任竞聘演讲稿
- 工地工伤预防培训
- 辽宁省2022-2024年中考满分作文134篇
- (完整)夏季防暑降温教育培训试题及答案
- 复卷机安全操作规程
- 马克思介绍课件
- JJF 2252-2025 机动车检测用涡流式金属探伤仪校准规范
- 2025秋人教版(2024)八年级上册英语课件 Unit 1 Happy Holiday (第1课时) Section A 1a- 1d
- 药品经营质量管理规范培训内容
- 康养旅游发展模式-洞察及研究
- 护理高职入学专业介绍
评论
0/150
提交评论