Back to skills
extension
Category: OtherNo API key required

生产排产技能

生产排产技能 - 面向工厂PMC岗位,支持工单排程、物料齐套检查、甘特图可视化。当用户提到:生产排产、PMC排产、车间排产、工单排程、生产计划排程、有限能力排程、车间调度、工序排产时使用此技能。

personAuthor: user_25b0a437hubcommunity

生产排产技能 (Production Scheduling)

面向工厂 PMC(生产计划控制)岗位的智能排产工具。基于有限能力排程(Finite Capacity Scheduling)算法,自动完成工单排序、工序安排与物料齐套分析。

功能概述

  1. 工单管理 - 录入订单/工单信息(产品、数量、交期、优先级)
  2. 物料齐套检查 - 自动检查库存与在途物料是否满足生产需求
  3. 智能排产 - 基于优先级的有限能力排程算法
  4. 甘特图可视化 - 交互式排产结果展示
  5. 物料需求计划 - 输出采购/领料建议

数据格式

BOM配置(产品-物料关系)

产品与原材料的对应关系在 assets/bom.csv 中维护:

| 产品 | 原材料 | 单件用量 | 单位 | |------|--------|----------|------| | 电机壳体 | 原材料A | 2.0 | kg | | 电机壳体 | 原材料B | 1.0 | kg | | 电机壳体 | 包装材料 | 0.5 | 个 | | 连接支架 | 原材料A | 1.0 | kg | | 连接支架 | 原材料B | 0.5 | kg |

维护方式:

  • 直接编辑 assets/bom.csv 文件
  • 或在提交工单时附带 BOM 数据

工单数据(必填)

支持 CSV 或直接描述,字段说明:

| 字段 | 说明 | 示例 | |------|------|------| | order_id | 工单号 | WO2026041201 | | product | 产品名称 | 电机壳体 | | quantity | 数量 | 100 | | due_date | 交期 | 2026-04-20 | | priority | 优先级(1-5,1最高) | 1 | | bom | 物料清单(JSON) | 见下方 |

BOM 示例:

{
  "原材料A": 2.5,
  "原材料B": 1.2,
  "包装材料": 0.5
}

物料库存(必填)

| 字段 | 说明 | 示例 | |------|------|------| | material | 物料名称 | 原材料A | | stock | 库存数量 | 500 | | on_the_way | 在途数量 | 200 | | lead_time | 采购周期(天) | 5 |

工序资源(可选)

| 字段 | 说明 | 示例 | |------|------|------| | process | 工序名称 | CNC加工 | | capacity | 日产能 | 200 | | time_per_unit | 单位耗时(分钟) | 30 |


排产流程

第一步:数据收集

请按以下格式提供数据:

1. 工单信息(必填)

工单号, 产品名称, 数量, 交期, 优先级
WO001, 电机壳体, 100, 2026-04-20, 1
WO002, 连接支架, 200, 2026-04-22, 2

2. 物料库存(必填)

物料名称, 库存数量, 在途数量, 采购周期(天)
原材料A, 500, 200, 5
原材料B, 300, 100, 3

3. 工序配置(可选,不提供则使用默认参数)

工序名称, 日产能, 单位耗时(分钟)
CNC加工, 200, 30
装配, 150, 20

第二步:数据验证

运行 scripts/scheduler.py 进行数据格式校验:

  • 工单字段完整性
  • 物料数据有效性
  • 交期合理性

第三步:排产计算

排产引擎按以下规则执行:

  1. 优先级排序 - 优先级数字越小越优先
  2. EDC 法则 - 同优先级按交期从早到晚
  3. 有限能力排程 - 按工序产能约束安排起止时间
  4. 物料齐套检查 - 标记物料缺口

第四步:结果输出

生成三种输出:

  1. 甘特图 - 交互式 HTML 页面
  2. 排产明细表 - CSV 格式
  3. 物料需求表 - 缺口物料及采购建议

执行示例

用户输入方式一:结构化数据

请帮我排产,以下是工单数据:
工单号, 产品, 数量, 交期, 优先级
WO001, 电机壳体, 100, 2026-04-20, 1
WO002, 连接支架, 200, 2026-04-22, 2

物料库存:
原材料A: 库存100, 在途200
原材料B: 库存50, 在途100

工序配置:
CNC加工: 日产能200, 单位耗时30分钟
装配: 日产能150, 单位耗时20分钟

用户输入方式二:直接描述

我有3个工单:
1. WO001 电机壳体 100件 4月20日交 优先级1
2. WO002 连接支架 200件 4月22日交 优先级2
3. WO003 底座支架 150件 4月25日交 优先级3

当前库存:原材料A 500kg, 原材料B 300kg
每个电机壳体需要原材料A 2kg, 原材料B 1kg
每个连接支架需要原材料A 1kg, 原材料B 0.5kg
每个底座支架需要原材料A 1.5kg, 原材料B 0.8kg

车间产能:每天可生产200件

算法说明

优先级规则

| 规则 | 说明 | 适用场景 | |------|------|----------| | EDD | 最早交期优先 | 紧急订单多 | | SPT | 最短工时优先 | 追求效率 | | CR | 关键比率 | 动态优先级 | | FCFS | 先到先服务 | 公平性要求 |

默认使用 EDD+优先级组合。

排产模式

  • 正向排程:从最早可用时间开始,计算完成时间
  • 反向排程:从交期倒推,确保按时交付

默认使用反向排程模式。


注意事项

  1. 物料数据必须准确,否则齐套分析结果不可靠
  2. 工序配置不完整时,系统使用默认参数(单工序、日产能100)
  3. 排产结果仅供参考,实际执行需结合车间情况调整
  4. 甘特图中红色标记表示物料缺口或产能超负荷

输出示例

甘特图

  • 展示各工单在各工序的时间安排
  • 鼠标悬停显示详细信息
  • 支持缩放和拖拽

排产明细表

| 工单号 | 产品 | 数量 | 工序 | 开始时间 | 结束时间 | 状态 | |--------|------|------|------|----------|----------|------| | WO001 | 电机壳体 | 100 | CNC | 04-15 08:00 | 04-15 14:00 | ✓ | | WO001 | 电机壳体 | 100 | 装配 | 04-15 14:30 | 04-16 10:00 | ✓ |

物料需求表

| 物料 | 需求总量 | 可用量 | 缺口 | 建议采购量 | 到货时间 | |------|----------|--------|------|------------|----------| | 原材料A | 800 | 700 | 100 | 100 | 04-18 | | 原材料B | 400 | 400 | 0 | - | - |