本节摘要:同一批工单,换个排序,平均交付天数可以差出一倍。本节讲排序的三个评价指标(平均流程时间、延期件数、最大延期)、四条常用优先规则的算法与性格、双机流水作业的约翰逊规则,并用一套五工单数据把各规则算到底。排产演练在下一节与瓶颈结合后完成闭环。
计划机器把工单送到了队列里,本节决定它们的先后。排序问题在数学上是出了名的"看着简单、算起来爆炸"——十几张工单的全排列就已天文数字,所以实践中用的都是启发式优先规则。规则不高深,难的是知道每条规则牺牲了什么。
评价一个排序方案,常用三个指标。平均流程时间(平均每张工单从到达到完成的停留时长,反映队列体验与在制品水平)、延期件数(多少张工单 missed 了承诺交期,反映客户信用)、最大延期(最惨的那张拖了多久,反映最不满的客户)。任何规则都是这三个指标的取舍:没有全赢的排序,只有按当前优先级选的排序——这句话与 1.2 节的竞争优先级遥相呼应。
FCFS(先到先做):按到达顺序,最公平、最好向客户解释,效率指标通常最差。SPT(短工单优先):平均流程时间最优——数学上可证它在单机情形下是该指标的冠军;代价是长工单被无限插队风险积压,大单客户怨声载道,所以要配"防饿死"约束(等待超过阈值自动升级优先级)。EDD(交期早的先做):最小化最大延期、压延期件数,是面向承诺的规则;代价是平均流程时间不如 SPT 漂亮。CR(临界比):剩余时间 ÷ 剩余工时,小于一代表已经迟到要优先救,等于一代表刚好,大于一代表还有富余;它动态刷新,是急单插单时的现场规则。
用一套五工单数据把三种静态规则算到底(第 0 天起排,所有工单同时到达,时间单位为天):
五工单数据与三规则对比 工单 加工时间 交期 A 6 8 B 2 6 C 8 18 D 3 15 E 5 10 【FCFS:A→B→C→D→E】 完成时刻:A=6 B=8 C=16 D=19 E=24 流程时间:6+8+16+19+24 = 73 → 平均 14.6 天 延期:A 0;B 超2;C 0;D 超4;E 超14 → 延期3件,最大14天 【SPT:B→D→E→A→C】 完成时刻:B=2 D=5 E=10 A=16 C=24 流程时间:2+5+10+16+24 = 57 → 平均 11.4 天(最优) 延期:B 0;D 0;E 超5;A 超8;C 超6 → 延期3件,最大8天 【EDD:B→A→E→D→C】 完成时刻:B=2 A=8 E=13 D=16 C=24 流程时间:2+8+13+16+24 = 63 → 平均 12.6 天 延期:B 0;A 0;E 超3;D 超1;C 超6 → 延期3件,最大6天(最优) 判读:SPT 抢效率,EDD 抢承诺,FCFS 两头平庸。 三规则的延期件数相同,最大延期与平均流程时间的权衡才是分野。

一类有漂亮解的特殊情形:n 个工件都要先过工序一(如车)再过工序二(如磨),求总工期最短的顺序。约翰逊规则四步:列出全部工件在两道工序的加工时间;找全表最小值,若它在工序一列,该工件排最前,若在工序二列,排最后;划掉该工件重复上述步骤;并列时任意取。它保证总工期(makespan)最优,是排序领域少有的"免费午餐"。
小算例:四个批次过"清洗→烘干",清洗时间依次 5、1、9、3,烘干依次 2、8、7、4。全表最小值是 1(批次乙在清洗列),乙排最前;剩下找最小,4(批次丁在烘干列),丁排最后;再找最小,5(甲在清洗列),甲排第二;丙排第三。顺序乙→甲→丙→丁,总工期 24;若按 FCFS 甲→乙→丙→丁则为 27。三个工件的家庭作坊就能省三整天,规模放大后差距更可观。
背景:某模具厂加工中心前常年压着三十多张工单,急单插单每天七八次,计划员每天上午用两小时重新排优先级,下午的排产到傍晚就作废。准时交付率 74%。
操作:第一步给队列装"两个清单":把全部在制工单按 EDD 排出"承诺序列"张贴在看板,这是对客户的默认顺序;急单插单不再由销售直接找车间,而是统一到计划员处换算 CR 值,CR 小于 0.9 才有插队资格,且每次插队要在序列上做"挤出标记"——被挤的工单自动顺延并刷新新的预计完成时间,当天下午知会对应销售。第二步把 SPT 的思想用在设备加载上:粗加工设备专收短工序、快周转,长件走夜班专机,减少大件在队列里被小件反复包裹。第三步设立"冻结半天":当天下午三点后不再变更次日排序。
结果:八周后插单从每天七八次降到两次以内,且每次插单都有 CR 记录可查;准时交付率升到 92%;平均在制停留天数从 9.4 天降到 6.1 天。计划员每天花在重排上的时间从两小时缩到四十分钟。
解读:案例里真正起作用的不是某条规则,而是"插单要留痕、顺延要告知"的透明机制——排序混乱通常不是算法问题,而是插单特权不受约束的治理问题。规则给了组织一把共同的尺子,争议从"谁嗓门大"变成"谁的 CR 更小"。
其一,把优先规则当排产系统:规则只解决"先做谁",不解决"瓶颈喂不饱"——那是下一节的事。其二,SPT 用到极端:不给长单留活路,大客户流失是隐形代价,防饿死机制必须有。其三,EDD 参数失真:交期是销售随口答应的,EDD 排出来也是空转,交期承诺要与 MPS 的可承诺量挂钩。其四,多机串行硬套单机规则:三道以上工序的流水排序没有简单最优解,用瓶颈工序主导加局部约翰逊的组合近似即可,别追求精确解。
规则排出了队列,但队列绕着瓶颈转才能真正提产——下一节进入约束理论的排产算术。