冻结生产顺序,围绕它优化
生产顺序通常是计划员的决定,涵盖换线、客户承诺和产品族规则。在换线频繁的混合连续流产线上,保持顺序固定,让软件围绕它优化设备分配与时间安排。这是检验任何排程工具的正确标准。
顺序在软件到来之前就已经决定了
一天的生产顺序通常在任何排程工具打开之前就已经敲定。计划员早已知道什么接着什么、朝哪个方向:从浅色调换到深色调是快的,反过来则要慢得多;无过敏原的产品族先生产,其余随后;共享同一交货窗口的订单保持在一起。这些大多从不存于计划系统之中。它们是计划员掌握的运营知识,而在一条换线频繁、每道工序都有并行设备的产线上,这不是一种偏好,而是执行计划。
想要接管你的顺序的软件
排程软件的主流卖点是重新排序:把工厂交给工具,它会找出一个更好的顺序,一个能缩短总生产时间的顺序。在这篇文章所讨论的产线上,这一卖点与三个现实相冲突。
换线矩阵是计划员随身携带的、按设备记录的方向性知识:从任一产品到任一其他产品所需的换线时间。有些顺序安排是合规决策:无过敏原的批次先于含过敏原的批次,产品族之间的验证性清洗,以及无人会跨越排产的计划清洗窗口。而把各批次归组为产品族轮次,可在不相容产品之间摊薄清洗时间。一个能随意重排作业的工具,即使能改进它自己对生产排程的看法,仍可能产出一个计划员无法执行的生产排程——因为重排打破了使产线合规、洁净并兑现客户承诺的那些约束。
冻结顺序,围绕它优化
这篇文章要捍卫的主张很简单:在这些产线上,对排程软件的正确检验,不是它能把你的作业重排得多好,而是它能在你所持有的顺序之内把总生产时间压到多低。把顺序留住,让软件负责围绕它的设备分配与时间安排。
冻结顺序确实有代价。排程文献之所以存在,正是因为重排能省时间,有时省得很多。这些收益是真实的,而冻结一个欠佳的顺序会放弃其中一部分。计划员反正要握住顺序不放,因为他们拥有那些无法计算的约束:合规顺序、轮次结构、对共用一条产线的客户的承诺。
「冻结」需要被说得精确,因为有三种不同的东西都会被称作「冻结」:
| 被冻结的对象 | 发生在哪里 | 由谁持有 |
|---|---|---|
| 主生产排程时段 | 计划原则,提前数周设定 | 计划员 |
| 执行顺序 | 哪项作业逐日跟在哪项之后;本文的主题 | 计划员 |
| 设备分配与时间安排 | 从不冻结;留给优化 | 软件 |
主生产排程时段几十年来一直作为生产计划原则被冻结。执行顺序正是这篇文章主张由计划员保留的东西。设备分配与时间安排则相反,恰恰应该保持开放:那是软件擅长的部分。
真正的风险是冻结而未定时的顺序
显而易见的反驳是:冻结顺序,你就会制造出隐藏的等待时间。一个在某瓶颈上看起来不错的顺序,可能让并行设备闲置:一条产线等着来料,而并行产线在排队。答案是,这正是边界划在那里的原因。计划员冻结顺序;软件负责分配与时间。一个冻结却未定时的顺序是风险;一个冻结且由软件定时的顺序才是重点。每道工序的并行设备正是让这一分工非比寻常的原因:当每道工序有多条产线或多个灌装头时,顺序并不决定时间。谁在什么时间、在哪台设备上生产什么,是第二个决策,而优化恰恰藏在这里。
桌面上摆着多少时间
为了让这种权衡具体化:一项关于鲱鱼沙拉产线的已发表研究测得,换线时间占产线年度可用时间的 28%:即 1928 小时中的 536 小时,而实际生产占 47%。同一研究还报告,一项单分钟换模(Single-Minute Exchange of Die,SMED)计划将换线时间削减了 34%,换来了约 11% 的产线产能。没有任何来源做过受控的冻结与自由对比,所以请把这一数字视为奖池的规模,而不是对冻结的裁决。
要点很简单。在一条换线时间消耗超过可用时间四分之一的产线上,顺序——哪个产品跟在哪个之后——与定时——每项作业何时、在哪台设备上运行——每一项都能实质性地改变总生产时间。这就是为什么两者之间的边界才是关键决策,也是为什么「谁持有哪部分」是向任何排程工具都应提出的问题。
一句坦诚的说明:同一家工厂报告称,在需求高峰时产能富余 49%,正常时期富余 75%——这是需求侧的度量,而不是产线时间的占比。富余可以降低顺序决策的紧迫性,但不会消解它们。这家工厂仍把降低换线时间作为首要杠杆,因为它的富余是季节性的:货架期短意味着它不能简单地囤积库存。
治理旋钮:中间的 Semi-Auto
这正是排程模式登场之处,也是这篇文章开头的治理问题的答案:由计划员决定顺序到底算不算约束。Schantt 把这一决定实现为一个三档旋钮。
一端是 Auto 模式。顺序不是约束:排程算法决定顺序、设备分配与时间,以最小化总生产时间为目标。
中间是 Semi-Auto 模式。计划员按固定的生产顺序输入产品与数量,算法会精确地保留该顺序。它围绕顺序优化设备分配与时间,决定每项作业在哪台设备上、何时运行,以最小化总生产时间。依赖顺序的换线——以从一个产品到另一个产品的、按设备记录的方向性时间输入——被纳入这一目标。在 Semi-Auto 中,算法通过把作业在各设备之间移动来管理这些换线,绝不重排顺序。按作业设置的最早开工时间是计划员的一个不破坏顺序的杠杆,而设备适用性让分配只限于真正能生产该产品的设备。
另一端是 Manual 模式。每个决定都由用户亲自设定:位置、产品、数量、工序、设备、开始与结束。不运行任何优化。
选择模式就是划定治理边界。这里没有任何东西会强制过敏原顺序、产品族成块或颜色阶梯;那些是计划员的规则,而模式只是实现计划员选择的边界。像从浅到深这样的单向偏好,是通过不对称的换线时间被鼓励而非强制:不被鼓励的方向带着更长的换线时间,于是目标函数奖励偏好的顺序,却不命令它。
冻结时长与刷新节奏是计划员的旋钮
冻结多久、多久刷新一次,是计划员的决定,而不是软件设置。在实践中,这意味着按计划员选择的节奏,用更新过的固定顺序重新运行生产排程:每天、每班,或在顺序发生实质性变化时。冻结的是你交出的顺序;其余一切在每次运行时重新优化。
并非每条产线都需要这一论证。在近乎与顺序无关的产线上,换线又快又均匀,冻结与排序都无足轻重。这篇文章有意限定了范围:换线频繁、依赖顺序的流水车间与混合流水车间,且每道工序有并行设备。汇流与分流拓扑——产品在产线上合并或分开——是另一类问题,不在本文讨论范围内。
该向你的排程软件提出什么问题
当你为换线频繁的产线评估排程软件时,问题自然从上述论证中产生:
- 它是否保留你给出的顺序,还是把它当作建议?
- 在该顺序之内,它是否负责设备分配与时间安排,并最小化总生产时间?
- 你是否能按具体情况划定治理边界——顺序完全自由、完全固定或完全手动——而无需更换工具?
- 你是否能按自己的节奏刷新,随时输入更新过的固定顺序?
这篇文章捍卫的主张只有一个:由计划员决定顺序到底是不是约束。围绕这一决定做优化、在计划员持有的顺序之内处理分配与时间的软件,才配得上在这条产线上立足。而那些坚持把顺序从计划员手中拿走的软件,要的是一份计划员不会交出的工作。