BlackHalo logo
Published on

电梯算法:按钮背后的复杂博弈

Authors
  • Name
    Jrh0203
    john.fun
现代办公楼内多部电梯并排运行示意图
头图来源: 来源页面

电梯算法的基本逻辑

电梯的调度算法远比表面看起来复杂。最简单的算法是SCAN,1961年获得专利。电梯从大厅出发,一路直达顶层,然后反向返回底层,沿途接送乘客。

  • SCAN算法:电梯始终运行到最高层再折返。
  • LOOK算法:电梯只运行到有请求的最高楼层后折返,更符合人们的预期。

多轿厢协调的挑战

当一栋楼有多部电梯时,如何分配乘客成为关键。最基础的系统中有一个中央调度器,负责将新请求分配给最近的电梯。

  • 中央调度器根据电梯位置分配请求。
  • 简单的“最近电梯”策略并非最优。

衡量电梯性能的指标

评估电梯算法好坏的核心指标是等待时间。常用的度量包括:

  • 30秒内到达的比例。
  • 90秒内到达的比例。
  • 等待时间的分布(如p50、p90)。

人们通常不会记住平均等待时间,而是对“电梯迟迟不来”的极端情况(p90)印象深刻。

不同时段的客流模式

电梯的客流模式随时间变化显著:

  • 早高峰:绝大多数客流是从大厅到高层。
  • 晚高峰:客流方向相反,所有人离开大楼。
  • 午餐时段:双向客流混合。
  • 其他时段:楼层间穿梭的客流为主。

早高峰的等待统计通常最差。

更智能的RSR算法

Otis公司的RSR(相对系统响应)算法通过综合评分来分配电梯。评分越低,表示电梯越适合接单。

  • 评分公式:ETA到接客点 + 轿厢负载惩罚 + 同向防聚集惩罚 - 方向匹配奖励 - 附近空闲奖励 - 低负载奖励。
  • 防聚集惩罚:若另一部电梯已前往同一楼层同方向,则扣分。
  • 空闲奖励:若电梯在呼叫楼层两层内空闲,则加分。

RSR每5秒重新优化一次分配。即使乘客已被分配给A电梯,若A遇到延误,系统可将其重新分配给B电梯。这种动态重优化是提升效率的关键。

LOOK与RSR的性能对比

通过模拟对比,结果出人意料:

  • 在高流量时,LOOK算法反而优于RSR。当电梯始终满载且每层都停时,额外规则作用不大。
  • 在小建筑或电梯数量少的场景中,LOOK也常胜出。
  • 有时,保持简单反而更好。

另一个指标是行程时间(在电梯内的时长),但本文未深入探讨。

目的地派送系统的悖论

新型电梯采用目的地派送系统:乘客在楼层终端机上输入目标楼层,系统指定应乘坐哪部电梯。

  • 优点:调度器提前知道所有乘客的目的地。
  • 缺点:系统失去灵活性——乘客必须进入指定电梯,无法根据30秒后的实时状态调整。

模拟结果显示,在大多数情况下,传统上下按钮的等待时间优于目的地派送系统。只有在极高建筑(每梯组8部以上电梯)中,派送系统才可能胜出。

  • 核心原因:每5秒的重优化步骤被派送系统的刚性约束破坏。
  • 额外信息的价值被灵活性损失抵消。

交互式模拟与结论

文章提供了一个完整的模拟器,允许用户调整楼层数、电梯数、流量和算法(LOOK、RSR、目的地派送),实时观察等待时间分布。

  • 模拟器支持早高峰、晚高峰、午餐、楼层间等模式。
  • 可切换算法并观察30秒/90秒等待比例。

结论:电梯算法只是冰山一角。下次等电梯时,请记住:电梯听到了你的呼叫,只是它需要思考的事情太多了。

原标题:Elevators。 HN 原始发布时间:2026年7月31日星期五。当前记录为 905 分、223 条评论。

阅读原文 · 查看 HN 讨论