订单智能排程:从拍脑袋到模型驱动

说实话,我从毕业就在机加工车间混,干了十二年。中间有五年,专门跟排程较劲。不是我喜欢较劲,是被逼的——天天有订单喊着“急”、“插单”、“加急”,车间主任天天催,最后排产表成了一个烫手的山芋。

后来从传统排产转到智能排程,折腾了两年,回头再看,其实排程这件事,本质上就是一个资源分配的博弈。但如果你以为靠软件就能一步到位,那你就错了。我见过太多厂子,花钱上了MES,却把排程做成了一场秀。

排程问题的本质:约束,全是约束

咱们先聊点理论。排程问题,学术上叫作业车间调度问题(Job Shop Scheduling Problem,JSSP)。这玩意儿是个NP-hard问题。什么意思呢?就是说,你想象一下有n个工件,要经过m台机床加工,每个工件的工艺路线各不相同,你要安排每一道工序在什么时间在哪台机器上做,才能让总完工时间最短。

听起来简单吧?但如果你拿手去试,你就能体会什么叫“组合爆炸”。10个工件、10台机床,你的选择空间比宇宙的原子数还多。所以,传统上老师傅排产,靠的是经验,跟那一点点“手感”。人工智能时代,我们就想把它变成模型驱动。

仔细想一下,排程的约束有哪些?设备时间约束、工件的工序顺序约束、资源冲突约束,还有人员、刀具、夹具那些乱七八糟的东西。这些约束叠在一起,就是一张密密麻麻的网。智能排程的核心,就是把这张网变成一个可以求解的模型。

但模型不是越复杂越好。我见过有工程师非要搞什么多目标优化,还引进了什么“帕累托前沿”。结果呢?参数调了一个月,车间根本没法用。为什么?因为现场根本没人去管那些前沿不前沿的——他们就要一个排出来就能跑的方案。

以那家液压件厂为例。他们的订单结构是这样的:常计划约30%,急单占40%,返修单占30%。你按传统流水线排,绝对玩不转。

液压件车间订单排程甘特图示例
液压件车间订单排程甘特图示例

我给他们建了一个混合整数规划模型,目标函数是最小化拖期惩罚和切换成本之和。说白了,就是让交期的损失加上换刀换料的浪费尽量少。约束就更多了,设备可用时间、刀具寿命、工人班次,全要写进去。

你可能会问,为什么不用遗传算法那种进化算法?因为混合整数规划在这个规模上(大约120个工件、60台设备)用分支定界法能算得很快。遗传算法要调群体、交叉率,还容易早熟。工程上,选一个能控制住求解时间的工具,比炫耀算法更重要。

模型不是算法堆砌,工程妥协才是关键

很多工程师一提到智能排程,就想到遗传算法、模拟退火、粒子群这些词。我不否认这些算法有用,但你要清楚,模型才是地基,算法只是求解工具。地基打不好,再牛的算法也是白搭。

什么是好模型?就是能把现场那些“潜规则”变成明确的约束。比如,某台机床换刀要20分钟,这个时间你若不写进模型,系统就会给你排一个频繁换刀的计划,停机时间比加工时间还长。这就是典型的“模型失真”。

再比如,工人有加班红线——每天最多加班2小时。你若不限制,系统为了赶工,可能给你排到凌晨3点,然后第二天操作工就罢工了。这种现实约束,必须变成硬性条件。

我经常说,参数定不全,排程就是耍流氓。你要知道每个订单的优先权、每道工序的标准工时、每个设备的OEE(设备综合效率)、甚至每个班组的可用工时。这些数据,很多厂根本没积累。所以,你上智能排程的第一个项目,往往不是写代码,而是去整理数据。

那家液压件厂的OEE数据是哪儿来的?我让他们在每台设备上装了一个简单的采集pad,每道工序开始和结束都打点。坚持了三个月,数据才有价值。没有这些,建模就是空中楼阁。

落地时那些看似不起眼的坑

第一个坑,数据同步。你ERP里的订单状态是滞后的,MES的设备状态可能延迟几分钟,甚至几十分钟。排程系统用的是快照数据,一眨眼,现场调了进度,你这边还当成旧数据在算。所以,一定要做“近实时”的数据接口,至少每5分钟同步一次。

第二个坑,异常处理。出现机器故障、工件报废、急单插队,日常得不得了。如果你的排程系统只能排静态计划,然后让你人工去改,那跟做Excel有什么区别?你要设计一套“滚动重排”机制,比如每小时触发一次增量重排,只调整受影响的那部分,而不是全盘推翻。否则你刚发布计划,现场还没读到,你又要变,那人家不敢信你了。

第三个坑,人机交互。车间里的老师傅还是习惯看纸质派工单。你搞一个iPad摆在那儿,没人去点。后来我们干脆做了一张看板,用彩色条块显示每台设备接下来四个小时的工件,用颜色区分交期紧迫程度,这才逐渐被接受。所以说,智能化不是把习惯倒过来,而是顺势而为。

第四个坑,其实还是绩效指标。你有没有定义清楚“排程质量”的好坏?是按交期达成率看,还是按设备利用率看?这两个指标往往互相矛盾。你要么找平衡点,要么分开看。否则领导和车间各执一词,最后连系统都成了背锅的。

从排程到智能,还差一个闭环

很多人问我,智能排程是不是未来就能全自动了?我的看法是,短期内别指望。排程只是智能制造的很小一环,它需要上游的订单预测、库存水平,下游的设备联网、状态监控。只有形成闭环,才能说“智能”。

比如我最近在弄的一个项目,把排程结果实时推送到AGV调度系统。但是,AGV运错料了,那排程再准也没用。所以,数据闭环是这个时代的核心。为了让两者协同,我们画了一张资源冲突热力图,用温度计信息来显影峰值时段。

机械车间设备资源冲突热力图
机械车间设备资源冲突热力图

这张图可以看到,红色区域是设备“撞车”的高峰,蓝色区域是空闲时段。通过调整工艺路径和班次,我们硬是把峰值期缩短了20%。这就是闭环带来的好处。

回到题目,订单智能排程,本质上是用模型换经验。不要想着一夜之间就人工智能,它更像是爬坡,一点一点把规则变成代码,把经验变成数据。

这两年我最大的感受是:算法不神秘,数据也不神秘,神秘的是你能不能耐下性子,把车间里那些鸡毛蒜皮的规则都摸清楚了。排程成功的秘诀,就是在工程上做好权衡,而不是追求理论上的最优。

你可能觉得这些想法有点土,但真到了车间,土办法往往最管用。毕竟,车间不会因为你的模型漂亮就变得听话。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:订单智能排程:从拍脑袋到模型驱动
文章链接:https://m.yqhljx.com/list_9/731.html