文章摘要
电梯看似简单,实则复杂。文章介绍了电梯调度算法,从单梯的SCAN和LOOK算法,到多梯协调系统,并探讨了衡量电梯服务质量的关键指标——等待时间。
文章总结
好的,这是根据您的要求,对原文进行的中文重述,保留了核心细节,并删减了与主题无关的互动元素(如模拟器、图表引用等)。
电梯的奥秘:从单梯到智能调度
等电梯不来,是每个人都经历过的烦恼。看似普通的电梯,其背后的运作机制远比想象中复杂。本文将揭开电梯调度算法的神秘面纱。
单梯运行:SCAN与LOOK算法
最简单的电梯算法是1961年获得专利的SCAN算法。电梯从大厅出发,一路向上直达顶层,然后掉头向下返回,沿途停靠所有请求的楼层。
但大多数时候,我们并不需要去顶层。因此,更常见的优化算法是LOOK算法:电梯只上升到有最高请求的楼层,然后反向。这是大多数人熟悉和预期的运行方式。
多梯协调:从简单分配到智能优化
当有多部电梯时,如何协调它们响应不同楼层的呼叫就成了关键。
最基础的系统中,有一个中央调度器,将新请求分配给最近的电梯。然而,我们可以做得更好。
衡量标准:等待时间分布
衡量电梯算法好坏的最直观指标是等待时间。但人们通常不会记住平均等待时间,而是会记住那些“等了好久”的极端情况(例如,90%的情况下等待时间不超过2分钟,即p90指标)。
交通模式:早高峰的挑战
不同时段的客流模式差异巨大。在大型办公楼,早高峰几乎全是“从大厅到高层”的客流,晚高峰则相反。早高峰的等待时间统计通常是最差的。
更智能的算法:RSR(相对系统响应)
针对LOOK算法的简单就近分配(可能忽略电梯是否已满),奥的斯公司提出了RSR算法。该算法会为每部电梯计算一个“接客评分”,分数越低越适合接单。评分考虑以下因素:
- 预计到达时间
- 当前载客量惩罚
- 同向防聚集惩罚:如果另一部电梯已前往同一楼层同向接人,则扣分。
- 方向匹配奖励
- 空闲就近奖励:奖励呼叫楼层附近两层的空闲电梯。
- 低负载奖励
RSR算法每5秒重新优化一次。如果A电梯遇到延误,原本分配给它的乘客可能会被重新分配给B电梯。这种动态调整是优化客流的关键。
LOOK vs. RSR:性能对比
通过对比,有趣的是,当客流量非常高时,LOOK算法反而可能优于RSR。因为当电梯始终满载、每层必停时,复杂的规则作用不大。同样,在电梯数量少的小型建筑中,简单的LOOK算法也常表现更好。
反直觉的发现:目的层派梯系统
一些新型电梯取消了轿厢内按钮,改为在楼层大厅设置终端,让乘客在等电梯前就输入目的楼层,然后系统指定乘客等待某部电梯。这被称为“目的层派梯”。
然而,模拟显示,这种系统在大多数情况下,等待时间反而比传统的上下按钮系统更差。原因在于,传统系统每5秒的动态重优化提供了灵活性。而目的层派梯系统一旦分配,乘客就必须上指定的电梯,失去了根据实时情况调整的灵活性。这种刚性的代价超过了提前获知目的地的信息优势。
结论
这篇文章只是触及了电梯算法的皮毛。下次当你焦急地等待电梯时,请记住:电梯听到了你的呼叫,但它需要思考的事情远比你想像的要多。
评论总结
根据评论内容,总结如下:
主要观点与论据:
电梯调度算法复杂但效果有限(评分:无)
- 评论17指出:“All this technology just to underperform the S&P”(所有技术只是为了跑输标准普尔),认为复杂算法带来的收益微乎其微。
- 评论7强调:“simple up and down buttons work best”(简单的上下按钮效果最好),并批评智能电梯系统是“solutions looking for a problem”(为问题找解决方案)。
对智能电梯系统的普遍不满(评分:无)
- 评论14抱怨目的地调度系统:“struggling to find the car I've been assigned to”(很难找到分配给我的电梯),且访客常误入无按钮轿厢。
- 评论7详细描述了系统缺陷:电梯满载时跳过楼层,导致乘客无法上下,并认为“express elevators and sky lobbies”(直达电梯和空中大堂)更有效。
用户行为与算法设计的矛盾(评分:无)
- 评论16指出用户常同时按上下按钮,导致电梯反向运行,增加不必要的停靠:“they end up going the wrong way first half the time”(他们有一半时间先走错方向)。
- 评论30建议加入容量传感器,避免满载电梯停靠却无法载客:“Better if the car was full and just moved on”(如果电梯满了就直接开走更好)。
对电梯模拟与游戏的兴趣(评分:无)
- 评论2、5、23推荐Elevator Saga游戏(play.elevatorsaga.com),认为它是理解调度算法的好工具。
- 评论20分享开发游戏《Sky Lobby》的经验,采用LOOK算法并优先处理等待时间较长的楼层。
其他技术细节与改进建议(评分:无)
- 评论6建议算法应重新分配停靠过近的空电梯。
- 评论13批评电梯不自动返回大堂:“Half your traffic is over there!”(一半的客流都在那里!)。
- 评论29建议空电梯应分散停靠各楼层,以缩短响应时间。
平衡性总结: - 支持简单算法:评论7、17认为传统上下按钮或简单算法(如LOOK)效果更好,智能系统常是商业推销。 - 支持复杂优化:评论20、23、24对调度算法有浓厚兴趣,认为模拟和优化有研究价值。 - 用户行为问题:评论16、30指出用户操作不当和系统设计缺陷共同导致效率低下。 - 游戏化学习:评论2、5、9、10、23、24通过游戏或模拟理解算法,认为这是有趣的学习方式。