工序交互是局部分派规则及其工具在混合流水车间中失效的原因
局部分派规则一次只决定一道工序。在混合流水车间中,工序相互交互,因此只针对队列的局部决策无法累积成正确的整体。本文讲述这一机制、忽视它对工具造成的代价,以及整线排程改变了什么。
每道工序的生产排程都可以各自站得住脚,而整条产线仍然会晚点。混合机先跑短作业,因为短作业清空队列最快。灌装机在自己的队列上遵循同样的逻辑。关键客户的作业在两道工序上都排在短作业之后等待,而没有人做出过一个糟糕的决定。每一次局部的调用都是合理的。产线最终落到的生产排程却不是。
这就是局部分派规则在混合流水车间中无法摆脱的模式。规则本身并不拙于其职。它只是看不到它所服务的那道工序周围的各道工序。
局部分派规则实际上决定什么
分派规则,有时也叫优先级规则,只在一个队列上回答一个问题:这道工序或这台设备接下来取哪项作业?它可以用最短加工时间、最早到期日、作业到达的顺序,或文献中的任意变体。运筹学文献到 1977 年已编录了超过一百种这样的规则,此后清单还在增长。
让这些规则有用之处,也正是限制它们之处。一条规则只需要它服务的队列处可见的信息。它看不到下游的拥堵、上游物料的可用性,或作业到达时下一道工序的哪台设备会空闲。对带单个队列的单台设备,这常常足够了。对一长串工序,则不够。
机制:工序交互,局部决策无法累积
在流水车间中,一道工序的输出是下一道工序的供应。作业离开一道工序的顺序,决定了下一道工序何时收到它们,以及它在任何时刻持有多少物料。混合流水车间又加上一层耦合:每道工序可能有多台并行设备,因此产线不仅要决定顺序,还要决定每项作业在哪台设备上运行。这些决策不是独立的。它们把影响互相传递。
流水车间反常现象的文献直接说明了这一点。Panwalkar 与 Koulamas 在 2020 年的一项分析表明,在流水车间中,缩短单个工序的加工时间、移除一项作业、甚至移除一台设备,都可能让整体生产排程变得更差。禁止设备闲置、禁止作业在工序之间等待、或禁止工序推迟开工的生产排程,会让这类反常更可能出现。局部的变化会把它的影响传递到周围的工序,因此在孤立状态中改进一道工序并不是稳妥的一步。
一个具体例子能展示这种影响。两道工序,一道向另一道供料。下游工序运行最短加工时间规则,因此它先从自己的队列上取走短作业。一项长作业在短作业轮转期间等待。上游,供料方持续供应下游队列排空掉的一切,因为那是它自己的规则所能看到的全部。长作业在每道工序都被推得越来越晚,排在它后面的每一项作业也跟着被推后。每道工序都在严格按照它的规则行事。产线却在做错误的事。
换线时机的选择展示了同样的交互。当换线时间取决于顺序时,一道为了最小化自身换线而排列作业的工序,可能交给下一道工序一个会在那里增加换线的顺序。第一道工序省下的时间它再也见不到,而第二道工序为此买单。优化一道工序的换线时间,并不是在优化产线的换线时间。
代价:忽视交互的工具继承了这种盲目
建立在局部分派规则之上的排程工具,其失败不是因为它的规则粗糙。它失败是因为它向计划员展示的正是那种只针对队列的局部视图,并把这份视图称作一份完成的生产排程。计划员看到每道工序的生产排程,每一份都站得住脚,而没有任何一个地方显出产线真正的问题。
计划员看不到的,是这种交互付出的代价。下游工序断料,而关键作业在上游等待。缓冲不断增长,因为各道工序按它们自己的规则偏好的顺序被供料,而不是产线需要的顺序。总生产时间悄悄攀升,而生产排程在模式变得可见之前就已经定案。
差距是可测量的。在 2020 年一项针对真实的两工序混合流水车间(含依赖顺序的换线)的研究中,基于仿真的优化方法产生了比工厂常用的标准分派规则更好的生产排程。该结果针对特定案例,不应从中读出任何通用百分比。重要的是那个方向:在真实的混合流水车间上,跨产线协调决策胜过在每个队列上做局部决定。
整线排程改变了什么
整线排程做的是分派规则的反面。它不是一次回答一个队列,而是把生产顺序、设备分配和时间安排一起决定,并让对完整工艺路线的仿真来仲裁结果。仿真是关键。它让每项作业走完它的各道工序,看到规则看不到的交互:当下游工序用完物料时,生产排程显示一个等待来料的暂停,而不是把停滞藏进一份看起来合理的队列里。
这改变了计划员能看见什么、能做什么。下游断料以等待来料的暂停形式出现在生产排程上,因此它不再不可见。换线归组如今服务于总生产时间,而不是某一道工序的准备时间。设备分配按工序协调,而在固定生产顺序的模式下,它仍在其中优化分配,因此生产顺序在操作上固定的工厂,不必为了得到第二个维度而被迫重排顺序。
它不是一个通用的工厂优化器。整线视图活在一个被建模的约束集合之内:工厂实际录入的工序、设备、工作日历、换线时间和转移时间。唯一的目标是总生产时间。它不权衡成本与时间,不强制交期,也不建模汇流或分流的工艺路线。在被建模的产线之内,决策是一起做出的,工序之间的交互是决策的一部分。
要点
局部分派规则是对单个队列的好答案。它不是对整条产线的好答案,因为在混合流水车间中,各道工序是耦合的,而只针对队列的局部决策看不到这种耦合。用这些规则构建生产排程的工具继承了这种盲目,代价表现为断料、缓冲和更长的总生产时间。
当你评估一个排程工具时,问一个问题:它看到的是整条工艺路线,还是一次只看到一道工序?如果它让每道工序对着自己的队列排程,它就已经做出了那个打败生产排程的决定。那个跨产线协调顺序、设备与时间的工具,解决的才是工厂真正面临的问题。