懂点儿数学,排队更省时

简介:

要是刘姥姥来到21世纪,把每一座大都市都逛上几圈,她一定会觉得都市人最喜欢的娱乐就是排队。早在1946年,匈牙利裔的作家乔治·米克斯(George Mikes)定居伦敦时,就在著作《如何当一个外星人》(How To Be An Alien)中写下了一段经典名言:“到周末,英国人在公车站前排队到里士满公园(Richmond Park)玩。他们排队等游船,排队等喝茶,排队等吃冰淇淋。然后纯粹出于兴趣,再去排一些更奇怪的队伍。最后回到公车站前排队,花上他一辈子的时间……许多英国家庭喜欢晚上在家里排上好几个小时的队伍。当小孩子不玩了,准备排队去睡觉时,是父母们最难过的时刻了。”


每当有新的电子产品即将发售时,狂热的粉丝们就恨不得提前好几天带着装备来排队了。(图片来源:mirro.co.uk)


这是旁观者兴灾乐祸的心态。对于身陷在队伍之中的人,或者商家来说,看到这么多等得不耐烦、随时要离开的客人,总归是一件不好的事。各位有没有想过,如果不考虑先来先到的公平性原则,想减少所有客人等候时间总和的话,该先服务哪些客人吗?


答案是,先服务很快就可以搞定的客人。


举例来说,大毛、二毛、小明三兄弟在柜台前排队,大毛买了全家的生活用品,得花100秒结帐;二毛拿了一堆零食,需要花50秒结帐;而小明只拿一罐奶茶,10秒就结完帐了。如果按照年龄从大到小的顺序结帐,大毛、二毛、小明各自会花上100秒、150秒、160秒的时间才能完成结帐,平均时间为136.7秒。但如果颠倒过来让结帐快的人先结帐,则小明、二毛、大毛仅需要10秒、60秒、160秒可以完成结帐,平均是76.7秒,缩短了60秒。


用符号表式可以看得更清楚,当三人结帐时间各自为t1、t2、t3,并按照这样的顺序结帐时,每个人各自完成结帐的时间是t1、t1+ t2、t1+ t2+ t3,平均为t1+ 2t2/3+ t3/3。随着队伍的顺序,越后面的人对结帐时间影响越小,以N个人来说,第n位客人的排队时间是tn,平均时间即为:



因此,店家可以先处理那些不大需要花时间的客人,这样可以降低每人平均等待时间,提升顾客满意度;同样的道理,店家也可以反过来,先处理大客户的单,营造出门庭若市的热闹形象。所以如果你看到某间盐酥鸡摊位前排队的人特别多,说不定不一定是很好吃,只是老板数学很好,刻意延后那些只买豆干或甜不辣的点单。


然而,因为现实情况中需要考虑的地方太多,数学理论有时很难直接套用。在排队这个问题上,就算可以依照结帐时间排队,商家也不愿意真的这么做。因为要是真按照这个标准,等于变相鼓励大家买少一点,才能快点结帐。买了10万元的大客户永远得被排在最后面,等到铁卷门拉下来了才能结他的帐。


但这则理论并没有失效,商人们依然成功地将它转化为了一件我们都知道的东西——快速结帐柜台。借由快速结帐柜台设定的结帐门槛,将原本结帐时间短到长的排序,用二分法取代,低于门槛的人优先处理。如此一来,就能够大幅缩减整体的排队时间。


现在很多超市中都设有快速结账柜台。方便那些购买的商品较少的顾客快速完成结账。(图片来源:rpgwebgame.com)


不过,快速结帐柜台还是有些缺点。要是大家都买太多,就没人可以去快速结账柜台;或刚好相反,大家都买很少,就会有一群人塞在快速结账柜台,让“快速”两个字变得很讽刺。因此,可以将快速结账柜台的件数限制改成用LED屏幕动态显示,即根据现在的顾客人数,搭配顾客结帐时间的统计分布图,实时估算出最佳的快速结帐柜台件数限制。甚至,可以设定好几个快速结帐的柜台,各自有不同的结帐门槛。


这样的想法很有效,但也很复杂。要是真的实践了,光应付搞不清楚状况的顾客,恐怕就会花上更多时间。拥有好几个结帐柜台的商家,因此又采用了一个更简单,且同样广为使用的策略:将排在多个柜台前的多条队伍整合成一条队伍,借此大幅提升排队效率。


两种主要的排队方式,右边的方法排队效率更高。


继续以刚才的大毛、二毛、小明例子来说,假设他们还有一位表弟三毛,购买的商品结帐时间为20秒。假设大毛、小明和二毛、三毛分别排两条队伍,四人结帐所需的时间各自为大毛100秒、小明110秒、二毛50秒、三毛70秒,平均是82.5秒。但如果四人排成一条线,顺序是大毛、二毛、三毛、小明,则两个柜台各自结帐的顺序分别是(大毛),(二毛,三毛,小明)。大毛、二毛、三毛所需的时间不变,但小明却可以在三毛结帐后,不用继续站在大毛后面空等,直接去另一个柜台结帐,最终只需要80秒,省下了20秒(原本排两列的状况,很可能小明在等大毛时,旁边的柜台又有新的人排队,让小明无法换柜台)。换句话说,将多条排队的人潮合并化成一条,可以避免因为某一个结账时间特别久的人,而延长该队伍客人的整体结帐时间。


因此,如今在银行、邮局、飞机登机柜台、政府机关,都采用了搭配电子叫号的单条排队制度。不仅让客人在等候时可以坐在沙发上看报纸,还能大幅缩短平均排队时间。大卖场不这么做的原因,一部分是因为柜台拉得太长,要是最远的柜台空了,恐怕客人也不愿意推着推车走过去;另一个原因是,实际在现场时,客人会去观察每个柜台的排队人数,甚至根据队伍中每位客人篮子里的物品项目,估算每条队伍的排队时间,再选择一条自己认为最快的队伍。在这样智慧的选择下,多条排队的效果将会大幅提升。


原文发布时间为:2014-10-18

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
资源调度 前端开发 CDN
纯css动画库animate.css的用法
纯css动画库animate.css的用法
1089 0
|
7月前
|
存储 弹性计算 网络协议
阿里云服务器ECS购买流程,一张图看懂,2026年最新版指南
2026最新阿里云ECS购买指南:一张图详解自定义购机全流程——涵盖付费类型(包年包月/按量/抢占式)、地域与可用区、实例规格族、操作系统镜像、系统盘/数据盘、公网带宽(固定/流量)、安全组、弹性网卡、IPv6及高级配置等,助您快速下单部署。
741 1
|
8月前
|
弹性计算 网络安全 异构计算
使用阿里云GPU服务器部署Qwen3-235B-A22B推理模型,基于ecs.ebmgn8v实例规格
本文介绍如何使用阿里云GPU服务器(ecs.ebmgn8v实例,8卡96GB显存)部署Qwen3-235B-A22B大模型,涵盖创建VPC、安全组、GPU实例、环境配置、模型下载、部署及推理测试全流程,费用约290元/小时。
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
JSON fastjson Java
FastJson 完全学习指南(初学者从零入门)
摘要:本文是FastJson的入门学习指南,主要内容包括: JSON基础:介绍JSON格式特点、键值对规则、数组和对象格式,以及嵌套结构的访问方式。FastJson是阿里巴巴开源的高性能JSON解析库,具有速度快、功能全、使用简单等优势,并介绍如何引入依赖,如何替换Springboot默认的JackJson。 核心API: 序列化:将Java对象转换为JSON字符串,演示对象、List和Map的序列化方法; 反序列化:将JSON字符串转回Java对象,展示基本对象转换方法;
3914 77
|
9月前
|
算法 搜索推荐
经典的 TF-IDF 算法是什么?
TF-IDF是衡量词与文档相关性的经典算法,由词频(TF)和逆文档频率(IDF)相乘得出。TF反映词在文档中的重要性,IDF体现词的区分度。词频越高、文档频率越低的词,权重越大。通过累加各词项的TF-IDF值,可计算查询与文档的整体相关性,广泛应用于搜索引擎排序。
|
10月前
|
消息中间件 编解码 Kafka
企业微信ipad协议:Silk语音流转码为PCM的实时管线设计企业微信ipad协议:Silk语音流转码为PCM的实时管线设计企业微信ipad协议:Silk语音流转码为PCM的实时管线设计企业微信ipad协议:Silk语音流转码为PCM的实时管线设计
企业微信iPad协议中,语音消息采用Silk V3编码。为实现低延迟ASR,网关需实时将流式Silk解码为PCM并推送Kafka。通过内存池缓存解码器、无锁环形队列传输、逐块分窗处理,实现零拷贝、P99延迟≤10ms。单核支持200路并发,为实时字幕与语义分析提供高效数据底座。(238字)
1580 0
|
机器学习/深度学习 移动开发 供应链
基于时间图神经网络多的产品需求预测:跨序列依赖性建模实战指南
本文展示了如何通过学习稀疏影响图、应用图卷积融合邻居节点信息,并结合时间卷积捕获演化模式的完整技术路径,深入分析每个步骤的机制原理和数学基础。
525 1
|
监控 数据可视化 测试技术
如何优雅地处理 API 版本控制?
API 版本控制是确保 API 升级不影响现有用户的关键。通过管理多个版本,开发者可以推出新功能或修复问题,同时保留旧版本以常见的版本控制方式包括 URL 路径、查询参数和请求头版本控制。优雅处理版本控制需要提前规划、清晰传达变更信息、提供升级指南,并监控版本使用情况。工具如 [APIPost](https://www.apipost.cn) 可助你轻松跟踪版本差异、管理标签并提升团队协作效率。掌握 API 版本控制,结合专业工具,让 API 开发更高效便捷。
|
移动开发 前端开发 JavaScript
说说JSBridge的原理?
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了 JSBridge 的背景、核心原理及其在 Android 和 iOS 平台上的实现方式,探讨了其应用场景、安全性和性能考量,并提供了优化建议。JSBridge 作为混合开发的关键技术,允许网页应用调用原生功能,结合了两者的优点。
1595 2
说说JSBridge的原理?

热门文章

最新文章