4. 产品-工艺-产线映射建模

在食品工厂里,排程之所以难,往往不是因为订单多,而是因为“产品—工艺—产线”这三层关系没有理清。同一个产品族可能走不同工艺路线,同一条产线可能兼容多个产品族,但换型代价差异极大。如果排程员只看到订单和产线两张表,就会在换型、清洗、产能约束之间反复试错。本节要做的,是把这三层关系显式建模,形成一张可查询、可计算的映射结构,为后续的产能分析和排程优化提供数据底座。

一、三层对象与映射关系

映射建模的核心是三类主数据和两张关系表。三类主数据分别是产品族、工艺路线和产线能力;两张关系表是产品族—工艺路线的适用关系,以及工艺路线—产线的兼容与换型关系。产品族不是单个SKU,而是工艺特征相近的一组产品,例如烘焙中的“软式吐司类”、乳品中的“低温搅拌型酸奶”、饮料中的“PET无菌冷灌装果汁”、肉制品中的“低温乳化香肠”。划分产品族的依据是工艺相似性,而不是口味或包装。

工艺路线描述从原料投入到成品入库的关键工序序列,以及每道工序的关键参数窗口。以低温搅拌型酸奶为例,路线可抽象为:配料→均质→杀菌(95℃/300s)→冷却至42℃→接种发酵(42℃/4~6h)→破乳搅拌→灌装→冷藏。产线能力则记录每条产线可执行的工序、节拍、批量下限、清洗类型和换型时间。三者通过关系表连接后,任意一个订单都能被解析为“产品族→可选工艺路线→可执行产线→换型代价”的完整链路。

产品族—工艺路线—产线能力映射结构 产品族层 软式吐司类 烘焙 / 发酵+烘烤 低温搅拌型酸奶 乳品 / 发酵+冷藏 PET无菌冷灌果汁 饮料 / 杀菌+灌装 低温乳化香肠 肉制品 / 乳化+蒸煮 工艺路线层 R1 发酵—烘烤 搅拌→发酵→整形→烘烤 R2 发酵—冷藏 均质→杀菌→接种→发酵 R3 杀菌—无菌灌装 调配→UHT→无菌灌装 R4 乳化—蒸煮 斩拌→乳化→灌肠→蒸煮 产线能力层 L1 烘焙线 隧道炉 / 节拍 40s L2 发酵罐线 发酵罐组 / 批量 8t L3 无菌灌装线 UHT+灌装机 / 24000瓶/h L4 蒸煮肠线 蒸煮炉 / 批量 3t 换型矩阵(同产线内产品族切换代价,单位:分钟) 吐司→酸奶 不可切换(工艺不兼容) 酸奶→果汁 不可切换(过敏原/清洗等级) 果汁A→果汁B 45 分钟(CIP 中洗) 香肠A→香肠B 30 分钟(换模具) 吐司A→吐司B 20 分钟(换烤盘) 酸奶A→酸奶B 60 分钟(换菌种+CIP)

二、换型矩阵:映射关系中最容易被低估的部分

换型矩阵记录的是“在同一产线上,从产品族A切换到产品族B需要付出多少时间与物料损失”。它不是一个对称矩阵,A→B与B→A的代价可能不同,因为清洗顺序、过敏原管理、颜色深浅都会影响换型。建模时至少需要三类取值:可切换且代价已知、可切换但需人工确认、不可切换。不可切换通常来自工艺不兼容(如发酵罐线无法做无菌灌装)或食品安全约束(含乳产品与不含乳产品共线需深度清洗,实际排程中往往直接禁止)。

以饮料线为例,同一PET无菌线生产橙汁与苹果汁,切换需要CIP中洗约45分钟;若从含乳饮料切换到纯果汁,则涉及过敏原清洗,代价可能升至120分钟以上,排程时应尽量避免相邻。肉制品线中,不同肠衣直径的切换主要是换模具,约30分钟;但若从含亚硝酸盐配方切换到无添加配方,则需要额外的清线验证。这些数值不是拍脑袋,而是来自设备清洗SOP和历史换型记录,建模时应标注数据来源与版本,避免排程结果无法追溯。

三、从映射到可计算的排程输入

完成映射后,需要把关系表转化为排程引擎可消费的结构。一种实用做法是为每个“产品族—工艺路线—产线”组合生成一条可执行路径记录,字段包括:路径ID、产品族、工艺路线、产线、标准节拍、最小批量、换型前驱集合、换型时间、清洗等级。排程时,订单先按产品族聚合,再匹配路径,最后根据换型矩阵计算相邻订单的切换代价。下面是一个路径记录的示例结构:

路径ID: P-012
产品族: 低温搅拌型酸奶
工艺路线: R2(均质→杀菌→接种→发酵→灌装)
产线: L2 发酵罐线
标准节拍: 8t/批,发酵4~6h
最小批量: 4t
换型前驱: 同族酸奶(60min CIP);禁止前驱:含乳饮料以外品类
清洗等级: 深度CIP
数据来源: 2024版清洗SOP v3.2

这张记录的价值在于,它把“能不能做”和“做起来贵不贵”同时编码进了数据。排程员不再需要凭经验判断某条线能否接某个订单,系统可以直接过滤不可行路径,并对可行路径计算换型代价。对于多产品族共线的工厂,还可以在路径记录上增加“换型后首件确认时间”,因为清洗后的首件往往需要额外检验,这部分时间在精细排程中不可忽略。

四、建模中的常见陷阱与校验

第一个陷阱是产品族划分过粗。把“所有酸奶”归为一个族,会掩盖搅拌型与凝固型在灌装工序上的差异,导致排程给出不可执行的路径。第二个陷阱是换型矩阵只填了时间、没填约束,例如某些产品切换后需要等待微生物检测结果才能放行,这段时间不是换型时间,但会阻塞产线。第三个陷阱是产线能力写成静态值,实际上同一产线在不同产品族下的节拍不同,必须按路径记录分别维护。

校验方法可以很直接:抽取最近一个月实际执行的工单,逐条回放映射路径,检查是否存在“系统认为可行但实际未执行”或“实际执行但系统无路径”的情况。前者通常意味着约束缺失,后者通常意味着主数据未维护。把差异条目整理成清单,逐条确认是数据问题还是工艺变化,再更新映射表。这个回放过程本身也是排程员熟悉映射结构的好机会。

建模时建议为每条换型记录保留“依据”字段,填写清洗SOP编号、历史换型记录或设备手册页码。排程结果被质疑时,能快速定位到数据来源,而不是重新争论换型时间该填多少。

产品—工艺—产线映射建模的产出不是一张漂亮的架构图,而是一组可查询、可校验、可追溯的关系数据。它让排程从“凭经验试”转向“按路径算”,也为后续的产能负荷分析和优化算法提供了统一的输入口径。映射表维护得越细,排程阶段的返工就越少。