乘坐电梯,或许真的不止等待,有的人会掏出手机、缓解尴尬,充实时间。而在电梯空间等待的时间,有各种职业的交汇,如送外卖的小哥,正下楼吃饭的白领,或许还有临时加班的电梯维护工程师...
在乘坐电梯时,做电梯装修的可能会联想如何装修电梯,安装的在想怎么安装,保养维护的已经在掐指一算,何年何月何日已维护,下次是什么时候,什么问题...
本期,我们一起看看程序员等待电梯时,可能会思考什么。
电梯上上下下的,中间还可能有上有下,如何安全、便捷的保障电梯运行,而不是三天五次的出现bug,是一个值得探讨的问题,这就需要调度算法。

电梯调度算法是为了提高电梯系统的效率和性能而设计的策略和方法。
其目标是在有限的时间内响应乘客的请求,快速准确地将乘客运送到目的地。
在电梯调度算法中,常见的传统算法包括先来先服务算法(FCFS)、最短寻找楼层时间优先算法(SSTF)、扫描算法(SCAN)、LOOK算法和SATF算法。
先来先服务算法(FCFS)是一种简单公平的算法,按照请求的先后顺序为乘客服务。但在高负载情况下,可能导致等待时间过长,效率不高。
最短寻找楼层时间优先算法(SSTF)优先响应距离最近的请求,减少了寻找楼层的时间。但可能导致某些请求长时间得不到响应,存在不公平性。
扫描算法(SCAN)让电梯在最底层和最顶层之间来回运行,响应与运行方向相同的请求,效率较高。但不是实时算法,可能导致某些请求长时间等待。
LOOK算法是SCAN算法的改进版本,及时改变运行方向以减少等待时间,提高了效率和公平性。
SATF算法考虑了乘客上梯时间的影响,将寻找楼层的时间改成了访问时间,更符合实际需求。
除了传统算法,还有一些高级的实时电梯调度算法,如最早截止期优先调度算法(EDF)、SCAN-EDF算法、PI算法和FD-SCAN算法。这些算法在考虑时限和移动时间方面更加细致,提高了电梯系统的效率和性能。
在对电梯问题进行需求分析时,需要考虑电梯的初始状态和按钮功能。电梯的初始状态包括建筑楼层、电梯数量和停靠位置等。按钮功能包括楼层按钮、开门按钮、关门按钮、向上按钮和向下按钮,每个按钮都有特定的功能和使用规则,影响电梯调度算法的设计和实现。
总之,电梯调度算法是为了提高电梯系统的运行效率和乘客体验而设计的关键技术,需要综合考虑多种因素,选择合适的算法来满足实际需求。
算法内容整理于网络,仅供参考。