啤酒装瓶与装罐运营着饮料制造业中最具时间敏感性的包装产线——一个具有数天停留时间的清酒暂贮罐向以不同速度运行的并行灌装线供料,同时格式换线、计划CIP清洗窗口和季节性产量波动共同争夺同一工作时间。Schantt从清酒罐开始对包装车间进行建模,在同一生产计划中编排暂贮batch(批次)、并行易拉罐与瓶灌装分配以及计划停机时段——计划员在将任何作业提交到产线之前就能看到完整的周度排程。
本指南基于行业研究,以一家虚构的综合公司为原型;所有名称、参数和数字均为示意用途。
行业背景
中小型啤酒厂的包装作业始于发酵和熟成完成之后——清酒罐中装有已澄清、碳化的啤酒,待包装。在此规模下,灌装线通常以罐装线每小时2,000–10,000罐、瓶装线每小时800–5,000瓶的速度运行,同时一个桶装站处理较小量的生啤产品与主力产线并行运行。排程压力始于暂贮罐:由于停留时间因啤酒风格而异且每个罐容量固定,计划员必须控制罐的释放节奏以匹配灌装能力,防止暂贮完成与开始灌装之间的空闲时间。本指南涵盖艾尔和快速陈贮拉格,暂贮窗口为三天或以下;生产长陈贮风格啤酒的工厂需要为这些产品采用单独的排程方法。
此规模的大多数包装车间通过五到六个生产工序运行——容器准备、灌装、贴标、装箱和码垛——其中灌装工序的多台设备是并行能力的主要来源。易拉罐与瓶子之间的格式换线需要在共享下游设备上进行物理调整,每台灌装机的计划清洗周期必须在不侵占排程灌装时间的前提下分配。季节性需求波动——夏季高峰通常需要额外班次和周末生产——推动班次扩展决策,这些决策会实质性地改变排程可填充的每日可用能力。
Irongate Brewing Co.在一座目标年产能90,000 hl的包装设施中雇佣约65名员工,通过六个生产工序生产三个产品族,由两人计划团队制定排程。典型年吞吐量约为75,000 hl,剩余能力为夏季高峰周预留。
流程概览
flowchart LR
A["清酒暂贮"]
B["容器准备/卸垛"]
C[灌装]
D[贴标]
E["装箱"]
F[码垛]
A --> B --> C
A -.->|桶装| C
C --> D --> E --> F
C -.->|易拉罐| E
C -.->|桶装| F
啤酒包装从清酒暂贮向前流动,经过灌装和下游包装工序直至码垛,每个产品族按照自身需要的路径经过各工序。
工艺路线说明: 易拉罐跳过贴标工序——预印罐体无需贴标。桶装产品完全绕过容器准备、贴标和装箱,从清酒暂贮罐直接送至桶装站,然后至码垛。使用隧道杀菌的啤酒厂会在灌装和贴标之间增加一个flow(连续流)工序,在Schantt中将建模为一个额外工序。
排程挑战与Schantt的应对方式
本指南的需求输入遵循一份代表性周度订单列表——按产品和目标灌装周列出的数量——由销售团队提供给计划员。实际驱动因素为滚动订单簿或需求预测而非固定周度列表的计划员,采用相同的设置方法,在排程创建时调整数量和顺序输入。Schantt从所选开始日期开始向前排程,目标是最小化计划中所有作业的总生产时间。本指南采用两到四周的滚动计划周期,将暂贮批次、灌装运行和下游包装保持在同一个排程窗口中。在Auto模式下,Schantt决定作业顺序和设备分配;在Semi-Auto模式下,计划员固定生产顺序,Schantt在该序列内优化设备选择。
Schantt擅长的领域
- 并行灌装线。 一条罐装线和一条瓶装线是同一灌装工序上的两台设备。Schantt的Auto模式会探索两条产线的设备分配以压缩总灌装时间;Semi-Auto模式则保持计划员的运行顺序,同时优化设备选择。
- 依赖顺序的换线。 共享设备上产品族之间的格式和风格换线——包括深色到浅色冲洗比对浅色到深色过渡时间更长的不对称时长——作为方向性换线矩阵在每个设备上一次性录入,优化器会倾向于选择将兼容运行聚类的序列。
- 计划CIP清洗窗口。 以计划停机时段形式在灌装设备上录入的清洗块会被排程自动遵守;作业会自动绕过它,无需手动重新排程。
- 混合批次与连续流流水线。 清酒暂贮罐作为批次工序运行,具有固定的罐容量和每种风格的固定停留时间;所有下游包装工序作为连续流工序运行,具有连续的产线速度。两种工序类型在同一条工艺路线中共存,无需变通方案。
- 季节性班次工作日历。 针对非高峰单班时期和夏季双班时期的不同工作时间模式被分配给同一排程内的日期范围;一次性加班日或工厂停工通过工作日历例外处理,无需重建工作日历。
Schantt如何应对每个挑战
1. 多天暂贮与风格依赖的停留时间。
- 每个清酒罐每批次(batch)容纳固定容量,暂贮停留时间因啤酒风格而异——Pale Ale和IPA需要48小时暂贮,而Amber Ale需要72小时。排程必须尊重这些最低时间要求才能将罐释放给灌装机,且罐释放必须与灌装可用时间对齐,以防止包装产线空闲。
- 每个BBT被建模为批次暂贮工序上的一台设备,每个产品族具有固定的批次周期时间。Pale Ale和IPA的周期时间配置为52小时(48小时暂贮加4小时固定质量缓冲用于感官和浊度检查);Amber Ale为76小时(72小时暂贮加相同4小时缓冲)。排程中的暂贮完成事件是一个生产时序事件——决定将批次释放给灌装机的质量判断是Schantt之外的独立流程。优化器对暂贮批次进行排序,使罐释放与灌装可用时间对齐,最小化工序间的空闲时间。
2. 具有格式特定工艺路线的并行灌装线。
- 罐装线以每小时12,000罐运行;瓶装线以每小时6,000瓶运行;桶装站以每小时80桶运行。每个产品族专有地分配到灌装工序上自己的设备,因此易拉罐始终送至罐装线,瓶子送至瓶装线,桶装送至桶装站。由于三种灌装机的速度不同,在一天内混合格式需要谨慎排序,以避免一条产线低负荷运行而另一条以产能满负荷运行。
- 由于三台灌装设备位于同一工序,当生产顺序允许时,Schantt可以并行排程易拉罐和瓶子。在Auto模式下,优化器将产品分配给设备并对运行排序,以最小化两条产线的总完成时间。在Semi-Auto模式下,计划员独立排序易拉罐和瓶子,优化器在这些约束内处理设备选择。
3. 灌装设备上的计划CIP停机时间。
- 每条灌装线在每天首次灌装前或长时间闲置后需要清洗循环:罐装线的完整CIP需要90分钟;瓶装线需要75分钟;桶装站清洗循环需要45分钟。这些窗口必须出现在排程中,以便作业不会占用它们。
- 计划员在运行周度排程之前,在每台相关设备上为当天的CIP窗口录入一个计划停机块;优化器随后自动将灌装作业绕过这些块。如果两条灌装线共用一个清洗橇,计划员在录入两个停机窗口后检查生成的排程以确认块不重叠——Schantt独立排程每台设备的窗口。在本指南的场景中,罐装线和瓶装线具有独立的清洗回路,因此无需错开检查。
4. 共享下游设备上依赖顺序的格式换线。
- 装箱机和码垛机同时服务于易拉罐和瓶子。在这些设备上切换格式需要物理调整——装箱机上的托盘导轨和容器高度限位器、码垛机上的码垛层模式和输送导轨——每次切换在各自方向需要固定时间。
- 换线时间按设备以产品族之间的方向性矩阵录入。在装箱机上,易拉罐到瓶子或瓶子到易拉罐的切换无论哪个方向都需要20分钟。在码垛机上,相同的格式切换需要15分钟。优化器使用这些条目来偏好将同格式作业聚类并减少周度排程中总换线时间的运行序列。
5. 季节性班次扩展。
- 夏季需求高峰超过非高峰基线,需要数月的延长班次时间和周六生产。在整个年份应用单一固定工作日历会导致高峰月份排程不足、淡季月份排程过剩,而为每个季节过渡手动重建排程模板容易出错。
- Schantt允许计划员在排程内将不同的工作日历分配给特定日期范围。非高峰工作日历运行周一至周五07:00–15:30;夏季高峰工作日历运行周一至周五07:00–23:00及周六07:00–15:30。计划员在季节开始时将夏季工作日历分配给4月至8月日期范围,作为排程工作日历期间,将两种模式保持在同一计划中而无需从头重建。一次性变更——例如公共假日或计划外加班周六——通过工作日历例外处理。您设置每个期间的班次时间;算法在这些窗口内排程作业。
在Schantt中建模的内容
Irongate的包装车间映射到Schantt中的以下一级实体;以下每个数量与本指南的数据集匹配。
| 实体 | 数量 | 说明 |
|---|---|---|
| 工序 | 6 | 清酒暂贮(批次)加五个连续流工序:容器准备/卸垛、灌装、贴标、装箱、码垛 |
| 设备 | 12 | 3个BBT、2台卸垛机、3台灌装机(罐装线、瓶装线、桶装站)、1台贴标机、1台装箱机、2台码垛机 |
| 产品族 | 3 | 易拉罐(355 ml)、瓶子(330 ml)、桶装(50 L) |
| 产品 | 3 | 每个品类一个代表性SKU |
| 工作日历 | 2 | 非高峰(平日单班)和夏季高峰(延长平日加周六) |
分步设置
1. 按位置顺序创建六个生产工序。
添加每个工序及其生产类型:清酒暂贮作为批处理工序位于位置1,然后容器准备/卸垛、灌装、贴标、装箱和码垛作为连续流工序位于位置2至6。在每个工序的详情页上,设置到下一工序的转移时间:
- 清酒暂贮 → 容器准备/卸垛:15分钟(从罐室到包装车间的加压转移管线)
- 容器准备/卸垛 → 灌装:5分钟(输送至灌装进料口)
- 灌装 → 贴标:5分钟(在线输送,仅瓶子)
- 贴标 → 装箱:5分钟(输送至装箱机进料口)
- 装箱 → 码垛:8分钟(输送至层码垛机)
同时添加跳过工序的产品类别所需的桥接转移时间。当一个类别跳过一个或多个中间工序时,Schantt使用以下时间:
- 清酒暂贮 → 灌装:15分钟(桶装加压管线,绕过容器准备/卸垛)
- 灌装 → 装箱:5分钟(易拉罐在线输送,绕过贴标)
- 灌装 → 码垛:10分钟(桶装手推车至码垛区,绕过贴标和装箱)
2. 将十二台设备添加到各自工序。
在清酒暂贮工序:BBT-1(每批次12,120 kg/120 hl)、BBT-2(12,120 kg/120 hl)和BBT-3(8,080 kg/80 hl)。在容器准备/卸垛工序:易拉罐卸垛机和瓶子卸垛机。在灌装工序:罐装线、瓶装线和桶装站。在贴标工序:贴标机。在装箱工序:装箱机。在码垛工序:码垛机(用于易拉罐和瓶子的层码垛机)和桶装手动堆垛站——一个名义条目,其吞吐量与桶装站的输出速率匹配,为桶装作业在排程中闭合工艺路线,而不暗示桶装使用机械码垛线。
3. 创建三个产品族并定义每个类别的工艺路线。
添加易拉罐(355 ml)、瓶子(330 ml)和桶装(50 L)。在每个类别的详情页上,分配其所经过的工序:
- 易拉罐: 清酒暂贮 → 容器准备/卸垛 → 灌装 → 装箱 → 码垛(跳过贴标)
- 瓶子: 清酒暂贮 → 容器准备/卸垛 → 灌装 → 贴标 → 装箱 → 码垛(完整六工序路径)
- 桶装: 清酒暂贮 → 灌装 → 码垛(跳过容器准备/卸垛、贴标和装箱)
在同一罐装线上同时运行浅色和深色风格啤酒的啤酒厂可以通过创建第二个易拉罐产品族来扩展此模型——例如深色易拉罐——并在罐装线上从深色易拉罐到浅色易拉罐录入方向性换线,以表示风格驱动的冲洗。在本指南的场景中,Irongate运行单一易拉罐品类,因此本示例未编码灌装工序换线。
4. 每个品类添加一个代表性产品。
录入Irongate Pale Ale——355 ml易拉罐(易拉罐品类)、Irongate Amber Ale——330 ml瓶子(瓶子品类)和Irongate IPA——50 L桶装(桶装品类)。每个品类一个产品足以代表每种工艺路线并运行排程;同一品类内的其他SKU作为该品类下的其他产品添加,无需重新配置工艺路线或设备。
5. 在每个设备的详情页上设置设备产能参数和换线。
清酒暂贮——批次参数: 为分配到每个BBT的每个产品族设置批次周期时间和批次大小。
- BBT-1服务于易拉罐和瓶子:易拉罐周期时间3,120分钟,批次大小12,120 kg;瓶子4,560分钟,12,120 kg。
- BBT-2服务于所有三个品类:易拉罐3,120分钟,12,120 kg;瓶子4,560分钟,12,120 kg;桶装3,120分钟,12,120 kg。
- BBT-3服务于所有三个品类:易拉罐3,120分钟,8,080 kg;瓶子4,560分钟,8,080 kg;桶装3,120分钟,8,080 kg。
易拉罐和桶装的3,120分钟周期时间包括48小时暂贮加4小时固定质量缓冲。瓶子的4,560分钟周期时间包括72小时暂贮加相同4小时缓冲。在同时处理所有三个品类的BBT-2和BBT-3上,录入批次间换线矩阵:易拉罐 ↔ 瓶子每个方向60分钟;涉及桶装的任何切换每个方向90分钟。在仅处理易拉罐和瓶子的BBT-1上,每个方向录入60分钟。
连续流工序产线速度: 为每个产品族在其使用的每台设备上设置吞吐量。
- 易拉罐卸垛机:12,000罐/小时(易拉罐)
- 瓶子卸垛机:6,000瓶/小时(瓶子)
- 罐装线:12,000罐/小时(易拉罐)
- 瓶装线:6,000瓶/小时(瓶子)
- 桶装站:80桶/小时(桶装)
- 贴标机:6,000瓶/小时(瓶子)
- 装箱机:12,000罐/小时(易拉罐);6,000瓶/小时(瓶子)
- 码垛机:12,000罐/小时(易拉罐);6,000瓶/小时(瓶子)
- 桶装手动堆垛站:80桶/小时(桶装)
在易拉罐和瓶子共用的设备上录入换线:装箱机——每个方向20分钟;码垛机——每个方向15分钟。
6. 配置工作日历、例外和停机时间窗口。
创建两个工作日历。非高峰工作日历(设为默认)运行周一至周五07:00–15:30。夏季高峰工作日历运行周一至周五07:00–23:00及周六07:00–15:30。添加四个工作日历例外,均为非工作日:
- 1月1日——元旦
- 5月1日——国际劳动节
- 12月30日——年末停工
- 12月31日——年末停工
录入两个预计划设备停机时间窗口:
- 罐装线,3月15日07:00–09:30——计划春季维护CIP和机械检查,为夏季产量攀升做准备
- 全厂(所有设备),12月28日06:00 – 12月29日22:00——年度年末深度清洁和设备检查
日常运营CIP窗口——罐装线的90分钟清洗块、瓶装线的75分钟清洗块和桶装站的45分钟清洗——由计划员在每次构建周度排程时,作为相关设备的额外停机时间窗口录入,之后优化器运行。它们不会预加载在固定配置中。
有关在Schantt中配置其中每一项的分步说明,请参阅Schantt文档。
常见错误
1. 对三种容器格式使用单一产品族。
易拉罐、瓶子和桶装通过包装车间时遵循完全不同的工序路径。将它们合并为一个品类消除了工艺路线分歧,产生的排程会将桶装送到它们物理上从未经过的贴标工序,或者跳过一个类别实际需要的卸垛工序。
修复方法: 为每种容器格式创建一个单独的产品族,并在构建任何排程之前在各自类别的详情页上定义正确的工序工艺路线。
2. 在共享BBT上录入单一固定换线值。
BBT-2和BBT-3服务于所有三个产品族,需要不对称的换线时间:易拉罐到瓶子或瓶子到易拉罐的切换60分钟,涉及桶装的任何切换90分钟。录入单一固定值——或者在一个罐上省略换线录入而在另一个罐上添加——会使优化器自由排序那些需要比计划员预期更多批次间准备的品类切换。
修复方法: 在每台被两个或更多产品族共享的设备上录入完整的方向性换线矩阵,包括两个方向,并单独配置该工序的每台设备。
3. 为跳过工序的品类省略桥接转移时间。
当一个产品类跳过一个或多个工序时,会形成一个不存在连续转移时间的工序对。如果您仅配置标准连续工序转移——清酒暂贮到容器准备/卸垛,然后容器准备/卸垛到灌装——则桶装从清酒暂贮直接到灌装的路径就没有转移时间录入,排程无法计算正确的交接延迟。
修复方法: 为任何产品族使用的每个跳过工序对添加桥接转移时间:桶装的清酒暂贮 → 灌装、易拉罐的灌装 → 装箱、以及桶装的灌装 → 码垛。
4. 将日常CIP块视为预加载在固定配置中。
固定配置中的两个设备停机时间录入涵盖年度活动——罐装线上的春季维护CIP和年末深度清洁。班次开始时的日常CIP窗口是计划员在每次构建周度排程之前手动添加的按会话录入。如果省略,优化器会将灌装作业排入该清洗窗口,产生的排程与实际操作相冲突。
修复方法: 在每次为周度排程运行优化器之前,在每台灌装设备上为其班次开始时的CIP窗口添加一个计划停机块。数据集中的春季维护录入是预录入已知年度事件的示例;日常CIP块遵循相同的按会话应用方法。
5. 在夏季生产期间保持非高峰工作日历激活。
非高峰工作日历(周一至周五,07:00–15:30)在淡季是准确的,但从4月到8月会低估可用能力。在高峰期间使用此工作日历运行优化器产生的排程将作业压缩到比包装车间实际运行更短的窗口,完全遗漏了周六班次和晚班时间。
修复方法: 设置一个排程工作日历期间,在每次构建高峰季节排程时为4月至8月日期范围应用夏季高峰工作日历(周一至周五07:00–23:00,周六07:00–15:30)。当产量回归基线时恢复为非高峰工作日历。
良好排程的样子
一个配置良好的Schantt排程为中小型啤酒厂包装车间消除了最耗时的计划迭代循环:在两周时间内同时考虑格式换线和CIP块,手动对齐暂贮罐释放与灌装窗口。
改进前(手动电子表格规划):
- 暂贮释放安排时带有大量保守闲置缓冲,因为计划员难以直观看到52小时罐停留时间如何对应变化的灌装队列——因此罐经常已完成并处于等待状态,而灌装机已经可用。
- 装箱机和码垛机上的格式换线序列凭感觉选择,有时在同一天内交替使用易拉罐和瓶子,产生两次换线延迟,而不是将同格式运行聚类。
- 日常CIP窗口在头脑中从可用班次时间中减去;疏漏会导致排程超出进入清洗窗口、灌装开始延迟和计划外加班。
- 夏季工作日历切换应用不精确,当规划电子表格滚动进入高峰季节时,可用小时逐周逐格调整。
改进后(Schantt Semi-Auto模式):
- 计划员设置暂贮运行顺序,优化器将罐释放与灌装窗口对齐,产生的暂贮开始时间将啤酒在罐完成与灌装开始之间以最小空闲间隙送至灌装机。
- 装箱机和码垛机上的方向性换线矩阵使优化器倾向于同格式聚类,减少了每周的格式切换次数,无需计划员手动执行排序规则。
- 计划CIP停机时段作为相关设备上的保留窗口出现在排程中;灌装作业在每个清洗块之后放置,无需手动计算边距。
- 夏季高峰工作日历期间在同一个排程模板内将可用小时从4月扩展到8月;计划员在季节开始时应用一次,而不是为每周周期重建计划。
在Schantt中尝试
注册Schantt并加载内置示例数据集以自行构建此场景——本指南中的每个工序、设备、产品族、产品和工作日历,以及其工艺路线、换线、转移时间和停机均已预先配置,随时可以排程。您的配置和排程将限制在您的团队账户范围内。要深入了解任何步骤,请参阅Schantt文档。