本指南面向处理冻干注射剂产品的制药灌装封口设施的生产计划员、运营经理和工厂经理。您将学习如何将冻干瓶灌装封口操作建模为Schantt中的混合流水车间生产排程——其中并行冻干机作为batch(批次)设备,灌装线和封盖机作为flow(连续流)工序,以及处理产品族间清洁与灭菌的组批换线。
本指南跟随一家虚构的综合公司,该公司的案例基于冻干瓶灌装封口的行业研究;所有名称、参数和数字均为说明之用。
行业背景
冻干瓶灌装封口是药品生产中最具操作复杂性的生产流程之一。产品需经过多达七个连续工序——从洗瓶及除热原,到灌装、冻干机装料、冷冻干燥循环本身、卸料、封盖,最终到达灯检和包装。整个过程必须持续保持无菌条件,随着物料从清洗间移至灌装隔离器再到冻干机装料区域,环境验证分类也随之变化。冷冻干燥循环中,水在真空下从冷冻产品中升华,主导了整个生产时间,使得冻干机组成为整条产线的节拍资源。
通常,三类产品族共享该设施:单克隆抗体、疫苗和抗生素。每类产品族均有不同的工艺要求。单克隆抗体和疫苗运行完整的七工序路线,而抗生素产品通常跳过洗瓶——使用预灭菌的即用型瓶——且在散装运输至外部包装合作伙伴时可能跳过灯检。不同产品族间的冻干循环时间差异显著:标准mAb在冻干机中约需60小时,疫苗约84小时,抗生素约36小时。每批冻干机装料量也有所不同,从mAb约24,000瓶到抗生素50,000瓶不等,这取决于不同的灌装重量和瓶体几何形状。
灌装线、洗瓶隧道、装料和卸料站以及封盖和灯检设备按照两班制工作日历运行。相比之下,冻干机一旦装料则连续运行——冷冻干燥循环不会因操作员下班而暂停,因此这些设备需要全天候工作日历。这造成了一个根本性的排程矛盾:灌装线在几小时内就能生产出一批冻干机的装料量,但冻干机随后需要一到三天半的时间来处理该批料。四台冻干机共同组成一个并行批次设备组,其产能以每日装料次数衡量,平衡灌装线产出与该设备组容量是核心排程难题。
CryoVial Therapeutics 在一个5,600 m²的洁净室设施中运营约140名员工,生产3个产品族,跨越7个生产工序,由3人计划团队负责排程。
流程概述
flowchart LR
S1["洗瓶及除热原"]
S2["灌装及半加塞"]
S3["冻干机装料"]
S4["冷冻干燥"]
S5["冻干机卸料"]
S6["全加塞及封盖"]
S7["灯检及包装"]
S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7
冻干瓶灌装封口的七个工序,从左至右流动。
工序跳过。 抗生素产品跳过洗瓶及除热原(使用预灭菌瓶从灌装阶段进入产线)以及灯检和包装(散装运输至外部包装合作伙伴)。该产品族的工艺路线从工序2开始,至工序6结束。
排程难题及Schantt的应对方式
在典型的灌装封口设施中,排程由订单积压或组批计划驱动——即在规划窗口内需要生产的一组固定产品批次。本指南假设需求是外部给定的待生产产品和数量列表,规划期限为数周至数月。若您的设施改为由即时下游订单驱动,则相同的建模方法同样适用,但排程节奏可能更短。
Schantt的排程算法通过寻找高效的顺序和设备分配,最小化总生产时间——即从首个作业开始到最后一个作业完成的时间。它从您提供的开始日期开始正向排程。对于此场景,4至8周的实际规划期限可使算法在整个组批顺序上进行优化。
Schantt提供两种优化模式。在Auto模式下,算法决定作业顺序和设备分配。在Semi-Auto模式下,您锁定生产顺序,让算法在该顺序内优化设备分配。两种模式均遵循相同的工作日历、换线和工艺路线规则。
Schantt擅长处理的问题
-
多机批次工序(冻干机组)。 每台冻干机均为批次设备,拥有各自的周期时长和批次量。排程算法在四台并行设备间分配负载,以最小化总生产时间,在组批允许范围内保持尽可能多的冻干机处于占用状态。
-
序列依赖型换线(组批过渡)。 灌装线上产品族对之间的定向换线时间编码了组批过渡的时间成本,包括清洁和灭菌。算法倾向于将相似产品族分组排列以减少过渡时间。
-
混合批次-连续流管线。 批次冻干工序和连续流灌装-封盖-灯检工序共存于同一按产品族划分的工艺路线中。算法在单个排程内对每种工序类型应用正确的时长模型——冻干机采用批次周期,灌装机和封盖机采用连续吞吐量。
-
冻干机装料的部分转移。 灌装线可在前一批料仍在转移过程中时即开始为下一批冻干机装料输送物料。这样在关键交接环节使灌装和装料重叠,保持产线持续运行。
-
带班次感知的工作日历与设备级覆盖。 灌装线和操作员值守工位按班次工作日历运行(周一至周五,6:00至22:00)。冻干机设有独立的全天候工作日历覆盖,使冻干循环可在夜间和周末不间断推进。
-
工序间交接的转移时间。 连续工序间的短时转移时间可模拟洁净室的移动延迟——传送带运输、快速传递口交接和腔室排气——将每个下游工序的开始与其上游完成时间相衔接。
Schantt如何应对每个难题
1. 组批换线消耗生产时间。
- 灌装线在抗生素与非抗生素产品族之间切换时,需要长达12小时的组批换线——包括清洁和灭菌。同类产品族之间的换线仅需30分钟,mAb与疫苗之间的换线需4小时。当这些换线时间在白板或电子表格上跟踪时,容易低估其在数周组批中的累积影响。
- Schantt将每个定向换线建模为灌装线上每对产品族的持续时间,并在抗生素向非抗生素组批边界对每台冻干机应用8小时的在线灭菌换线。算法将每次换线纳入每个工序的开始时间,因此将相似产品族合并的组批顺序自然比在不兼容产品族之间反复切换的顺序总耗时更短。
2. 冻干机组瓶颈。
- 灌装线在2至6小时内即可生产出一批冻干机装料量的灌装瓶,具体取决于产品族。该批料随后占用冻干机36至84小时。四台冻干机合计每天可处理约1至3批装料,这意味着如果顺序规划不当,灌装线很容易超出冻干产能。
- Schantt将冻干机组建模为四台相同的批次设备,每台设备拥有各自按产品族区分的周期时间和批次量。当作业到达冷冻干燥工序时,算法将其分配给可用的冻干机,跟踪所有四台设备的占用情况,并安排下游工序在每批料完成周期后立即开始。甘特图将每台冻干机显示为单独的轨道,因此您可以一目了然地查看哪些冻干机被占用、被哪批料占用以及何时释放。
3. 部分转移与灌装瓶保持时间窗口。
- 等待冻干机装料的灌装瓶具有验证过的保持时间限制——常温下最多4小时,或冷藏下最多24小时。超出该窗口可能影响产品质量,保持时间违规意味着该批次需被评估或废弃。
- Schantt在灌装到冻干机装料的交接环节启用部分转移,使装料站可在灌装线继续运行的同时开始将第一批可用部分转移至冻干机。这缩短了灌装完成与冷冻干燥开始之间的时间窗口。算法通过转移时间设置安排最小交接延迟,并迅速将物料沿工艺路线串联。您可在甘特图上确认灌装完成与冻干机启动之间的间隔——若任何批次的交接时间超出验证窗口,您可在执行排程前调整顺序或开始时间。
4. 同一排程中的班次不对称资源。
- 灌装线运行两班制,周一至周五,6:00至22:00。冻干机全天候运行——一旦冷冻干燥循环启动,就不能暂停。这两个工作日历必须在同一排程中共存,灌装线仅在其工作窗口内推进,而冻干机则连续推进。
- Schantt支持应用于所有设备的默认工作日历(两班制模式),然后允许您用不同的工作日历覆盖特定设备。四台冻干机各自携带全天候覆盖。当算法评估时间时,灌装线在夜间和周末暂停,而冻干机在非工作时间继续计时。甘特图以阴影非工作时间覆盖层可视化该效果,因此计划员可以看到灌装线柱条为何在22:00停止并在6:00恢复,而冻干机柱条则跨越其间的时间不间断延伸。
5. 多产品工艺路线与工序跳过。
- 抗生素产品同时跳过洗瓶(工序1)以及灯检和包装(工序7)。单个排程必须同时处理完整七工序路线的产品和从工序2开始至工序6结束的五工序路线的产品。
- Schantt通过按产品族划分的工艺路线对此建模:每个产品族精确定义其经过的工序。抗生素产品族的工艺路线直接省略其跳过的两个工序。转移时间直接从工序2桥接到工序3,以及从工序6结束(跳过的产品没有孤立的工序7操作)。在甘特图上,抗生素作业仅出现在其实际运行的工序上,与mAb和疫苗作业在共用的灌装、冻干机和封盖工序上交错排列。
在Schantt中建模的内容
Schantt中的冻干瓶灌装封口配置由五个一级实体构建。下表给出了本指南场景中的实体数量。
| 实体 | 数量 | 说明 |
|---|---|---|
| 工序 | 7 | 6个连续流工序 + 1个批次工序(冷冻干燥);洗瓶和灯检工序按工艺路线可选 |
| 设备 | 13 | 1台洗瓶隧道、1条灌装线、1个装料站、4台冻干机、1个卸料站、2台封盖机、2台灯检设备、1台贴标机 |
| 产品族 | 3 | 标准mAb、季节性疫苗、抗生素 |
| 产品 | 3 | 每类产品族1个代表产品 |
| 工作日历 | 2 | 灌装线班次(团队默认)和冻干机全天候(设备覆盖) |
分步设置
1. 按顺序创建工序。 按顺序添加七个工序:洗瓶及除热原(连续流)、灌装及半加塞(连续流)、冻干机装料(连续流)、冷冻干燥(批次)、冻干机卸料(连续流)、全加塞及封盖(连续流)、灯检及包装(连续流)。在每个工序的详情页面上,设置转入下一工序的转移时间。六个转移时间代表连续工序间的实际移动延迟——从洗瓶到灌装通过传递窗3分钟,从灌装到冻干装料5分钟,通过快速传递口进入冻干机腔室8分钟,冻干机卸料前腔室排气10分钟,从卸料到封盖3分钟,从封盖到灯检5分钟。
2. 将设备添加到各工序。 将设备分配到其所属工序:
- 洗瓶及除热原: 洗瓶隧道(1台设备)
- 灌装及半加塞: 灌装线(1台设备)
- 冻干机装料: 装料站(1台设备)
- 冷冻干燥: 冻干机1至冻干机4(4台设备)
- 冻干机卸料: 卸料站(1台设备)
- 全加塞及封盖: 封盖机1、封盖机2(2台设备)
- 灯检及包装: 灯检设备1、灯检设备2、贴标机(3台设备)
3. 创建产品族并定义工艺路线。 创建三个产品族——标准mAb、季节性疫苗和抗生素——均以"瓶"为计量单位。为每个产品族定义其产品经过的工序。mAb和疫苗产品族遵循完整的七工序路线。抗生素产品族从灌装开始(跳过洗瓶)到封盖结束(跳过灯检和包装)。在mAb、疫苗和抗生素工艺路线的灌装工序上,启用部分转移,并将部分转移数量设置为各自的冻干机装料量——mAb为24,000瓶,疫苗为40,000瓶,抗生素为50,000瓶。这告诉算法,灌装线可在整批灌装完成之前即开始向装料站输送物料。
4. 添加产品。 为每个产品族添加一个代表产品:贝伐珠单抗生物类似药(标准mAb)、四价流感疫苗(季节性疫苗)和头孢曲松钠(抗生素)。每个产品继承其产品族的工艺路线,因此无需逐个产品配置工艺路线。为每个产品分配不同的显示颜色以便在甘特图上清晰区分。
5. 设置设备产能和换线时间。 在每台设备的详情页面上,按产品族配置其生产参数:
- 灌装线——各产品族的吞吐量:12,000瓶/小时(mAb),9,000瓶/小时(疫苗和抗生素)。
- 洗瓶隧道——吞吐量:20,000瓶/小时(mAb和疫苗)。抗生素因工艺路线跳过该工序而无此项。
- 冻干机装料站——吞吐量:所有产品族均为12,000瓶/小时。
- 冻干机卸料站——吞吐量:所有产品族均为15,000瓶/小时。
- 封盖机1和封盖机2——吞吐量:所有产品族均为10,800瓶/小时。
- 灯检设备1和2——吞吐量:12,000瓶/小时(仅mAb和疫苗)。
- 贴标机——吞吐量:15,000瓶/小时(仅mAb和疫苗)。
- 每台冻干机1至4——按产品族的批次周期时间和批次量:
- 标准mAb: 周期60小时,批次量240 kg(约24,000瓶)
- 季节性疫苗: 周期84小时,批次量240 kg(约40,000瓶)
- 抗生素: 周期36小时,批次量1,000 kg(约50,000瓶)
接下来,输入换线时间。灌装线需要一个完整的3x3定向矩阵——涵盖该单台设备上所有产品族间转换的9个条目。关键数值:
- 同类内: 30分钟(任何产品族到自身)
- mAb ↔ 疫苗(双向): 4小时
- 抗生素 → 疫苗: 6小时
- 抗生素 ↔ mAb(双向): 12小时
- 疫苗 → 抗生素: 12小时
每台冻干机需要4个定向换线——抗生素到mAb、抗生素到疫苗、mAb到抗生素以及疫苗到抗生素——各8小时。在其余工位(洗瓶隧道、装料站、卸料站、封盖机、灯检设备、贴标机)上,在共享该设备的产品族之间添加5分钟的快速机械换线。
6. 配置工作日历、例外和停机时间。 团队默认工作日历覆盖灌装线班次模式:周一至周五,6:00至22:00(两班制)。冻干机全天候工作日历——周日至周六,午夜至午夜——作为每台设备的覆盖设置于冻干机1至冻干机4。添加三个工作日历例外作为非工作日:元旦(1月1日)、国际劳动节(5月1日)和年末停工(12月31日)。添加三个设备停机时间:灌装线的年度预防性维护(7月中旬,2.5天)、冻干机3的季度在线灭菌循环(9月下旬,24小时)以及全厂HEPA再认证停机(11月初,24小时)。
有关在Schantt中配置上述各项的详细说明,请参阅Schantt文档。
常见错误
1. 使用单一通用换线时间而非每对定向时间。 对灌装线上所有产品族间转换应用单一的换线值,除了该值所针对的那一对之外,其他所有转换的实际时间都会被低估或高估。12小时的抗生素到mAb转换与4小时的mAb到疫苗转换毫无共同之处,而每台冻干机上8小时的灭菌换线则完全是另一个时长。正确做法: 在灌装线上输入完整的定向矩阵(9个条目,涵盖双向的所有产品族对),以及对每台冻干机的4个抗生素边界条目。其他工位上的5分钟条目为次要内容——在主条目确认正确后再对它们进行建模。
2. 将冻干机建模为连续流工序而非批次工序。 冷冻干燥是本产线中唯一的批次工序,其行为与其他工序有本质区别。连续流工序以速率(瓶/小时)对持续处理进行建模。批次工序对固定负载的固定周期时长进行建模——无论灌装线生产了多少瓶,每台冻干机必须运行完整的36至84小时周期后才能释放负载。正确做法: 将冷冻干燥的生产类型设置为批次。在每台冻干机的详情页面上,按产品族输入周期时长和批次量,而不是吞吐量速率。
3. 忘记在灌装到装料交接处启用部分转移。 如果没有部分转移,算法会等待整批灌装完成后,装料站才能开始将瓶转移至冻干机。这会在装料工序引入不必要的空闲时间,并扩大灌装完成与冷冻干燥开始之间的间隙。正确做法: 在使用冻干机的每个产品族的灌装工艺路线条目上启用部分转移,并将数量设置为一台冻干机的装料量——即数据集中的部分转移数量。
4. 将灌装线班次工作日历应用于冻干机。 如果默认的两班制工作日历保留在冻干机上,算法会在每晚22:00停止冷冻干燥循环,并在次日早晨6:00恢复,将60小时的mAb周期削减为每个工作日历日仅推进16小时。排程将报告60小时的处理时长,但跨越比实际需要多得多的日历天数。正确做法: 将每台冻干机上的工作日历覆盖为全天候工作日历,使冻干循环能够跨越夜间和周末持续推进。
5. 创建一个同时覆盖抗生素和非抗生素路线的产品族。 如果抗生素、mAb和疫苗产品共享单一产品族,则所有产品继承相同的工艺路线——要么是完整的七工序路线,要么是五工序路线,但永远不能两者兼有。您将不得不为分叉步骤创建单独的排程条目,从而违背产品族级工艺路线的目的。正确做法: 为抗生素产品和非抗生素产品创建单独的产品族,即使您只有一种抗生素SKU。工艺路线分叉(工序跳过)就是分类边界。
一个好的排程是什么样
一个配置良好的Schantt排程将每周计划周期从手动调节工作转变为数据驱动的审查。
之前(电子表格或白板):
- 计划团队每周花费数小时手动将冻干机装料分配给四台设备,通常依靠物理日志记录来跟踪哪台冻干机被占用以及何时释放
- 组批换线记录为备注或高亮单元格——转换的累积时间在多周组批中悄然累积
- 灌装线产出和冻干机占用情况在单独的视图上跟踪,导致难以发现灌装线何时即将超出冻干产能
- 全天候冻干工作日历和班次限制的灌装工作日历存在于不同系统中,因此排程时间必须手动来回转换
- 当中月新增抗生素组批块时,计划员必须手动重新调整每次装料分配
之后(Schantt Auto模式):
- 算法将每个冻干机装料分配给四台设备之一,最小化空闲时间,同时尊重组批顺序和产品族隔离——计划员在数分钟内(而非数小时内)在甘特图上审查分配
- 甘特图上的换线柱条使组批边界时间一目了然——周会从"我们损失了多少过渡时间?"变为"下周的顺序是否正确?"
- 灌装线和冻干机组出现在同一时间线上,灌装轨道按班次工作日历推进,冻干机轨道连续运行——灌装完成柱条与冻干开始柱条之间的间隙可见地标示出灌装到冷冻干燥过渡处的瓶颈
- 当中月新增抗生素组批块时,计划员将产品和数量输入新排程并再次运行Auto模式——算法在数秒内重新排序并重新分配四台冻干机,团队立即审查更新后的甘特图
在Schantt中尝试
注册Schantt并加载内置示例数据集,亲自构建本指南中的场景——本指南中的每个工序、设备、产品族、产品和工作日历,及其工艺路线、换线时间、转移时间和停机时间均已配置好,可随时进行排程。您的配置和排程将限定在您的团队账户范围内。如需深入了解任何步骤,请参阅Schantt文档。