先问软件能否为你的工厂建模

买家比较生产排程工具时,掂量的是优化器听起来有多聪明。真正的考验是工具能否再现工厂:批次与连续流工序、方向性换线、转移延迟、工作日历与停机。

演示总是以算法开场

典型的排程软件演示总是以算法开场。一张幻灯片,讲搜索如何找到更好的生产排程、基准测试如何持续进步。那是容易的推销,而且对在场的每家工厂都是同一套话。演示中没有人问的那个问题,恰恰是决定工具到底能不能用的那一个:它能否装得下这家工厂的物理事实?一道向 flow(连续流)工序供料的 batch(批次)工序、一个方向比另一个方向长三倍的换线、二十分钟把物料泵送到工序之间、一个周五傍晚就关闭的工作日历。如果模型装不下这些事实,那么聪明的算法优化的是一个不存在的工厂。

看起来最优、却在车间里死掉的计划

排程文献记录优化生产排程与已执行生产排程之间的差距已有数十年。理论在静态、确定性的假设下优化;车间运行的是一种动态、随机的现实。当一份生产排程在与车间接触后没能存活,标准的应对就是重排程,而重排程可能推迟或作废它本要保护的工作。生产排程不稳定是一种被研究过的现象。当生产排程不断变动,运营产线的人们开始不再信任它,精力都花在追着修订跑。这不需要任何统计数字;工厂经理都亲身经历过。优化器的精密程度是在一个简化的模型上衡量的,而车间运行的是复杂的现实。两者之间的差距,是一个建模差距。

真正的考验是模型,不是优化器

因此,排程软件选型的决定因素是模型保真度,而不是优化器的精密程度。模型保真度是工具对工艺过程的忠实再现程度:批次与连续流工序的行为、换线方向、转移与交接延迟、工作日历与停机。优化器的精密程度(用优化语言说)就是算法的推销词:当供应商介绍它时,优化器听起来有多聪明。排程工具的可靠程度,不会超过优化器底下的工艺模型。一个强大的优化器架在一个无法再现工厂物理现实的模型上,产出的生产排程无法执行,无论推销怎么说。

排程器必须装下的五个物理事实

「再现工艺过程」在实践中意味着什么?五个物理事实。拿它们去问任何工具。

同一条工艺路线中的批次与连续流工序。 混合机按周期以批次工作;灌装机按每小时速率运行,而一条工艺路线同时包含两者。工具能否装下逐工序的物理机制,还是被迫采用单一的合并产线速度?

方向重要的换线。 从一个产品换到另一个产品所花的时间,与换回去不同。在下面的示例设定中,换入浅色产品的冲洗远比反方向的清洗耗时。工具能否装下一个随方向而不同的换线值?

转移与交接延迟。 物料在两工序之间移动需要时间,通过泵、输送机或叉车。工具能否把下游开工与上游完工加上转移时间串联起来,还是物料瞬间到达?

工作日历、例外与停机。 夜间、周末、假日与预订的停机都是产能事实。工具能否把工作排进工作窗口,还是按流逝时间规划,仿佛工厂从不停止?

断料时可见的等待。 当下游工序跑赢了上游供应,生产排程应当显示一段等待,而不是假设物料早已到位。工具能否显示出断料?

连其中一个都装不下的工具,产出的生产排程是车间无法照做的。

五个事实都体现为设定值

这五个事实不是抽象概念。每一个都是工厂可以说得出、工具装得下或丢得掉的数值。在任何演示之前,用你工厂使用的单位写下你自己的值。下面的值只是示例,且针对具体工厂;你的会不一样。

设定 示例值
换线,深色产品到浅色产品 60 到 90 分钟
换线,浅色产品到深色产品 15 到 30 分钟
批次工序:批量大小与周期 2,000 kg,45 分钟一个周期
连续流工序:产线吞吐量 每小时 6,000 kg
工序间转移 20 分钟
班次模式 五天,两班制

现在问:当工具连其中一个都装不下时,它会做什么。一个把批次工序与连续流工序合并成单一产线速度的模型,会按慢工序供不上的供应量来规划快工序。一个对两个方向携带同一个换线值的模型,把长换线与短换线一视同仁,于是一周在纸上装得下,在车间却装不下。一个让物料瞬间在工序之间移动的模型,会在上游完工的同一分钟启动下游工序。一个按流逝时间规划的模型,把夜间与周末当作工时,于是一份三天的生产排程落地成了五天的生产排程。

这些没有一个稀奇,而每一个单独就能让生产排程移动。合在一起,它们产出一份车间无法运行的生产排程。架在这种模型上的任何优化器都无法挽回,因为模型从未装下本会暴露错误的事实。

优化器受模型约束

优化器受模型约束,而这恰恰就是 Schantt 的工作方式。排程算法只能作用于模型所再现的东西。在 Auto 模式下,工具可以重新排列生产顺序,把产品聚簇起来,让长换线很少发生;这之所以可行,只是因为模型装下了方向性换线值。在 Semi-Auto 模式下,工厂固定生产顺序,软件优化其余部分:哪台设备、哪一天、每批何时开始。两种模式的目标都是基于被建模的物理机制计算出的总生产时间,包括批次周期、换线、转移、工作日历与等待。算法好不好,取决于它下面的工艺模型。

保真度与数据维护是一起买下的

建模深度与数据维护是一起买下的。因此,保真度测试还包括一个关于数据录入的问题:工厂自己的值——换线时间、产线速度、批量大小、转移时间与工艺路线——是否甚至能被录入并保持最新?Schantt 支持带校验的批量配置录入,一份值的工作簿一次就能导入。但计划员拥有这些数字。工具导入并校验;它不测量它们,也不维护它们。一个用过期换线时间喂养的精确模型,是去年那个工厂的精确模型。生产排程好不好,取决于它下面的数据。

优化器的精密程度何时有理由胜出

有些工厂确实是静态的。有了稳定的产品组合、均衡的工序与工序之间充足的缓冲,静态、确定性的排程模型适用,优化器的精密程度可以成为决定性因素。本文的主张是,保真度至少同样重要,而不是它总能胜出。如果你工厂的物理现实比较温和,尽管去比较算法。如果它们是真实存在的,先比较模型。

先应用模型保真度测试

所以,在你比较算法的推销说辞之前,先应用模型保真度测试。工具能否在同一条工艺路线中再现批次与连续流工序?能否装下一个随方向不同的换线值?能否把下游开工与上游完工加上转移时间串联起来?它是否把工作排进工作日历与停机之中,并在断料时显示一段等待?如果模型装不下工厂的物理现实,架在它上面的任何优化器都不可信,无论基准测试的幻灯片怎么说。算法的推销值得一听。但它不值得先听。模型保真度才是那个测试,它告诉你,余下的对话是关于你的工厂,还是关于一个不存在的工厂。

准备好优化您的生产排程了吗?

免费试用 Schantt——无需信用卡。60 分钟内从电子表格迈向优化后的甘特图。

免费试用 Schantt