1. 紧急插单与动态重排程工程导论
在按订单生产、按库存生产与混合制造环境中,计划排程几乎不可能长期保持"一次排定、全程执行"。客户催货、设备突发故障、来料延迟、质量异常、工艺变更、人员缺勤,都会让原本可行的排程在数小时内失效。紧急插单与动态重排程工程,研究的正是这类扰动下"如何快速、可控、可解释地更新生产计划"的方法体系。它不是单纯讨论某个排程软件的功能,而是把订单插入、扰动识别、触发判断、重排策略、结果评估串成一条工程链路。
一、四个核心概念的界定
紧急插单指在既有排程已经下达或部分执行的情况下,插入一张优先级显著高于在制订单的新订单,并要求其在某个承诺交期前完成。它的关键特征有三个:一是"插入"发生在排程已存在之后,而非初始排程阶段;二是"紧急"由交期紧迫度、客户等级或业务损失共同定义,而非仅看下单时间;三是它必然挤占已有资源,因此会引发在制订单的延期、换型增加或加班。判断一张订单是否属于紧急插单,通常看三个量:承诺交期与当前最早可完工时间的差值、订单对产能的占用比例、以及违约后果的严重程度。
动态重排程指在扰动发生后,基于当前实际生产状态(已完成工序、在制工序、设备可用性、物料到位情况)重新生成或局部修正后续排程的过程。它与"重新排程"的区别在于:动态重排程强调以实时状态为起点,而不是回到初始条件重算;它允许局部修复,也允许全局重优化,取决于扰动影响范围。
扰动事件是触发重排程的外部或内部变化。常见类型包括:订单类扰动(紧急插单、订单取消、数量变更、交期提前)、资源类扰动(设备故障、模具损坏、人员缺勤、能源受限)、物料类扰动(来料延迟、批次不合格、替代料审批)、工艺类扰动(工艺路线变更、参数超差返工)。不同扰动的影响半径不同,订单类扰动通常影响交期链,资源类扰动通常影响产能链。
重排程触发条件是决定"是否值得重排"的判据。若任何微小变化都触发全局重排,系统会陷入频繁震荡,计划员也会失去对排程的信任。工程上常用阈值型触发:关键设备停机超过设定时长、紧急订单优先级高于当前最高在制订单、某订单预计完工时间超出承诺交期超过允许偏差、在制订单完成率偏离计划超过一定比例。触发条件应可配置、可记录、可回溯。
二、为什么需要工程化框架
很多企业在处理紧急插单时依赖计划员的经验:接到催货电话,手工在Excel或排程界面里把某张订单拖到前面,再凭感觉把后面的订单往后挪。这种做法在小规模、少品种场景下尚可维持,但一旦订单数超过数百、设备超过数十台、工序存在前后道约束,手工调整就会迅速失控。典型后果是:被挤占的订单交期被悄悄破坏却无人察觉;换型次数因顺序打乱而激增;计划员每次调整都要重新核对大量约束,响应时间从分钟级退化到小时级。
工程化框架要解决三个问题。第一是可判定:什么情况下必须重排、什么情况下可以不动,要有明确判据,而不是靠感觉。第二是可执行:重排算法或规则要能在可接受时间内给出新排程,并且新排程要满足设备、模具、物料、人员等硬约束。第三是可解释:计划员和车间要知道"为什么这张订单被提前、那张订单被推迟",否则执行层会抵触新排程,导致排程与实际脱节。
三、从订单插入到排程更新的链路
把上述概念串起来,可以得到一条完整的处理链路:扰动事件发生 → 采集当前实际状态 → 判断是否满足触发条件 → 选择重排策略 → 生成新排程 → 评估结果并反馈。这条链路中,最容易被忽视的是"采集当前实际状态"。如果系统里记录的还是昨天排程的状态,而车间实际已经完成了三道工序、有一台设备停机待修,那么任何重排都是在错误起点上计算,结果必然不可用。因此,动态重排程的前提是制造执行系统或数据采集层能够提供接近实时的工序完成、设备状态与物料消耗数据。
以一张紧急插单为例说明链路中的关键参数。假设某注塑车间有6台注塑机,当前在制订单A、B、C分别占用3台设备,剩余3台设备正在生产订单D、E、F。此时接到订单G,要求48小时内交付,数量2000件,单件周期30秒,需要1台设备连续生产约16.7小时,另需换模2小时。计划员首先判断:当前是否有设备能在48小时内腾出至少18.7小时的可用产能。若订单F预计在6小时后完工,则设备可在6小时后换模并生产G,完工时间约为6+2+16.7=24.7小时,满足交期。此时可选择"局部修复"策略:仅调整F之后该设备的任务,其余设备排程不动。若所有设备在48小时内均无足够空档,则需触发全局重排,评估是否将某张低优先级订单外协或推迟。
四、本课程的知识地图
后续章节将围绕这条链路逐层展开。在扰动识别与触发条件部分,会讨论如何设定停机阈值、交期偏差阈值和优先级规则,避免频繁重排与漏排。在重排策略部分,会对比局部修复、右移重排、全局重优化三类方法的适用场景与计算代价。在插单处理部分,会给出紧急订单优先级评估、产能窗口计算和补偿方案选择的实操方法。在评估与反馈部分,会讨论交期达成率、换型次数、设备利用率、加班工时等指标如何用于校验重排效果,并反向修正触发阈值。
需要强调的是,动态重排程不是追求"每次扰动都全局最优"。在真实车间里,频繁大幅调整排程会带来执行混乱、换型增加和在制品堆积。工程上更可取的目标是:在可接受的响应时间内,给出一个满足硬约束、交期损失可控、调整幅度尽量小的可行排程。理解这一点,是学习后续所有具体方法的前提。