- 内部利益相关者团体之间讨论的共同参考
- 预测某些政策和控制流程调整的影响
- 端到端供应链成本透明
- 培训新供应链经理的工具
该工具优化了地中海地区垂直整合的禽肉加工业务。禽肉养殖的监管框架是全面的,虽然监管机构没有参与该模拟工具的开发和部署,但它可以以类似的方式很好地为监管机构服务。然而,监管约束,例如全进全出规则(在例如养猪生产中也已知),当然被模型考虑并相应地实施。
概念性家禽供应链模型描述
家禽供应链包括许多阶段。下图提供了一个概览。
我想强调概念性概述的相关实体如下:
- 蛋农。为孵化场生产和供应鸡蛋。
- 孵化场。孵化卵要经过孵化、孵化、育雏等一系列过程。
- 农夫。从育雏器接收小鸡并在农场鸡舍中饲养它们。
- 屠宰设施。一旦达到可屠宰的重量,就从农场鸡舍接收或收集鸡。
- 肉类加工商。从屠宰场成品存储中拉动肉类加工的胴体需求。
- 分销商。在肉类加工商处订购成品,临时储存加工过的肉类并将其重新分配到市场。
- 市场。在分销商处下订单,并在市场上将加工过的肉类销售给最终消费者。
下面的概念模型图提供了家禽供应链模拟工具考虑的流程的另一个概述。
家禽供应链是一个受到严格监管的供应链。如前所述,监管约束是模型的一部分。例如,此类规则旨在降低疾病传播的风险,它们在禽肉生产以外的肉类生产(例如猪生产)中很常见。
控制逻辑、法规和信息流模型
仿真模型包含范围广泛的控制逻辑、规则和与订单相关的信息流。下表提供了概述。
舞台,类别 | 描述 | 执行 |
鸡蛋供应商、客户订单逻辑 | 鸡蛋供应商根据订单记录发货 | 在指定的时间间隔内,鸡蛋供应商检查订单并运送要求的数量 |
鸡蛋供应商,订单发货逻辑 | 已发货的全部订单数量 | 全部数量当天发货,但在指定的运输提前期后到达 |
孵化场、库存管理逻辑 | 孵化器前的入蛋库存 | 订单点政策控制鸡蛋库存。当需求低于指定水平时,将向鸡蛋供应商下达订单,目标是固定的更高库存水平 |
孵化场、孵化及孵化过程 | 孵化和孵化黑盒流程 | 孵化和孵化具有特定的持续时间和特定的生产能力。还有一个指定的孵化成功率和一个指定的死亡率 |
孵化场,育雏器 | 育雏过程遵循孵化和成功孵化 | 在小鸡被送到农场鸡舍之前,它们会在育雏器中停留一段指定的时间。死亡率也为这个过程定义 |
孵化场,将鸡群分配到孵化场合作社 | 小鸡在育雏器中停留指定的最短时间后,它们将被转移到农场鸡舍 | 农场合作社必须为新的羊群做好准备,公猫和母鸡不能混养。农场合作社具有不同的能力,因为它们位于不同的农场。应将鸡分配到产能过剩最少的鸡舍 |
农场合作社,鸡的生长 | 农场鸡舍的鸡生长因鸡种和性别而异 | 鸡,根据它们的性别和种类,在农场鸡舍停留指定的时间。这个持续时间模拟鸡生长直到屠宰准备重量 |
农场合作社,将火鸡送去屠宰 | 成年鸡被送往屠宰场 | 一旦鸡达到屠宰准备重量,如果屠宰场有能力,它们就会被转运。否则他们会在农场鸡舍里等待。之后,对农场合作社进行消毒。在此阶段,相关监管规则被考虑并嵌入到仿真模型中 |
屠宰场、屠宰过程 | 日常屠宰过程 | 屠宰场屠宰鸡达到指定的最大日生产能力 |
屠宰场、屠体库存 | 按库存生产,但需求拉动库存 | 肉类加工商从屠宰场库存中提取胴体需求 |
屠宰场,订单积压 | 如果屠体库存不足,肉类加工商会在屠宰场积压 | 在即将到来的生产周期中满足积压订单,如果没有积压订单,则只在库存中生产胴体 |
屠宰场、外购鸡 | 如果屠宰场库存和当前屠宰加工量太低,则购买外部鸡 | 如果家禽胴体需求高于胴体库存,在产家禽胴体被外购屠宰,相应占用产能。外购的家禽总是先宰杀 |
肉类加工商,胴体需求 | 胴体需求分布,从屠宰场胴体库存中提取 | 可以实施不同的需求模型。例如,确定性或随机性的需求计划可以通过指定的时期需求来实施 |
上表中总结的所有逻辑都已参数化。相关值可在配置文件中调整。这允许用户运行不同的场景,从而更好地了解供应链。
使用 SimPy 在 Python 中实现仿真模型
在过去 5 年的模型开发过程中,我使用过各种用于离散事件仿真建模的工具和软件。一些流行的工具包括 FlexSim、simio、AnyLogic、SIEMENS Plant Simulation、VisualComponents、Simul8 等等。商业仿真工具很多,刚才提到的都是商业软件。然而,这个模型是我在 SimPy 中开发的,SimPy是 Python 中的离散事件模拟框架。这个框架是免费的——但这不是我选择它的原因。
SimPy 是纯代码。它没有图形用户界面 (GUI)。即模型开发者不能使用 GUI 来实现模型。此外,SimPy 没有任何内置模型可视化。换句话说,在 SimPy 中构建和验证模型是高度抽象的——但是,由于它是纯 Python 代码,它也非常灵活。对于供应链建模,具有许多不同的实体和广泛的可能控制逻辑,这使 SimPy 成为一个不错的选择。结合面向对象编程,就是这样。在这种情况下,面向对象的编程是一项要求,因为它允许框架开发和适当的结构化非常复杂的任务,即对具有所有流程和实体的供应链进行建模。然而,该模型的用户确实需要对 Python 有一定的了解。
示例模型输出和结果
在本节中,我展示了家禽供应链模拟器输出的一些示例性模型输出。数据以鸡为单位收集和显示,即中性单位。这为在此基础上计算相关 KPI 奠定了坚实的基础。相关的 KPI 可能是成本和重量(例如鸡肉或胴体)。通过向供应链模拟器添加几行代码,或者通过调整(即替换)一些现有代码行,可以按需为用户实施此类 KPI。
下图显示了屠宰场的库存发展情况,即胴体库存。库存过多会导致持有成本高,最终意味着由于保质期和相关政策,屠体将不得不被处理掉。
上图显示了整个模拟年度中屠宰场的库存发展情况,共 52 周(模拟期)。在此运行中,每周是模拟运行的一次迭代。屠宰场的库存发展与积压发展直接相关。这种发展可以在下图中看到。
从上图可以清楚地看出,屠宰场没有尸体库存。这是因为屠宰场总是落后于肉类加工商的需求,导致大量积压。
由于屠宰场现有的与积压相关的订购政策,大量积压会触发外部家禽养殖场的大量采购订单。由于从外部购买的家禽总是先被屠宰,这导致育雏器的库存量很大。育雏器正在等待农场鸡舍清理干净,并且在此模拟运行中,在这方面没有容量限制。
由于育雏器本身没有容量限制,因此孵化场不受下游生产瓶颈的影响。从下图可以清楚地看到孵化场的鸡蛋库存。
在整个模拟运行过程中,孵化场的种蛋库存发展是稳定的。
关于家禽供应链模拟的最后评论
在本文中,我展示了离散事件仿真如何成为建模和分析家禽供应链的强大工具。部署供应链模拟器的好处是多方面的,所有好处最终都旨在降低供应链成本和提高可用性(即客户满意度)。这在家禽供应链中尤为重要,因为高库存会导致例如胴体过期和处置。部署供应链模拟器帮助我的用户更好地了解现有的供应链控制逻辑和政策,并为供应链管理团队配备有效的沟通、培训和分析工具。
如果您对离散事件仿真感兴趣,您可能还会对以下一些相关出版物感兴趣:
- 链接:离散事件仿真程序模型
- 链接:机器学习和离散事件模拟
- 链接: Simmer in R for discrete-event simulation
- 链接:AnyLogic 中的起重机场模拟
- 链接:AnyLogic 中零件路径的 AGV 模拟
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply