挑战用WPS灵犀开发APS排程系统(六):优先装配线+一维排程,月排程计划一次到位

大家好,我是古老师。
前面几篇,我们把产能算明白了。第五篇的RCCP评估告诉我:15 天,5 条线,产能满足。
可产能够,不代表排得出。
订单往哪条线放?谁先排?哪个产品优先上哪条线?这才是排程真正的难点。
今天这篇,就是把排程引擎落地的第六篇。
一、产能够 ≠ 排得出:卡在约束上
其实排程不难,难在约束。
工厂里的装配线不是随便哪个订单都能上:
5 条线,类型、容量各有讲究。
更要命的是,这些约束不是死的,经常变、经常加。今天加一条"6L 只能上 4#"、明天改一条"迷你煲全系列 5# 也能装"。
要是把约束写死在脚本里,改一次崩一次,神仙都维护不了。

二、约束数据化:改数据,不改脚本
这是我这次跨过的最大一个坎——约束数据化。
说白了,就是把约束从"代码里"挪到"数据表里"。
约束存哪?存产品资料表。
我在产品资料里加了 3 个字段:优先1、优先2、优先3。
每个产品,按它的类型和容量,匹配出它能上的 3 条装配线,按优先级填进去。
以后约束变了?改产品资料表里的数据就行,脚本一个字都不用动。
这才是排程能长期用的关键。

三、代码对应装配线:优先线怎么来
3 个优先字段的规则,就是这张约束表:
线体 | 类型 | 容量 |
1# | 圆煲/方煲/迷你煲 | <6L |
2# | 圆煲/方煲/迷你煲 | 3L/4L/5L |
3# | 方煲/圆煲/商用煲 | 3L/4L/5L |
4# | 方煲/圆煲/商用煲 | 6L |
5# | 方煲/迷你煲/商用煲 | 全系列 |
容量档位得先对上:<3L = 1.2~2.5L、<6L = 1.2~5L、3L/4L/5L、6L、全系列 = 全部 9 档。
然后分配逻辑:
- 优先1
:严格命中 + 均衡分配,保证 5 条线都有产品 - 优先2/3
:先补严格命中的,不够再晋级(同类型放宽容量 → 跨类型兜底)
实测结果:150 个产品全部打上优先线,5 条线一条不空。

四、装配一维排程:月排程计划表
优先线有了,就能排程了。
我做了张月排程计划表,用的是一维排程——每订单 × 每天 一行,替代原来"线体 × 日期"的二维矩阵,数据更好查、更好筛。
排程起点不用手填,自动读排程评估表里 RCCP = 产能满足 那条:2026/09/01,15 天。
每日工时也不是固定 10 小时,而是按工作日历逐日取:周三 8h、周六 10h、周日和节日 0h,窗口内自动跳过休息日。
线体怎么分?按 优先1→2→3 逐级落线,优先线当天满了,再落兜底线(排到当天还有富余产能的线),少逾期。
一个坑提醒大家:读取订单要翻页,150 条数据一次只回 100 条。

五、效果:数字说话
这一跑,结果很直观:
- 14 个排产日
(窗口内自动跳掉了 2 个周日) - 150 个订单,排产 618 小时
5 条线:1# 130h、2# 130h、3# 130h、4# 98h、5# 130h
4# 为什么只有 98h?因为 6L 产品少,它的优先产品就少。这正好说明兜底的价值——优先线全满时排到有富余的线,能少逾期。
甘特图拉出来,每个任务哪天做、做多少,一目了然。

六、最后说一句
过去,排程约束写在公式里、写在脚本里,改一处,到处跟着改,越改越乱。
现在,约束存在数据表里,改数据就行,脚本不动。
排程系统能不能落地,不在算法多牛,在于约束好不好改。把约束数据化,是这套系统能长期活下去的根本。
术语解释
文章里出现的技术名词,一句话说清楚:
RCCP:粗能力评估,排程前先粗算一下产能够不够用。
一维排程:每条生产记录单独占一行,代替"线体×日期"那种二维大表,更好查更好筛。
UPH:每小时产量,一条线一小时能做多少件。
AirScript:WPS 多维表格内置的脚本语言,用来跑排程这类自动化操作。
兜底:优先线排不下的时候,排到当天还有空闲产能的其他线,不浪费产能。
古老师(古哥计划)|中小制造数字化专家|金山 KVP(金山办公最有价值专家)|金山多维表格应用场景专家|金山 WPS 社区优秀创作者
深耕中小制造业数字化落地,擅长用 WPS 多维表格 + AI 低代码方案,帮工厂快速搭建进销存、生产计划、质量追溯等轻量化系统。不用复杂 IT,低成本落地,已服务数百家制造企业,实战经验丰富。
本文由 AI 辅助创作
工具:灵犀专业版
模型:DeepSeek V4 Flash
排程灵点消耗:37
文章灵点消耗:9
夜雨聆风