插单重排真正的难点并不在于算不出结果,而在于结果改动多大、现场能不能接得住。把整张计划推倒重来,表面上看是最优解,实际却会打乱已下发的程序、已预装的模具和已完成的准备工作,代价往往超过插单本身。局部调整的本质,是把变更限制在可控范围内,而不是把排程问题从头再解一遍。
局部调整的前提是锁定,而不是重算
第一步不是算,而是标记“不可动”。已下发加工程序、已完成首件检验、已预装模具的工序,一旦被系统重新分配设备,执行层就会中断。因此重排前必须有任务锁定机制,把不可重排的工序固定住。锁定粒度最好细到工序级,而不是订单级——同一张订单里,前道工序可能已经开工,后道工序仍可挪动。
锁定之外还要有影响范围分析。系统需要自动识别:哪些工序因共用设备、模具或物料而与新订单冲突;哪些任务被排进了非工作时段;哪些换模时间没有建模,导致设备被错误分配。这一步定义了局部重排的边界,边界算错,锁得再严也会漏出冲突。
边界由约束模型决定
能否只调整受影响的工序链,取决于约束建模的颗粒度。设备日历、设备替代关系、技工技能、模具占用、物料齐套这些硬约束,必须和工序、订单表达在同一个模型里。如果约束分散在几张互不联通的表格中,系统就无法判断一次插单的影响会传播到哪一层,只能退化为全盘重排。
结构上应把“规则”和“约束”分开配置:业务规则随订单结构变化,物理约束相对稳定。两者混在一起,每次插单都要动底层模型,局部调整就无从谈起。
结果要可解释,干预要即时
重排完成后只给一张新甘特图是不够的。计划员需要看到前后对比:哪些订单的交期移动了、移动多少、代价是什么。缺少这个视图,“智能重排”仍是黑盒,现场无法判断这次调整值不值得执行。
人工干预同样需要即时反馈。拖拽调整、指定设备、临时调整班次之后,系统应当立刻校验硬约束,而不是等计划下发到车间才暴露冲突。排产系统替代不了计划员的例外决策,它承接的是影响传播分析这类重复劳动。
检验这些能力,可以拿真实发生过的插单记录跑一遍,再叠加一台关键设备临时停机的场景,观察系统是否尊重锁定标记、是否只改动受影响的工序链、是否给出变化对比。算得出计划、改得动局部、改动能被现场接受的系统,才算真正支持插单重排。
