植物油加工的生产排程需要协调多油籽的榨季排产、定向油型换线,以及共享管线中的并行设备工序。Schantt 将其建模为一条 hybrid-flowshop 生产线——flow(连续流)工序用于连续压榨、精炼和包装,再加上一个 batch(批次)分提步骤——并允许您配置按产品族的工艺路线、依赖顺序的换线和感知班次的工作日历,使排程反映工厂的实际约束条件。
本指南基于行业研究构建的一家虚构综合性公司;所有名称、参数和数字均为示例。
行业背景
植物油加工将油籽和毛油转化为精炼食用油、分提产品和冷压特种油品。生产线通常从油籽的清洗、干燥和脱壳开始,接着通过机械压榨提取大部分油脂,然后通过溶剂萃取回收饼粕中的残余油脂。毛油随后经过精炼——脱胶、中和、脱色和脱臭——以生产出稳定耐储、味道中性的成品油。部分产品线还增加批次结晶(分提)以分离高价值的液态和固态组分。最后,成品油进入包装环节,可能包括散装出料、瓶装和桶装灌装线。
该行业的工厂通常加工多种油籽——大豆、油菜籽、棕榈果——每种具有不同的出油率、季节性供应和换线要求。典型的综合性工厂在收获榨季期间每天处理约 250 吨油籽。机械螺旋压榨机可提取油籽中 65% 至 70% 的油脂;剩余 15% 至 18% 通过溶剂萃取回收,使饼粕中的残油降至 0.5% 至 1.5%。大豆按重量计出油率约为 18% 至 20%,油菜籽约为 40% 至 45%,棕榈果约为 50%。全大豆压榨产生的饼粕副产品每天约 200 吨,饼粕筒仓容量约为 2,000 吨——约 10 天的产量。
排程挑战因两种不同的工作日历制度而更加复杂。在收获季节——大豆为 6 至 8 周(9 月至 11 月),油菜籽为 4 至 5 周(7 月至 9 月)——工厂每天 24 小时、每周 7 天运行。在此之外,运营时间缩减为单一白班,周一至周五 06:00 至 18:00。一个 3 人排程团队——涵盖压榨、精炼与物流以及采购——管理着这些不断变化的时间窗口下的排程。
Pinnacle Oils & Fats 公司——约 85 名员工,单一工厂运营,生产 3 个产品族,涉及 7 个生产工序,由 3 人排程团队进行排程。
工艺概述
flowchart LR
PT["预处理<br/>清洗、干燥、脱壳、轧胚"]
CK["蒸炒<br/>立式蒸炒锅,90–100 °C"]
MP["机械压榨<br/>5台螺旋压榨机并行"]
SE["溶剂萃取<br/>单线瓶颈"]
RB["RBD精炼<br/>定向换线"]
PF["棕榈分提<br/>4台批次结晶罐"]
PK["包装<br/>散装、瓶装、IBC/桶装线"]
PT --> CK --> MP --> SE --> RB --> PF --> PK
浅色油的七工序生产流程——从油籽到成品的完整一体化路线。深色油从 RBD 精炼进入,跳过所有压榨工序。初榨油在机械压榨后离开,跳过了萃取和精炼。
注意:并非每种产品都经过所有工序。深色油(棕榈油精)从 RBD 精炼中途进入路线,跳过预处理至溶剂萃取。初榨油(冷压油菜籽油)跳过溶剂萃取和 RBD 精炼,在机械压榨后离开。本指南对三种产品族进行建模,它们通过同一共享设备池但具有不同的工艺路线。
排程挑战及 Schantt 的应对方式
本指南假设一种收获驱动的需求模式:大豆榨季为 9 月至 11 月,油菜籽榨季为 7 月至 9 月。排程员的核心任务是在每个榨季窗口内对油籽批次进行排序、分配适当数量的螺旋压榨机,并管理油型之间的换线窗口——同时要兼顾共享的 RBD 精炼线和有限的结晶罐组。具备全年全球油籽采购能力的工厂可能遵循市场驱动的切换逻辑——这是一种根本不同的排程驱动因素,不在本文讨论范围内。优化目标是最小化总生产时间——即所有已排程任务的整体完成时间——Schantt 从选定的开始日期向前排程。本指南假设的实用时间范围为 8 至 14 周,涵盖大豆和油菜籽榨季。
Schantt 提供两种优化模式。在 Auto 模式下,系统同时决定任务顺序和设备分配,探索完整的解空间以找到最快的方案。在 Semi-Auto 模式下,排程员固定生产顺序,系统在该顺序内优化设备分配——当榨季顺序由运营决定而设备分配应自动完成时,这是一种自然的选择。
Schantt 的擅长领域
- 带工序间转移时间的多工序生产——有序的工序序列一次性设定,配合按产品族的工艺路线,使每种产品仅经过其产品族所需的工序。转移时间模拟物料在工序之间所需的分钟到小时的移动时间。排程员需手动确认中间毛油罐区有足够容量支持并发榨季,因为 Schantt 会排程转移延迟但不跟踪罐容占用。
- 带自动设备分配的多设备工序——单个工序中的并行设备(五台螺旋压榨机、四个结晶罐、三条包装线)被建模为一个设备池。在 Auto 和 Semi-Auto 模式下,系统选择使总生产时间最小化的设备组合。
- 混合批次与连续流管线,供应不足可视化——连续流工序(压榨、RBD 精炼、包装)和一个批次工序(棕榈分提)在单一路径中运行。当下游工序消耗速度超过上游供应时,排程会插入等待物料的暂停,在甘特图上可见。
- 带工序跳过的多产品工艺路线——每个产品族在共享设备池中拥有自己的工艺路线,在进入或退出点设有跳过桥梁和部分转移设置。深色油从 RBD 精炼中途进入路线;初榨油在机械压榨后离开。
- 带定向时间的依赖顺序换线——共享设备上的油型切换根据方向具有不同的持续时间。每个定向的从-到对按设备逐一输入。在 Auto 模式下,系统倾向于将相似油品聚集在一起的序列;在 Semi-Auto 模式下,系统尊重排程员的固定顺序。
- 带工作日历例外和停机的感知班次可用性——工厂的两种工作日历制度(收获季 24/7 和非旺季缩减)被分配给日期范围。年度维护窗口和节假日例外作为设备停机和工作日历例外输入,排程自动遵守这些约束。
Schantt 如何应对每项挑战
1. 共享 RBD 精炼线上的定向油型换线。
- RBD 精炼线是一台由浅色油(大豆)和深色油(棕榈)共享的单一连续流设备。深色到浅色的切换需要 8 小时的全套就地清洗(CIP)周期,而浅色到深色只需 5 到 6 小时——每次切换相差数小时。在一个包含多次油型切换的榨季中,错误的顺序可能会累计半天或更多的非必要清洗时间。
- Schantt 将换线时间建模为每个从-到产品族对的定向设备参数。配置非对称的深色→浅色和浅色→深色持续时间后,排程算法可以将相似油品的任务排在一起,避免重复的重度清洗窗口。在 Semi-Auto 模式下,排程员设定榨季顺序,系统仍会在每次切换时使用正确的定向持续时间,因此甘特图反映每次切换的实际清洗时间。
2. 平衡多台螺旋压榨机与单线溶剂萃取器。
- 五台螺旋压榨机供给一台溶剂萃取器——一个无法并行的瓶颈。压榨机吞吐量因油籽类型而异(浅色油约每台压榨机每小时 1,250 千克,初榨油约每小时 1,670 千克),总量必须保持在萃取器约每小时 10,500 千克的处理能力范围内。不均衡的压榨机分配可能导致下游萃取器供料不足或过载,从而损失吞吐量。
- Schantt 将每台压榨机建模为机械压榨工序的一台并行设备,每台压榨机具有按产品族的吞吐量速率。在 Auto 和 Semi-Auto 模式下,系统将任务分配到各压榨机,使综合速率保持萃取器的稳定供料。甘特图将每台压榨机显示为其独立通道,排程员可以一目了然地看到压榨机与萃取器之间的平衡是否保持。饼粕副产品的存储和处理在 Schantt 外部协调——饼粕是一种发散型副产品,Schantt 不对此建模,排程员必须确认饼粕筒仓容量和出料能力足以支持计划的压榨速率。
3. 连续流精炼管线中的批次分提结晶罐。
- 棕榈分提使用四个结晶罐,每个具有 12 小时的批次周期和 35 立方米(约 32,000 千克)的容量。上游 RBD 精炼作为连续流运行,连续进料与四个批次容器之间的交接必须错开,使每个罐不会过载,下游包装永不等待。
- Schantt 将每个结晶罐建模为具有自己周期持续时间和批次容量的批次工序设备。当上游连续流工序的供料速度超过结晶罐的处理能力时,仿真会在每个工序的甘特条上插入等待物料暂停。自然的批次周期计算使四个罐的完成时间自动错开约 3 小时,为包装提供稳定的供料,无需手动交错。
4. 通过共享设备池的不同工艺路线及工序跳过的产品族。
- 三种产品族共享同一工厂但使用截然不同的路线:浅色油(大豆)经过全部 7 道工序;深色油(棕榈)跳过 4 道压榨工序,从 RBD 精炼进入;初榨油(油菜籽)跳过萃取和精炼,在机械压榨后离开。单一的工艺路线结构无法覆盖所有三条路径,而手动跟踪每个产品族应跳过哪些工序容易出错。
- Schantt 允许排程员定义独立的按产品族工艺路线,在跳过工序处设置跳过桥梁(skip bridge)。深色油使用从预处理到 RBD 精炼的桥梁,部分转移量设为零——它们作为采购的毛棕榈油在精炼厂进入。初榨油使用从机械压榨到包装的桥梁,同样设为零量的部分转移。每个产品族的路线在产品族详情页面上配置一次,排程自动遵守。
5. 跨榨季和非旺季的季节性工作日历转换与计划维护。
- 工厂在收获榨季期间(大豆 9 月至 11 月,油菜籽 7 月至 9 月)24/7 运行,并在全年其余时间切换为周一至周五 06:00 至 18:00 的单一白班。计划中的年末停工从 12 月 24 日持续至 1 月 2 日,溶剂萃取器在 10 月 14 日至 21 日进行年度大修。忽略这些转换的排程可能将任务分配到工厂关闭或设备不可用的日期。
- Schantt 建模两个命名的工作日历——收获季 24/7 和非旺季缩减版——并允许排程员将其分配给排程上的日期范围。工作日历例外(1 月 1 日元旦、5 月 1 日国际劳动节)会覆盖所有工作日历中的特定日期。设备停机时间阻止萃取器大修和全厂年末停工期间的可用性。排程在计算持续时间时仅使用工作分钟数,因此任务自动落在可用窗口中。
在 Schantt 中建模的内容
在 Schantt 中构建此场景需要创建五个一级实体,其数量与本指南描述的生产环境相匹配。
| 实体 | 数量 | 说明 |
|---|---|---|
| 工序 | 7 | 预处理、蒸炒、机械压榨、溶剂萃取、RBD精炼、棕榈分提(批次)和包装(连续流) |
| 设备 | 20 | 5台预处理设备、1台立式蒸炒锅、5台螺旋压榨机、1台溶剂萃取器、1条RBD精炼线、4台结晶罐、3条包装线 |
| 产品族 | 3 | 浅色油(全集成路线)、深色油(中途进入路线)、初榨油(短路线提前退出) |
| 产品 | 3 | 每个产品族一个代表性产品——RBD大豆油(散装)、RBD棕榈油精和冷压油菜籽油 |
| 工作日历 | 2 | 收获季24/7(默认,周一至周日全天)和非旺季缩减版(周一至周五06:00–18:00) |
子配置——按产品族的工艺路线、定向换线、转移时间、工作日历例外和设备停机时间——在这些父实体的详情页面上输入。
逐步设置
1. 按生产顺序创建工序,然后设置转移时间。按工厂车间的实际顺序添加七道工序:预处理(连续流)、蒸炒(连续流)、机械压榨(连续流)、溶剂萃取(连续流)、RBD精炼(连续流)、棕榈分提(批次——将生产类型设为批次)和包装(连续流)。在每道工序的详情页面上,输入到下游下一工序的转移时间:
- 预处理 → 蒸炒:30分钟
- 蒸炒 → 机械压榨:30分钟
- 机械压榨 → 溶剂萃取:120分钟
- 溶剂萃取 → RBD精炼:120分钟
- RBD精炼 → 棕榈分提:60分钟
- RBD精炼 → 包装:60分钟
- 棕榈分提 → 包装:60分钟
还要为跳过工序的两个产品族添加跳过桥梁转移时间:
- 预处理 → RBD精炼:120分钟(深色油中途进入路线的桥梁)
- 机械压榨 → 包装:60分钟(初榨油压榨后退出的桥梁)
2. 为每道工序添加设备。将所有 20 台设备分配到各自的工序。每台设备继承工序的生产类型。预处理工序获得五台设备(清理去石机、干燥滚筒、圆盘脱壳机和两台轧胚机)。机械压榨工序获得五台螺旋压榨机。棕榈分提工序获得四台结晶罐。包装工序获得三条线(散装出料站、瓶装线和 IBC/桶装灌装线)。蒸炒、溶剂萃取和 RBD 精炼工序各有一台设备。
3. 创建产品族并定义其工艺路线。添加三个产品族——浅色油、深色油、初榨油——每个具有其产品所需工序的独立工艺路线:
- 浅色油: 预处理 → 蒸炒 → 机械压榨 → 溶剂萃取 → RBD精炼 → 包装(完整路线)
- 深色油: RBD精炼 → 棕榈分提 → 包装(中途进入路线,跳过所有压榨工序)。在 RBD精炼 工艺路线段上,启用部分转移并将数量设为零——这告诉 Schantt 该产品族在此工序出现而无需等待上游物料。
- 初榨油: 预处理 → 蒸炒 → 机械压榨 → 包装(跳过萃取和精炼)。在包装工艺路线段上,启用部分转移并将数量设为零——产品在压榨后退出并直接进入包装。
4. 每个产品族添加一个产品。创建三个产品,每个分配到其产品族:
- RBD大豆油(散装)→ 浅色油
- RBD棕榈油精 → 深色油
- 冷压油菜籽油 → 初榨油
5. 设置设备产能参数和换线。在每台设备的详情页面上,为其加工的产品族配置吞吐量速率。对于连续流工序设备,以每小时单位数输入吞吐量。对于结晶罐(批次工序),输入批量大小和周期持续时间。
机械压榨: 每台螺旋压榨机以每小时 1,250 千克处理浅色油,以每小时 1,670 千克处理初榨油。在每台压榨机上输入两个速率。
溶剂萃取: 单台萃取器以每小时 10,500 千克处理浅色油。
RBD精炼: RBD 精炼线以每小时 10,000 千克处理浅色油和深色油。
棕榈分提: 每个结晶罐的批量大小为 32,000 千克,周期持续时间为 720 分钟(12 小时)。在 1 至 4 号结晶罐上输入这四组相同的配置。
包装: 散装出料线以每小时 30,000 千克的速率处理所有三个产品族。瓶装线以每小时 550 单位运行。IBC/桶装灌装线以每小时 1,200 千克运行。
然后添加定向换线。在 RBD 精炼线上,添加深色→浅色(480 分钟)和浅色→深色(330 分钟)。在五台螺旋压榨机中的每一台上,添加浅色↔初榨油的换线,两个方向各 60 分钟。在三条包装线中的每一条上,添加每对产品族之间的换线(浅色↔深色、浅色↔初榨油、深色↔初榨油),每个方向 30 分钟。
6. 配置工作日历、例外和停机。创建默认的收获季 24/7 工作日历,覆盖所有七天,工作窗口为 00:00 至 24:00。创建非旺季缩减版工作日历(周一至周五,06:00 至 18:00)。添加两个工作日历例外:元旦(1 月 1 日,非工作日)和国际劳动节(5 月 1 日,非工作日)。添加两个设备停机时间:全厂年末停工(12 月 24 日至 1 月 2 日)和萃取器的年度大修(10 月 14 日至 21 日)。
有关在 Schantt 中配置各项的分步说明,请参阅 Schantt 文档。
常见错误
1. 使用单一统括换线时间而非定向的每对值。如果在 RBD 精炼线上使用单一的换线时间平均值,排程会将每次油型切换视为相同。深色→浅色清洗所需的 8 到 10 小时明显长于浅色→深色的 5 到 6 小时,如果两者输入相同的值,算法就无法偏向较短的切换方向。修复方法: 在 RBD 精炼线的换线列表中输入两个定向对——深色→浅色和浅色→深色——及其实际持续时间。排程器随后为每次切换计算正确的惩罚值。
2. 将不同路线合并到单一产品族中。如果走完整路线的浅色油和中途进入的深色油被归入同一个产品族,它们将共享单一的工艺路线——这要么导致浅色油跳过其所需的压榨工序,要么迫使深色油经过这些工序。修复方法: 只要是工序路径分叉的地方,就创建独立的产品族。深色油需要自己的产品族,其工艺路线从 RBD 精炼开始,部分转移进入量设为零。
3. 在跳过桥梁段上遗漏零量的部分转移。如果在桥梁进入点没有部分转移,排程会等待来自被跳过的上游工序的物料到达后,才在产品实际进入的工序上开始。在机械压榨后离开的初榨油会显示为等待永远不会到达的物料。修复方法: 在初榨油的工艺路线上,在机械压榨→包装的桥梁段上启用部分转移并将数量设为零——这告诉排程器产品从压榨直接进入包装,没有上游依赖。
4. 为多个产品族共享的设备分配错误的吞吐量速率。螺旋压榨机以不同的速率处理浅色油和初榨油(1,250 对比 1,670 千克/小时)。如果对两个产品族设置相同的速率,排程会高估或低估压榨机产能,使压榨机与萃取器之间的平衡失调。修复方法: 在每台压榨机上,为其加工的每个产品族输入正确的吞吐量。排程器在分配任务时使用产品族特定的速率。
5. 忘记为收获季和非旺季窗口分配不同的工作日历时段。如果全年使用单一工作日历,排程会将非旺季工作时间(周一至周五 06:00 至 18:00)与 24/7 的收获季同等对待——导致任务被安排在工厂无人值守的时间。修复方法: 创建两个工作日历,并在排程的工作日历时段配置中将其分配到正确的日期范围。年末停工和萃取器大修也应作为设备停机时间输入,使任务不会落在这些窗口中。
好的排程是怎样的
配置了两个工作日历、定向换线和按产品族工艺路线后,半自动化排程从手动跟踪的电子表格转变为一个遵循所有约束、与榨季对齐的生产计划。
改进前(手动电子表格): 排程员凭直觉排列榨季顺序,在单独的选项卡中跟踪压榨机分配和换线窗口。每当 RBD 精炼线完成棕榈油批次运行后就会出现深色→浅色切换,每次消耗 8 小时的清洗时间,而这些清洗并未被明确规划。分提结晶罐临时预定,偶尔导致包装因等待下一罐而闲置。榨季顺序或压榨机分配的变更需要重新输入多行数据,而且工作日历从 24/7 到缩减时间的切换很容易被忽略。
- 频繁的深色→浅色或浅色→深色切换增加了非计划清洗时间。
- 凭感觉猜测压榨机分配,导致萃取器供料不足或过载。
- 分提罐按顺序排程而非错开。
- 榨季结束后的工作日历边界错误。
改进后(Schantt Semi-Auto 模式): 排程员一次性设定榨季顺序——大豆批次、油菜籽批次、棕榈批次——并将其锁定为生产序列。Schantt 在该顺序内优化设备分配。RBD 精炼线在棕榈到大豆的边界处经历一次深色→浅色切换,而非在整个时间范围内多次切换,每次避免的切换节省 8 小时。螺旋压榨机自动分配,使综合吞吐量保持萃取器按其设计速率供料。四个结晶罐的 12 小时周期自动错开约 3 小时,为包装提供持续的分提油流。工作日历时段配置在最后一个榨季日期之后自动从 24/7 切换到缩减时间,年末停工或萃取器大修附近的任务被放置在可用窗口中,无需手动复核。
- 每个榨季转换一次就地清洗换线,而非每次油型切换一次。
- 压榨机与萃取器的平衡自动维持。
- 分提错开在甘特图上以自然的批次时序体现。
- 工作日历边界自动遵守,无需手动验证。
- 总生产时间最小化,因为算法探索了排程员无法手动评估的设备组合。
在 Schantt 中尝试
注册 Schantt 并加载内置示例数据集,自行构建此场景——本指南中的每个工序、设备、产品族、产品和工作日历,其工艺路线、换线、转移时间和停机均已配置,随时可供排程。您的配置和排程局限于您的团队账户。如需深入了解任何步骤,请参阅 Schantt 文档。