电梯调度问题分析及设计思路

   电梯运行分析及其设计思路

 

    老师让设计实现一座大厦四座电梯的调度问题,首先,为了更接近实际情况,我们进行了实际的调研工作,对一座有11层的楼的电梯运行情况进行了实地考察。

首先电梯从1层上到11才层,中间不停一共用时36秒,平均每上一层用时3.6秒,考虑到实际情况电梯不可能一层一不停,就让电梯下的时候基本上每一层都停了,计算了一下,电梯平均每停到一层,从停,开门,等人上,再自动关上门一共用时10秒,从这一时刻开始,电梯加速再到减速到下一层停一共用时8秒,从这些数据基本上就可以确定电梯各中情况的运行时间。

下来考虑电梯运行的实际情况,即电梯的实际调度问题。首先电梯总的分两种情况向上和向下走,在每一层的外面有两个按钮,向上和向下,内部有各个楼层的按钮号,电梯是否运行就有这两侧的按钮决定。先分析外部按钮按下的各种情况,当外部任一层的外部按钮被按下,当按下的是向上的按钮时,电梯要是在该楼层的的下面,正处于上的状态时,到该层时就停一下,开门上人,要是正处于下的状态,等向下的人都下完了,在电梯向上走到该楼层就停,当电梯在该楼层的上面时,情况都一样;当按的向下的按钮时,情况同上;在内部时,首先要以电梯的上行或下行的状态为前提,当内部的按钮所对应的楼层被按下时,电梯到了对应的楼层时就停,当内外都没指令时,电梯就停着不动。

最后就是如何模拟的问题了:

1.乘客使用动画进行模拟进入电梯,乘客人数与体重均由随机数生成。

每进入一个乘客(每个乘客进入电梯得时间均等,人数越多,电梯等待时间越长),记录人数和总量的变量累加并判断。若超重,乘客出电梯。

当乘客不在进入电梯的时间超过10秒,电梯关闭。

2.电梯层数通过栈来实现每一层的停留。每到一层判断下是否有人。

3.电梯层数与各层所在人数,通过随机数生成,但要累加进行。

以上是一个电梯得情况

4台电梯同时进行时,要判断电梯的先后,及时对各层的人数进行刷新更改。

初步想法是一个每层情况,模仿多个窗口售票的情况,即涉及到多个线程的问题。

程序中主要使用的是两个类即人物类和电梯类,用于实现各种功能,电梯的是否在每一层停,就按每一层的状态来判断,从而实现不同的功能。

posted @ 2014-03-12 22:00  磨磨唧唧  阅读(568)  评论(1编辑  收藏  举报