2. 紧急插单的业务来源与扰动分类
紧急插单并不是一个孤立事件,它往往是某条业务链路上出现了“必须立刻响应”的异常信号。要理解动态重排程为什么难,先要看清扰动从哪里来、属于哪一类、以什么方式冲击原排程。只有把来源和冲击方式分清楚,后续才能判断该用“局部插入”“整体重排”还是“协商延期”等不同策略。
从工程实践看,扰动可以按发生位置分为四类:订单侧、资源侧、工艺侧、外部侧。这个分类不是学术标签,而是决定了排程系统需要读取哪些数据、触发哪类重排逻辑。下面逐一展开。
订单侧扰动:需求端的直接冲击
订单侧扰动最典型的是客户加急。例如某注塑车间原排程中,A订单计划在3月12日08:00上线,占用注塑机M03共6小时;3月11日16:00销售接到客户通知,要求A订单提前到3月12日02:00交付。此时原排程中M03在02:00—08:00之间还排着B订单,插单直接造成时间窗重叠。
订单侧扰动还包括订单取消、数量变更、交期提前或延后。它们的共同特征是:不改变资源能力,但改变任务集合和优先级。对原排程的冲击方式表现为“时间窗冲突”和“优先级倒置”——原本低优先级的任务被迫让位,或者原本已锁定的物料、模具、人员需要重新分配。
处理这类扰动时,排程系统通常需要重新计算每个订单的松弛时间(交期减去剩余加工时间)。松弛时间越小,插单的紧迫度越高。例如A订单剩余加工时间4小时,距交期还有10小时,松弛时间为6小时;若B订单松弛时间只有1小时,则B反而更紧急。这个判断不能只看“谁先来”,而要看“谁更等不起”。
资源侧扰动:设备、物料、人员的可用性变化
资源侧扰动包括设备故障、物料短缺、人员缺勤三类。它们直接削减或改变了可用产能,冲击方式比订单侧更“硬”。
设备故障的典型场景是:M03注塑机在3月12日03:20突发液压报警,预计维修2.5小时。原排程中M03在03:00—09:00连续排了A、C两个订单。故障发生后,A订单已完成1小时,剩余5小时无法继续;C订单尚未开始。此时排程系统需要做两件事:一是把A的剩余工序转移到备用机M05或等待M03修复;二是判断C订单是否还能保住交期。若M05在03:20—06:00空闲,则A可转移,C顺延;若M05也忙,则必须触发订单侧协商。
物料短缺的冲击方式更隐蔽。例如某装配订单需要物料P-102共800件,仓库实际可用只有500件,缺300件。原排程中该订单计划3月12日10:00上线,但物料齐套时间可能推迟到14:00。此时排程不能只看设备空闲,还要看物料齐套时间。如果强行上线,线边库存会在2小时后断料,造成停线。因此物料短缺的冲击表现为“开工时间后移”和“工序间等待”。
人员缺勤则影响的是技能匹配。例如某工序需要持证焊工,原排程安排3名焊工在3月12日白班完成12个焊接任务;其中1人临时请假,剩余2人即使加班也只能完成9个。此时排程需要重新分配任务,或把部分任务外协。人员缺勤的冲击不是“机器停了”,而是“能干活的人少了”,导致单位时间产出下降。
工艺侧扰动:路线、参数、质量异常
工艺侧扰动包括质量异常、工艺路线变更、参数超差。这类扰动往往在加工过程中才暴露,冲击方式是“返工”和“路径改变”。
例如某零件在CNC工序后检测发现孔径超差0.02mm,需要返修。原排程中该零件已进入下道工序,返修意味着它要重新回到CNC机台,占用额外30分钟。这30分钟会挤占后续订单的加工窗口。更严重的是,如果返修后仍需重新检测,则检测资源也会被二次占用。
工艺路线变更则可能发生在工程变更通知(ECN)之后。例如某订单原路线为“车削→铣削→热处理”,ECN后改为“车削→热处理→铣削”。路线顺序一变,原排程中工序间的等待时间和资源占用顺序全部失效,必须重新生成工序网络。
质量异常的冲击还体现在批量追溯上。如果某批次产品发现同一缺陷,可能需要把同批次已排产的任务全部冻结,等待质量判定。此时排程系统需要支持“冻结—判定—释放”的状态管理,而不是简单删除任务。
外部侧扰动:供应链与市场环境
外部侧扰动包括供应商延期、物流中断、客户需求突变、政策或天气影响。这类扰动通常不在企业内部可控范围内,但会通过物料、交期或运输环节传导进来。
例如某关键物料由外部供应商供货,原承诺3月12日08:00到货,实际因物流延误推迟到3月13日。此时所有依赖该物料的订单都无法按原计划开工。排程系统需要把“物料预计到货时间”作为约束条件,重新计算可开工任务集合。如果延误超过交期,则必须触发订单侧协商,而不是继续排一个不可能执行的计划。
外部侧扰动的冲击方式是“约束边界移动”。它不改变内部资源,但改变了任务可执行的前提条件。因此,排程系统需要与采购、物流、销售系统保持数据同步,否则排程结果会与实际脱节。
四类扰动的冲击方式对比
把四类扰动放在一起看,它们对原排程的冲击方式可以归纳为下表。这张表不是分类标签的重复,而是帮助判断“遇到扰动时先看什么”。
| 扰动类别 | 典型来源 | 冲击对象 | 冲击方式 | 优先检查项 |
|---|---|---|---|---|
| 订单侧 | 客户加急、取消、数量变更 | 任务集合与优先级 | 时间窗冲突、优先级倒置 | 松弛时间、交期 |
| 资源侧 | 设备故障、物料短缺、人员缺勤 | 可用产能与技能 | 产能削减、开工后移、技能缺口 | 替代资源、齐套时间 |
| 工艺侧 | 质量异常、路线变更、参数超差 | 工序网络与加工路径 | 返工、路径改变、批量冻结 | 返修工时、ECN状态 |
| 外部侧 | 供应商延期、物流中断、需求突变 | 约束边界与前提条件 | 约束移动、可执行性下降 | 到货时间、外部承诺 |
需要强调的是,实际扰动往往是多类叠加的。例如设备故障可能同时引发物料等待和人员闲置,客户加急可能同时要求调整工艺路线。因此,分类的目的不是把问题拆散,而是帮助排程人员快速定位“第一约束”在哪里。先解决第一约束,再处理衍生影响,才能避免在错误的方向上反复重排。
从这张图可以看出,四类扰动最终都会汇聚到“重排触发判断”上,但触发条件不同。订单侧看松弛时间,资源侧看替代资源与齐套时间,工艺侧看返修工时与ECN状态,外部侧看到货时间与外部承诺。把这些判断条件提前定义清楚,动态重排程才不会变成“每次都要从头想一遍”的救火操作。
最后需要明确一点:扰动分类的价值不在于把问题贴标签,而在于让排程人员知道“先看什么、再动什么”。订单侧先算松弛时间,资源侧先找替代资源,工艺侧先确认返修路径,外部侧先核对到货承诺。顺序对了,重排的代价就会小很多。