清洗占用数小时,产能计划从未计入
产品族之间的清洗会占用设备真实的、随生产顺序变化的时间。把它作为换线或预订的停机时间窗录入,生产排程就会显示本周的工作是否装得进剩余的小时:清洗是产能,不是间接费用。
每周一,同一个问题都会落在计划员的桌上:这条产线本周到底能生产多少?答案来自一张基于产线速度的产能表。运行小时数乘以速率,数字就出来了。到了周五,本周的产量又不够了。产品族之间的清洗循环从未被算进那些数字里。当一条产线从一个产品族切换到另一个产品族时,它要停止生产,同时冲洗残留物、清洁表面。这段停止是真实的时间:完整的清洗循环,从预冲洗到最终冲洗,作为一个单独的数字录入。它的长短因工厂而异,并且它属于生产顺序,因为哪个产品族接在哪个后面,决定了要清洗什么。清洗是设备时间,而一份把它排除在外的产能计划,给出的周一答案就是错的。
产能表里没有清洗这一行
运行速率计划把产线速度乘以运行时间,然后把结果叫作产能。清洗进入那份计划的方式,即便有,也只是固定的预留或经验法则——无论产品是什么、生产顺序如何运行,都是同一个数字。在排程文献中,这种遗漏是常态而非例外:大多数已发表的排程模型把换线时间视为可以忽略,或把它并入加工时间,而众所周知,这种简化恰恰伤害那些需要显式换线的计划。这些都不归咎于任何一家工厂;它只是描述了模型的假设。其后果是一份仅由运行速率构成的产能报表,没有产品族之间清洗这一行。它对周一问题的回答,把产能高估了恰好那从未录入的时间。那些清洗小时反复出现,它们消耗着计划从未显示的设备时间。
清洗是产能,不是间接费用
间接费用是一个你分摊之后就忘掉的包袱。产能是设备真正拥有的时间。产品族之间的清洗会占用设备一段真实、随生产顺序变化的时长。过敏原、风味、颜色和效价边界决定哪些产品之间需要清洗,而切换到不同的风味系列,比再次运行同一产品族需要更深的清洗。清洗运行的每一个小时,都是设备不生产的一个小时。把清洗叫作间接费用,它就活在计划之外,成为一个待吸收的预留。把它叫作产能,它就必须被排程,就像每一小时的设备时间一样。产品族之间的清洗是一个排程决策:它在生产顺序中有一个位置,也有一段生产排程必须显示的时间。本文的其余部分介绍它可以被排程的两种方式,以及一旦排程之后会有什么变化。
两种机制,一条计划员的启发式
这里使用的词汇来自两种有据可查的机制,两者都是计划员录入的输入。
第一种是产品族之间的常规清洗,以换线的形式录入:在两个产品族之间、在必须清洗的设备上录入一段清洗时间。因为它属于产品到产品的过渡,它会随生产顺序一起移动。改变生产顺序,清洗负荷也随之改变。
第二种是较长的就地清洗(CIP)循环、深度清洗,或按运行小时数或工作日历间隔到期的清洗,作为计划性停机时间窗预订:计划员放在工作日历上的设备不可用时间。
把它们对应起来的启发式是计划员的。如果清洗是由生产顺序驱动的、产品族之间反复出现的清洗,就以换线录入。如果它是更长的或一次性的清洗,就预订为停机时间窗。这个选择是两种有据可查的机制之间的建模决策,绝不是关于清洗何时发生的算法决策。生产排程只是把计划员录入的内容建模;它不决定某次清洗是否到期。
这里的每一项说法都限定在单台设备上,因为 Schantt 没有与设备分离的共享资源实体:每台设备的可用性都单独排程。在许多工厂里,一个清洗橇服务于多台设备,而且一次只能清洗其中一台。对于共享一个橇的设备,计划员手工错开停机时间窗,并在甘特图上确认结果。协调是计划员的,不是软件的。
而且这些时长保持为范围,因工厂而异。同一个清洗循环在轻度污垢的表面上运行得很快,在污垢结壳的地方则要长得多,所以没有固定的按产品预留对每一次清洗都正确。计划员自己的数值才是事实基准。
包含清洗的生产排程能做什么
一旦清洗时间进入生产排程,有三件事会改变。
首先,生产顺序可以交换清洗负荷。生产排程把一台设备连续作业之间的换线时间折进它的时间安排,因而也折进总生产时间。把相似产品族放在一起的计划承载更少的清洗时间,生产排程会偏好它们。在 Auto 模式下,它可以重新排列生产顺序,朝向更低清洗负荷的安排。在 Semi-Auto 模式下,它保持计划员的生产顺序,转而让设备分配承载换线。录入的时长从不改变:生产排程用它们去交换生产顺序和分配,绝不会改动清洗时间本身。工厂本来就会把同一产品族的批次一起运行,以便把清洗摊到更长的运行上,而感知换线的排序会自动产生同样的聚集,无需在模型的任何地方录入分组规则。
其次,时间是可见的。一次换线会以一段带标签的片段呈现在加工条之前。预订的清洗时间窗以阴影叠加层出现,悬停时显示细节。清洗不再是一种不可见的预留,而成为甘特图上计划员可以看到、质疑和移动的一个条。
第三,周一问题的答案变了。换线时间落进每道工序的开始时间,因而也落进总生产时间;生产排程在任何规划之前,先从工作产能中扣除已预订的停机时间窗。两者合在一起,一个把清洗计入的生产排程会显示本周的作业清单是否装得进剩余的小时。它把基于运行速率的电子表格的乐观,修正到实际存在的设备时间上。
周一要改什么
对计划员来说,清单很短。在负责清洗的设备上,把常规的族间清洗录为换线时长。把较长的 CIP 循环、深度清洗,以及按间隔到期的清洗预订为计划性停机时间窗。在共享的清洗橇上,手工错开时间窗,并在甘特图上确认。然后让生产排程交换清洗负荷,并阅读结果。
生产排程的扎实程度只能达到所录入数值的水平。清洗时长在实践中是估计值,应当用实测的工厂数值来替换。模型不可能优于它被给出的数字。
对于比较排程工具的购买者,要问清洗是否是一个可排程的决策:按设备录入、在甘特图上可见、可以针对生产顺序进行交换。如果工具用隐藏在电子表格里的固定预留来回答,那它仍然把清洗当作间接费用。
清洗从来都是设备时间。唯一的问题是计划是否把它计算在内。