思维模型格栅

计算机与信息 · 10/14

排队论Queueing Theory

任务到达或耗时有波动时,负荷越接近上限,等待越会陡增。

2021年10月,洛杉矶港外等待卸货的集装箱船,把美国供应链的拥堵摆到了海面上。码头仍在作业,但进口货量激增,卡车和仓库也接货吃紧。一批货还没运走,下一批船已经赶来,延误越积越多。10月13日,美国总统拜登在白宫宣布,洛杉矶港将转向全天候作业,以增加处理能力。码头工人继续忙,货主却继续等:每天能处理多少货,与一批货要等多久,是两件不同的事。

为什么成立

随机到来的任务会把等待拉长

一个平均每分钟办完一笔业务的柜台,能让顾客平均等上十九分钟。设想顾客以固定平均速率、彼此独立地随机到达,即泊松过程。办事时长彼此独立、服从指数分布,且与到达过程独立。队伍不限长,顾客先来先办、不弃队。按这个单柜台模型计算:

每小时平均到客数 利用率 平均排队时间
48人 80% 4分钟
54人 90% 9分钟
57人 95% 19分钟

剩余能力越少,积压越难清掉

利用率是到达速度与处理能力之比:。是平均每小时到客数,是柜台持续忙碌时平均每小时办完的笔数。在的长期稳定状态下,平均排队时间为:

白话说,平均办事时间乘上“已用能力与剩余能力之比”,就是平均等待;等待不含办事本身。利用率从90%升到95%,这个倍数就从9变成19。

突然多来几个人,队伍只能靠剩余能力慢慢消化。柜台越忙,越难在下一波顾客到来前清空队伍。偶发的长业务还会让后面的人一起等。空闲时段无法存起来,留给拥挤时段使用。

出处

排队论起源于电话通信中的应用概率研究。1909年,丹麦数学家阿格纳·厄朗研究哥本哈根的电话业务,以实际话务数据分析随机呼叫与线路占用。1961年,约翰·金曼提出单服务台等待时间的近似公式,把负荷、波动和等待连在一起,后来广用于计算机性能和生产管理。

换个领域看

技术

服务器越忙越慢

高利用率会放大在线服务的排队延迟。2013年,谷歌工程师杰夫·迪恩与路易斯·巴罗索在《The Tail at Scale》中讨论了这一现象:请求争用处理器等资源,少数慢请求拖长响应。给服务器留出余量,能帮助缩短用户等待;只看每次计算耗时,会漏掉计算前的排队。

个人生活

日程留出空档

日程排满时,一件临时任务就能让后面的安排接连延期。假设你是独立设计师,把每天八小时都承诺给客户,修改意见却随时会来。多出一小时返工,就要挤掉下一项工作。每天少承诺一小时,让突发任务有地方落下,能减少客户等稿的时间。

投资

满产未必利好

接单增长能否变成利润,要看企业还剩多少处理能力。假设你评估一家代工企业,现有订单已占可用工时的95%,管理层承诺再多接一成订单。若设备与工艺不变,所需工时就会超过产能,交期持续拉长。估值时应把扩产成本、交付时间和违约损失放进预测。

遇事时问自己

  1. 任务实际到达的速度,与持续忙碌时能完成的速度,各是多少?
  2. 客户或任务会不会集中到来,有没有少数任务特别耗时?
  3. 排队发生在哪个具体环节,它还剩多少能力来消化积压?
  4. 能否通过预约错峰、缩短耗时或增加处理能力,让队伍及时清空?
  5. 我愿意花多少成本保留空闲能力,换取多短的等待时间?

边界与误用

等待陡增的前提,是任务到达或处理耗时有波动。若任务严格按时到达、耗时固定且排程恰好衔接,满负荷也能没有等待。单柜台公式不能直接套到多柜台、优先插队或顾客会放弃的系统,这些规则会改变等候结果。上述随机模型里,长期到达速度达到或超过处理能力,就没有有限的稳态平均等待。最常见的误用是把80%当成通用安全线:应按实际波动、服务台数量和等待目标留余量。

练一练

一家公司的采购申请由一位专员逐份审核。各部门原本在工作日内陆续提交,现在准备改为每天下午三点统一提交。申请总量、每份审核耗时和专员工作时间都不变,专员此前没有频繁切换任务的问题。

这项调整最可能带来什么结果?

投资人考察两家车辆检测站,每家只有一个检测工位。两站都以相同的规律随机到车,平均每小时两辆,先来先检,客户不弃队。甲站每辆检测固定用20分钟;乙站一半用5分钟,一半用35分钟,耗时彼此独立,也与到车无关。两站营业时间和收费相同。

关于客户等待,哪种判断最站得住?

小区有一间共享琴房,每次预约固定30分钟。住户都准点到场、准点离开,无需清场,也没有临时来客。周六的预约连续排满四小时,前一人离开时后一人正好进入。一位住户认为,使用率达到100%,等待一定会越来越长。

对这位住户的判断,哪种回应最站得住?