资源描述:
《电梯调度的模拟随机化研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、电梯调度的模拟随机化研究专业:数学一班学号:0710210121姓名:黄然一.引言现实生活中,许多问题都具有很强的动态特征,正如哲学家所言,一切事物通常随着吋间的推移而不断变化。经典的优化理论大多是站在旁观者的角度上看问题,即首先确定已知条件,然后在假设这些已知条件不变的基础上给岀最优方案,如杲条件一旦改变,这种方案就会立刻失去它的优越性,比如我们下面将要研究的电梯调度问题,三种方案在不同的条件下都冇可能成为最优解,因此我们必须给定一个特例,即给定楼层高度,居民人数及他们作息方式后,根据确定的已知条件来分析问题。经典数学理论要求我们在变化的不确定因索中考虑对问
2、题影响较人的因索,经典的优化方案有:①。将可变化的因素随机化,寻求平均意义上的最优方案。②考虑可变化因素的最坏情形,寻求最坏情形下的最优方案。在对电梯调度问题的研究中我们利用了第一种方法中随机化数据的思想,将非高峰期的人流量在时间轴上随机化分布,高峰期人流量分布则基木服从正态分布,利用计算机模拟技术,我们可将上述人流量分布用离散型随机变量的形式列出,同时也模拟岀分布列中居民所耍搭乘至及初始所在的楼层数,最后通过计算分析,综合各个因素,得出在此特例下的最优方案。二.试验条件:①假设现有一座大楼,高十二层,每层高三米。每层住八户,每户平均4人。共约400人。其中上
3、班200人,上学70人,买菜100人。由于居民楼的特定性,人流高峰期(即电梯使用频繁期)通常在上下班、上下学及买菜的时间段,其余时间电梯使用基本正常。②给定已居民楼电梯型号功率:20kW承载人数:12人载重:1T运行额定速度:1・5m/s三.根据实际情况我们模拟出了一个全天电梯使用率的函数图四。基本算法:标示中给出了高峰期和非高峰期的人流量分布,利用均匀分布和正态分布,我们可以分别给出非高峰期与高峰期人流分布的函数图,再通过计算机模拟,利用VB随机化语句给出离散型的人流吋间轴分布列,并用随机语句给每个时间点出现的人流分配出他们所出现及所要到达的楼层,计算三种方
4、案在实际情况下居民的平均等候时间与电梯的电能消耗量。综合各种因素进行比较各门的利弊。五。给出随机模拟数据①解释:因为居民使用电梯绝人多数是出行或回家,我们只需要考虑居民从某层乘往一层和从一层乘往某层的情况,而忽略居民在楼层间使用电梯的特款,这种做法对三种电梯模式的比较并没冇什么影响,并但能够极大的简化实验的计算。在模拟实验中我们还假设了居民在高峰期乘坐电梯方向的单一性,即上班上学时段只有下楼的乘客,下班放学只有上楼的乘客。原因在于这些高峰时段时间较短,11其他方式搭乘电梯的乘客较少且与屯梯单向运行冲突的更少之又少,纵观全局,忽略这些因素对实验影响也较小,所以我
5、们可以把高峰期用其他方式搭乘电梯的人流划归到临近的非高峰期人流量中。这里我需要声明②程序代码程序一目的:给出高峰期人流出现的随机时间序列并给其分别分配齐门楼层。•FnrBl■■DimxAsSingleFunctiona(exAsSingle,dxAsSingle,nAsInteger)AsSingleDimiAsIntegerx二x+Rnd沪ex+2*Sqr(3*dx/n)*x-Sqr(3*n*dx)EndFunctionDima()AsInteger,b()AsInteger,c()AsIntegerPrivateSubCommandl_Click()Dim
6、iAsInteger,tlAsInteger,t2AsInteger,nAsIntegern二Textltl二Text2程序图例一t2=Tcxt3ReDima(n),b(n),c(n)Fori=1Tona=Functiona(ex,dx,n)'调用正态分布函数给出离散型近似正态分布的数值b(i)=Int((60+])*Rnd)c(i)=Int((12)*Rnd)+1Text4.Text=Text4.Text&a&〃分〃&b(i)&〃秒〃&c(i)&"层"'输出数值Text4.Text二Text4.Text&vbCrLf'数值换行NextiEndSub程序二口的
7、:给出非高峰期人流出现的随机吋间序列并给出他们的起始楼层或前往楼层Dimd()AsInteger,e()AsInteger,f()AsInteger,g()AsIntegerPrivatcSubCommandl_Click()DimiAsInteger,tlAsInteger,t2AsInteger,nAsIntegern二Textltl=Text2t2=Tcxt3程序二图示Text4・Text二ReDimd(n),e(n),f(n),g(n)'重新定义数组维数Fori=1Tond(i)=Int((tl-t2)*Rnd)+t2'产生随机时间分e(i)=Int(
8、(60+1)*Rnd)'产生随机时间秒