可承诺量ATP与插单影响分析器|MES与生产管理工具
这个工具解决什么问题
这工具不替你决策,但会把决策需要的依据一次性摆出来。
销售拍脑袋答应交期、生产被迫插队、老客户订单悄悄逾期 —— 根因是没算清可承诺量(ATP) 与时间围栏(冻结期)。本工具算出逐周预计可用量 PAB、ATP 分段余量,给出插单评审结论, 并把「整单顺延 / 外协补缺 / 拆单 / 加班赶工」四种应对方案的成本摆在一张表上。
输入数据格式
数据文件 mps_orders.csv,列顺序为:周、主生产计划接收、已承诺订单。
示例首行:1,0,40
示例输出(真实运行结果节选)
============================================================================== 可承诺量 ATP 与插单影响分析报告 ============================================================================== 一、主生产计划与已承诺订单(滚动 12 周) 周 主计划接收 已承诺订单 预计可用量 PAB 备注 -------------------------------------------------------------- 1 0 40 80 冻结期 2 0 35 45 冻结期 3 200 60 185 有到货 4 0 70 115 5 250 80 285 有到货 6 0 90 195 7 300 60 435 有到货 8 0 55 380 9 200 45 535 有到货 10 0 40 495 11 250 50 695 有到货 12 0 30 665 期末可用量 = 665 件;全期最低点 = 45 件(安全库存下限 40 件) 二、ATP 分段(可承诺量) 分段 覆盖周 段内到货 段内已承诺 ATP(可承诺量) ---------------------------------------------------------- 1~2 周 1~2 周 0 75
一句话
客户插单能不能接、接了赔多少,应该由可承诺量算出来,而不是由销售拍出来。
运行环境与快速开始
纯 Python 标准库,零第三方依赖,Python 3.8+ 开箱即跑。首次运行自动生成计划 CSV 与中文报告。
python atp_order_promise_analyzer.py
输入数据格式(换成你的数据即可)
mps_orders.csv:周 / 主生产计划接收 / 已承诺订单。 脚本顶部常量区可改期初库存、安全库存、冻结周数、周产能、加班能力与各项成本参数。
输出说明
主生产计划与 PAB 逐周表、ATP 分段表(含守恒校验)、插单评审(冻结期检查 + 可承诺量判定)、 四种应对方案成本对比、拆单方案可行性复核、使用提示。
算法口径(关键公式)
· PAB(w) = PAB(w-1) + 主计划接收(w) - 已承诺订单(w) · ATP(段) = 本段到货 - 本段已承诺(首段另加期初库存) · 可承诺量 = 需求周所在分段的 ATP 余量 · 逾期罚金 = 数量 x 单价 x 罚金率 x 逾期周数
判定标准说明
自检包含 ATP 总和守恒(= 期初 + Sigma 主计划 - Sigma 已承诺)、基线 PAB 不低于安全库存、 冻结期插单判不受理、拆单方案重算后仍不低于安全库存。
常见问题
· ATP 等于剩余产能吗? 不等于。ATP 是「已有供应减去已承诺需求」, 想多做只能靠加班或外协,其增量成本要提前算进报价。 · 拆单为什么常最优? 它把有限的余量用在最急的批次上,只让剩余部分逾期,罚金最省。 · 冻结期设几周? 按物料采购提前期与换线准备时间定,一般 1~3 周。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:CSV_PATH=os.path.join(BASE, "mps_orders.csv")、REPORT=os.path.join(BASE, "示例输出报告.txt")、WEEKS=12、FROZEN_TEST_WEEK=2。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:mps_orders.csv、示例输出报告.txt。
脚本里的主要处理步骤
pab_series():预计可用量序列;extra = {周: 追加承诺量}。atp_segments():ATP 分段:以「有主计划接收的周」为界切段;首个接收周之前单独成段(由期初库存支撑)。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 主生产计划接收
- 已承诺订单
- 预计可用量序列;extra = {周: 追加承诺量}。
- ATP 分段:以「有主计划接收的周」为界切段;首个接收周之前单独成段(由期初库存支撑)。
- 可承诺量 ATP 与插单影响分析报告
- 一、主生产计划与已承诺订单(滚动 %d 周)
- 周 主计划接收 已承诺订单 预计可用量 PAB 备注
- 有到货
- 期末可用量 = %d 件;全期最低点 = %d 件(安全库存下限 %d 件)
- 二、ATP 分段(可承诺量)
- 分段 覆盖周 段内到货 段内已承诺 ATP(可承诺量)
- %d~%-2d 周 %2d~%-2d 周 %8d %9d %13d
- 三、插单评审
- 插单A:%d 件,需求第 %d 周
- → 判定:不受理。第 %d 周处于时间围栏(冻结期 %d 周)内,
- 物料与产能已锁定,插单必然挤占既有订单,只能转交下一周期或走加急审批。
- 插单B:%d 件,需求第 %d 周(本次评审对象)
- 该需求落在 %d~%d 周这一 ATP 分段,该段可承诺量 = %d 件。
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:atp_order_promise_analyzer.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 3 列:周、主生产计划接收、已承诺订单。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
分类归属:MES与生产管理工具包;完整清单在 工具资源包下载页。





