结对开发项目:多部电梯调度(一)(兰梦、刘佳琪)

 

二、需求分析

本指南作为指导电梯调度程序设计开发。通过规范软件项目的开发,更加高效的设计高质量的软件,并且有利于有效降低软件的维护成本,用最小的代价为用户创造更加完善的服务。

电梯平均运行速度

2.3秒/层

电梯开/关门时间

2.5秒

电梯完全开门到开始关闭间隔

1.8秒

 

 

 

 

首先我们在设计电调度程序之前已经对电梯的运行情况进行了实地的考察和调研。通过对电梯的亲自使用,更加直观的体验了电梯在运行过程中的种种情况。比如:电梯的超重,电梯的开关门时间,电梯升降的时间,在最后一个人离开电梯并且电梯未接到请求时电梯会停在原处等状况做了分析。我们对时间的测量结果如下:

(1)电梯运行规则:
a)电梯的运行规则:电梯1-电梯4四部电梯可以相应达到每一层。 
b)初始位置:开始时,各电梯随即处于符合运行规则的任意一层。 
c)初始容量:初始所有电梯无人乘坐,为空梯。 
d)运行方向:电梯运行的方向由先发出请求者决定,不允许后发出请求者改变电梯的当前运行方向, 除非是未被请求的空梯。即当电梯在上行过程中,不响应电梯内部乘客比当前层低的楼层;当电梯在下行过程中,不响应电梯内部乘客比当前层高的楼层 
e) 安全要求:不允许电梯超员、超重。

(2)乘客运行规则: 

a) 初始位置:每个人初次所要到的楼梯层是随机的,令其在台适的电梯处等待电梯的到来。 
b) 请求特征:每次发出的乘坐请求为随机楼层。 ” 
c) 行为特征:每个人乘坐的台适电梯到达指定楼层后,随机地停留一定时间后,再根据其他请求去往另 一楼层。

(3)电梯状态

a)正在向下行使中,

b)正在向上行驶中

c)处于停止中。

三、问题的解决思路

          题目要求四台电梯在21层楼中运行,保证在运行过程中尽量提高效率。我们准备采用的是先请求先服务的算法。

(1)电梯的初始化

       每台电梯在开始时是静止在不同楼层的。根据楼层数和电梯数,我们做了如下设计,一号电梯停在20层,二号电梯停在14层,三号电梯停在7层,四号电梯停在1层,每次当电梯里面空的时候,电梯会停在最后一个人出电梯的楼层。

(2)异常的处理

          由于电梯对于载重有要求,电梯每次根据该电梯限重与此时载重的差和45千克比较,如果大于45,则该电梯可被调度,反之,则不可被调度。

           当电梯停在某层后,乘坐电梯的人比较多,电梯超重时会发出信号,提示乘客出去,且电梯此时不能再被请求。

           当大楼出现停电或电梯出现意外状况是,电梯立即停止,利用其内部设备向有关人员发出信号。

(3)具体的调度思想

        请求的处理:先来先服务算法; (根据访问者提出访问请求的先后次序来决定执行次序)

        针对每个乘客的请求调度:

     某一楼层的人对电梯有上楼的请求时,首先考虑哪一个电梯静止或正在向上运行(且在请求人所在楼层之下),选择其中与请求 人所在楼层最近的电梯进行调度;

    当某一楼层的人对电梯有下楼的请求时,首先考虑哪一电梯静止或者正在向下运行(且在请求人所在楼层之上),选择其中与请求人所在楼层最近的电梯进行调度

     如果满足上述条件的有多个,可以比较各个电梯与请求人的距离,按最近距离进行调度。

四、一些其他的设想

     由于本大厦为办公楼,也应考虑上、下班等一些特殊的时间段,

在上班高峰期,应将四部电梯都放到0层,到达最高层后,在向下回到底部,减少请求长时间不被响应的问题,

在下班高峰期,将电梯放到高层,到最底层再回到高层。

 

posted on 2014-03-09 22:43  缘泉  阅读(647)  评论(0编辑  收藏  举报

导航