出货装柜与装箱容利用率优化器|MES与生产管理工具
这个工具解决什么问题
先让数据对齐,再谈优化。这工具把对齐这一步做实。
出货时最怕两件事:要么一个柜没装满白白浪费运费,要么装到门口发现放不进去只能临时加柜。本工具读取各订单外箱的长宽高、件数、重量与堆叠/正放约束,按 FFD 策略把箱子近似装进 40HQ、20GP、9.6m 厢车等标准柜型,输出每柜的件数、体积利用率、载重利用率与剩余空间,并列出「本周该装哪几个柜、各多少」的行动清单。它还能对比「纯按体积估算」的结果,说明差异来源,帮助调度人员判断是否要加柜、能否拼柜,从而压低单票物流费用、减少临时改柜的混乱。
输入数据格式
数据文件 carton_list.csv,列顺序为:order_no、item、length_mm、width_mm、height_mm、qty、weight_kg、stackable、this_side_up。
示例首行:ORD-1001,主控板A,1200,1000,800,55,40.0,Y,Y
示例输出(真实运行结果节选)
================================================================================== 出货装柜与装箱容利用率优化器 —— 示例输出报告 口径:体积/重量近似分配(非精确三维排样),容量用「体积+载重」双重约束 ================================================================================== 【一、装箱汇总】 ---------------------------------------------------------------------------------- 总件数 总体积m3 总重量t 需要柜数 平均体积利用率% 平均载重利用率% 柜型分布 317 174.05 9.13 3 88.2 12.1 40HQx2,20GPx1 【二、每柜明细】 ---------------------------------------------------------------------------------- 柜型 件数 体积m3 体积利用率% 载重利用率% 剩余体积m3 装不下余量m3 40HQ 79 76.22 99.8 13.2 0.13 0.13 40HQ 130 76.25 99.9 15.7 0.10 0.10 20GP 108 21.58 65.0 7.4 11.61 11.61 【三、按订单的装箱归属表】 ---------------------------------------------------------------------------------- 第1柜(40HQ):ORD-1001:48件 ORD-1004:30件 ORD-1007:1件 第2柜(40HQ):ORD-1001:7件 ORD-1002:50件 ORD-1003:41件 ORD-1005:1件 ORD-1006:2
一句话
把多订单外箱按体积降序做首次适应递减(FFD)分配进标准柜/车厢,核算每柜体积与载重利用率、剩余空间,并给出装载顺序与安全提示。
运行环境与快速开始
纯 Python 标准库,Python 3.8+ 即可,零第三方依赖。
进入工具目录后执行,自动生成示例 CSV 并输出报告
python container_loading.py
输入数据格式
carton_list.csv 每行一个「箱型(同订单同尺寸合并为一行,用 qty 表示件数)」: · order_no 订单号、item 品名 · length_mm / width_mm / height_mm 外箱尺寸(毫米) · qty 件数 · weight_kg 单箱毛重 · stackable 是否可堆叠(Y/N) · this_side_up 是否必须正放(Y/N)
输出说明
① 装箱汇总(总件数、总体积、总重量、需要柜数、平均体积/载重利用率、柜型分布);② 每柜明细(柜型、件数、体积、体积利用率、载重利用率、剩余体积);③ 按订单的装箱归属表;④ 装载顺序建议(重箱在下、标签朝外、不可堆叠件单独固定);⑤ 与纯按体积估算的对比及差异原因;⑥ 结论(是否加柜、能否拼柜)。
算法口径(关键公式)
· 柜内体积 = 内长×内宽×内高 ÷ 10^9(m³);体积利用率 = 已用体积 ÷ 柜内体积;载重利用率 = 已用重量 ÷ 最大载重。 · 朝向:每箱尝试 3 组朝向(长/宽/高分别作高),取能放入且最省高度者;几何判定为「高 ≤ 柜内高 且 底边两维分别 ≤ 柜内长/宽」。 · FFD:箱型按体积降序,逐个放入「已开柜中利用率最高且体积+载重+几何均可容纳」的柜;放不进则开新柜,新柜按剩余货量在 40HQ 与 20GP 间择优(演示拼柜/换柜型)。 · 纯体积估算柜数 = ⌈总体积 ÷ 单柜体积⌉。
参数与调整点
CONF = [('40HQ',12032,2352,2698,26000), ('20GP',5898,2352,2393,21800), ('9.6m厢车',9600,2400,2600,10000), ('40GP',12032,2352,2393,26000)]
如需其他柜型,按 (名称,内长mm,内宽mm,内高mm,最大载重kg) 追加一行
SEED = 20260912 # 固定随机种子,保证示例可复现
可调参数与计算口径
脚本顶部集中了主要阈值与常量:SEED=20260912、CSV=os.path.join(HERE, 'carton_list.csv')、REPORT=os.path.join(HERE, '示例输出报告.txt')、CONF=[、CARTONS=[。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:carton_list.csv、示例输出报告.txt。
工具中出现的字段与提示
- 9.6m厢车
- 主控板A
- 电源模块B
- 结构件C
- 显示模组D
- 线缆包E
- 包装箱F
- 精密仪G
- 出货装柜与装箱容利用率优化器 —— 示例输出报告
- 口径:体积/重量近似分配(非精确三维排样),容量用「体积+载重」双重约束
- 【一、装箱汇总】
- 总体积m3
- 总重量t
- 需要柜数
- 平均体积利用率%
- 平均载重利用率%
- 柜型分布
- 【二、每柜明细】
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:container_loading.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 9 列:order_no、item、length_mm、width_mm、height_mm、qty、weight_kg、stackable。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 一、装箱汇总、二、每柜明细、三、按订单的装箱归属表、四、装载顺序建议、五、与「纯按体积估算」的对比及差异原因 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
同分类的其它工具
所属分类 MES与生产管理工具包,也可回到 工具资源包下载页 按分类查找。





