新浪博客

用数学建模解决电梯拥挤问题

2006-12-30 08:56阅读:
电梯运行问题


摘要


本文是针对学校教学楼在学生上下课时出现的电梯拥挤情况提出的一个解决方案。本模型使每部电梯只负责某段楼层的运送任务,通过建立数列,计算出平均的等待时间,通过数列的元素值,计算出平均的等待时间的最小值。采用C++语言编程来完成模型的求解过程。最后通过写给院长的建议书来说服学校采纳我的建议,

一,问题的重述
教学楼及试验楼的电梯拥挤,等待时间过长,容易耽误上课时间,针对这种情况,建立模型解决问题(以一个为例):
(1)收集相关资料(数据);
(2)利用收集到的数据,计算高峰期的平均等待时间;
(3)设计电梯运行方案,使大部分乘电梯的人满意;
(4)利用你设计的模型讨论:若增设两部电梯,拥挤情况能否得到缓解,该如何运行;
(5)考虑运行成本,同时运行几部电梯,如何运行,可在节约费用得前提下,使满意度最大;
(6)根据你的结论,给院领导写一份电梯运行的建议。
二,符号说明
t1----------电梯每升一层所须时间;
t2----------电梯到达指定楼层时,(开门--下人--关门这一过程所须时间;
f-----------楼层数;
r-----------某人要到达的楼层;
N----------电梯的个数;
T----------平均等待电梯时间;
T1----------完成一次运送所需时间;
T2-----------某人到达某一层的耗费时间;
T3-----------总耗费时间;
P----------满意度;
M----------电梯所能装载的最大人数;
三,模型假设与说明
1 假设每天高峰期乘坐电梯的人数相等;
2 假设每天高峰期每次电梯都在满员后运行;
3 假设每天高峰期每秒钟到电梯口等候的人群聚集人数恒定;
4 每天高峰期当电梯到达所需到达的楼层时,只考虑下人情况,每
层不在上人,当都送到后,电梯空载至一楼;
5 满意度P与平均等候时间成反比。
四,问题分析
通过实际考察,得到如下数据:
f=11; t1=1.5s; t2=10s; N=2; M=13;
通过考察发现,每天的高峰期是在上午9:35~9:55,下午1:15~1:35和3:10~3:30。此时间段正是学生上课与下课的高峰期,当同学所在教师在较高楼层时(四层或四层以上),一般会选择乘坐电梯,但电梯数量和每部电梯容量有限,因此造成试验楼电梯前拥挤,大部分同学滞留在电梯前等候电梯。
(1)电梯完成一次运送过程所须时间:T1=(f-1)*2*t1+t2*f;
(2)进行量化分析。假设数列:1=a0<a1<=a2~<=a(N-1)<=N=f-----(ai为整数,具体数值待定。任意乘客再高峰期乘坐电梯时,都有一个确定的楼层要到达(r),由递增数列{ai},可知至少存在一个i(1<=i<=f),使得a(i-1)<=r<=ai或a(i-1)=r=ai,则学生乘第i部电梯去第r层。
对于电梯i,它循环一周时间为:T1(i)=2*t1*(ai-1)+t2*(ai-a(i-1)+1)---ai!=a(i-1)或T1(i-1)-----其他。当某人选定第i部电梯乘坐时的等待时间为1/2*T1(i),当他乘坐改电梯到第r层时的耗费时间为T2(r)=t1*(r
-1)+t2*(r-as+1);故总耗费时间为:T3(r)=1/2*T1(i)+t1*(r
-1)+t2*(r-as+1)。综上,T=1/(f-1)*[T2(2)+T3(3)~+T3(f)]
只要求出一组{ai},使T最小即可,此使人们的满意度P最大。。
五,模型建立
由分析可知,在假设前提下确定{ai}的值即可求出最佳运行方案。
Min T(a1,a2,a3~,a(N-1))
a1>=2
a2-a1>=0
~
a(N-1)-a(N-A)>=0
-a(N-1)>=-f
其中,ai为整数。
六,模型求解
通过调查的数据,用计算机编程语言求出T的最小值及相应{ai}。
程序段如下(两部电梯):
#include 'fstream.h'
#include 'conio.h'
const int f=11;
double t1=1.6,t2=10;
int a[3]={1,2,f};
void main()
{
int i;
int b[3];
double T,Min=10000000;
for(a[1]=2;a[1]<=f;a[1]++)
{
T=0;
for(int r=2;r<=f;r++)
for(i=1;i<=2;i++)
{
if(a[i]>=r)
{
T+=(1.6*(a[i]-1)+5*(a[i]-a[i-1]+1));
T+=(t1*(r-1)+t2*(r-a[i-1]+1));
break;
}
}
if(T<Min)
{ Min=T;
for(i=1;i<=2;i++)
b[i]=a[i];
}
}
for(i=1;i<=2;i++)
cout <<b[i] <<' ';
cout <<endl <<'平均等候时间'<<Min/2940<<endl;
}
本程序由Microsoft Visual C++ 6.0 编译、运行通过
程序段如下(四部电梯):
#include 'fstream.h'
#include 'conio.h'
const int f=11;
double t1=1.6,t2=10;
int a[5]={1,2,2,2,f};
void main()
{
int i;
int b[5];
double T,Min=10000000;
for(a[1]=2;a[1]<=f;a[1]++)
for(a[2]=a[1];a[2]<=f;a[2]++)
for(a[3]=a[2];a[3]<=f;a[3]++)
{
T=0;
for(int r=2;r<=f;r++)
for(i=1;i<=4;i++)
{
if(a[i]>=r)
{
T+=(1.6*(a[i]-1)+5*(a[i]-a[i-1]+1));
T+=(t1*(r-1)+t2*(r-a[i-1]+1));
break;
}
}
if(T<Min)
{ Min=T;
for(i=1;i<=4;i++)
b[i]=a[i];
}
}
for(i=1;i<=4;i++)
cout <<b[i] <<' ';
cout <<endl <<'平均等候时间'<<Min/2940 <<endl;
}
七,模型评价
(1)通过运行程序,当电梯数目为2时,高峰期最佳运行反案为第一部电梯负责2~6层的运送,第二部电梯负责7~11层的运送,此时平均等待时间为0.308844分钟,为最小值,满意度最大。
(2)当增设两部电梯,则运行结果为3,6,8,11,0.22068。因为0.22068<0.308844,所以可以缓解拥挤情况。此时的运行方案为第一部电梯负责2~3层的运送,第二部电梯负责4~6层的运送,第三部电梯负责7~8层的运送,第四部电梯负责9~11层的运送。
(3)(电梯管理费用包括运行费、维护费、中修费、大修费、折旧费五项。一部主梯一年的管理费平均在8万元左右,一部备用梯一年的管理费约为2.7万元)----1。因此,高效运营成了降低电梯运行成本的唯一方法。通过本模型的分析和建立,只是在高峰期的研究中,由于电梯设在学校试验楼,供学生使用,因此在除高峰期之外的其他时间,通过调查发现由于学生上课或没课,电梯基本处于闲置状态。当在高峰期期间,假如在学校现有的两部电梯中,按照如上的运行方案,基本能解决大部分学生的运送任务,使大部分同学满意。若增设电梯,则造价太高(布局费,电梯购进费,管理费等),并且一天中高峰期总共不会超过40分钟,其余大部分时间处于闲置状态,所以不易增设,保持现有数量即可。
八,参考文献
1处摘自《北京市物价局关于调整委托管理住宅电梯、高压水泵收费标准的通知》(京价(房)字1996第274号文)
九,给院领导的一份电梯运行的建议
敬爱的院长:
你好!
我通过切身感受发现每当上午9:35~9:55,下午1:15~1:35和3:10~3:30这三个时间段我要乘坐电梯到高层的教室简直是难上加难。这三个时间段可以说是乘坐电梯的高峰期了,我的很多同学往往上课时间快到了,还会在下面排队等待电梯,因此总是迟到;一些来不急等电梯的同学只好爬楼梯,这样他们大汗淋淋,气喘吁吁的到了教室,需要缓很长时间才能进入学习状态。
为此,我提出以下方案:我把试验楼的两部电梯分两段运行,一部电梯运送2~6层的同学,另一部运送7~11层的同学,这种方案的建立在如上论文中都有所陈述。此方案可在节省学校的经费前提下,使电梯高效运行,达到同学们的最大满意度。
以上使我对学校试验楼在高峰期电梯拥挤情况提出的一个解决方案,望您能采纳。谢谢!
此致 05级计算机专业四班 xx 敬礼 2006年11月30日

我的更多文章

下载客户端阅读体验更佳

APP专享