排队论机台数量与缓冲配置优化器|MES与生产管理工具
这个工具解决什么问题
加机台是最贵的产能手段,但很多人凭「感觉不够用」就立项。排队论给出精确答案:按到达率与单机服务率,可算出每档机台数下的排队等待、在制总量与小时总费用,从而得到经济最优台数与达标最少台数;更重要的是揭示替代路径——服务率提升 15%(缩短换型、并行做首件)往往比买一台机更划算。工具同时给出基于队长分布的在制品上限建议,防止「用加机台掩盖投放节奏失控」。
输入数据格式
数据文件 queue_params.csv,列顺序为:机台数、单机利用率、排队队长、排队等待h、停留时间h、在制总量、小时总费用元、可行。
示例首行:4,0.9545,18.9229,4.5055,5.4145,22.7411,5640,是
示例输出(真实运行结果节选)
==========================================================================
排队论机台数量与在制品缓冲配置优化报告
==========================================================================
一、输入参数
到达率 λ = 4.20 lots/h;单机服务率 μ = 1.10 lots/h(含换型与调机)。
目标排队等待 ≤ 15 min;单台机小时费用 180 元/h;
在制品等待成本 260 元/(lot·h)。
二、机台数 vs 利用率 / 等待 / 在制 / 小时费用
台数 单机利用率 排队队长 排队等待 停留时间 在制总量 小时总费用(元)
------------------------------------------------------------------------
4 95.5% 18.92 270.3 min 324.9 min 22.74 5640
5 76.4% 1.57 22.4 min 77.0 min 5.39 1308 ← 现状
6 63.6% 0.42 6.1 min 60.6 min 4.24 1190 ★ 费用最优 ✔ 达标最少台数
7 54.5% 0.13 1.9 min 56.5 min 3.95 1295
8 47.7% 0.04 0.6 min 55.2 min 3.86 1451
三、结论一:机台数量
现状 5 台:排队等待 22.4 min,超过目标 15 min 的 1.5 倍。
达到目标等待时间的最少机台数为 6 台(排队等待降至 6.1 min)。
经济最优为 6 台:小时总费用 1190 元,低于现状 1308 元(省 118 元/h)。
折年(按 6000 有效小时)可节省约 70.9 万元。
四、结论二:不买机台的替代路径(服务率改善 15%)
若把 μ 从 1.10
一句话
用 M/M/c 排队模型算清「要几台机、等多久、在制压到多少」,把钱花在刀刃上。
运行环境与快速开始
python queue_capacity_sizing.py
输入数据格式(换成你的数据即可)
· 到达率 λ、单机服务率 μ、目标等待时间、机台小时费用、在制品等待成本、候选台数范围 · 数据来源建议:MES 报工间隔统计到站间隔与加工时长
输出说明
各档机台数的利用率/排队队长/等待/在制/小时费用表、经济最优台数、达标最少台数、服务率改善替代路径、WIP 上限建议。
算法口径(关键公式)
· ρ = λ/(cμ) · P0 = [Σ a^n/n! + a^c/(c!(1−ρ))]⁻¹ · Lq = P0·a^c·ρ/(c!(1−ρ)²) · Wq = Lq/λ · 小时总费用 = c×机台费用 + Lq×在制等待成本
判定标准说明
脚本顶部集中了主要阈值与常量:CSV_PATH=os.path.join(HERE, "queue_params.csv")、RPT_PATH=os.path.join(HERE, "示例输出报告.txt")。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:queue_params.csv、示例输出报告.txt。
脚本里的主要处理步骤
mmc():M/M/c 排队指标。返回 dict;ρ>=1 视为不可行。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- M/M/c 排队指标。返回 dict;ρ>=1 视为不可行。
- 排队论机台数量与在制品缓冲配置优化报告
- 一、输入参数
- 目标排队等待 ≤ %.0f min;单台机小时费用 %.0f 元/h;
- 在制品等待成本 %.0f 元/(lot·h)。
- 二、机台数 vs 利用率 / 等待 / 在制 / 小时费用
- ← 现状
- ★ 费用最优
- ✔ 达标最少台数
- 三、结论一:机台数量
- 达到目标等待时间的最少机台数为 %d 台(排队等待降至 %.1f min)。
- 折年(按 6000 有效小时)可节省约 %.1f 万元。
- 四、结论二:不买机台的替代路径(服务率改善 %.0f%%)
- 若把 μ 从 %.2f 提到 %.2f(缩短换型、并行做首件、减少调机等待),
- 5 台机时排队等待由 %.1f min 降到 %.1f min,%s。
- 已达标,可不增购
- 改善服务率的小时费用增量为 0 元,但需投入换型优化的一次性改善工时。
- 五、结论三:在制品缓冲上限
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:queue_capacity_sizing.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 8 列:机台数、单机利用率、排队队长、排队等待h、停留时间h、在制总量、小时总费用元、可行。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
本工具归在 MES与生产管理工具包,全部工具见 工具资源包下载页。





