【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说
关注作者
制造供应链的牛鞭问题与复杂问题主要是从两个方面解决,一是同步化供应链消减从需求到供应的放大效应,二是供应链细分,针对不同的客户、不同的需求供应的匹配策略来应对复杂性,更好的满足客户并以最低的总成本来实现。
对于制造供应链有四类策略,MTS、MTO、ATO、ETO。针对这几种策略,必须设计相应的计划排程流程。虽然有的文献把MTO称BTO(Build to Order),本文还是用MTO说法。
本文主要是浅谈不同制造策略的计划流程的模式设计。如图:制造策略与供需耦合逻辑
从上图分析从交期与库存分析可以看出面向库存生产模式MTS的是交货期最短,库存最大储存在成品库。面向订单装配ATO模式的优点是交期仅是装配时间,库存较少储存在装配前的半成品库。面向订单生产模式MTO,它的交期较长,但库存只储存在原料库。面向订单设计模式ETO的交期最长,但库存最少。交期与库存的平衡取决于生产周期与交期的比率P/D的值。
从生产周期与交期的比率来决定不同的制造策略,比率越小,交货越有保障。若交期随时交货,只能用库存周期长选择这样能满足交货,即推式生产即MTS或按计划生产。若较少的库存快速响应交期,就可以选择MTO。若用更少的库存满足交期,可以采用ATO即按订单装配。若定制产品的非标产品,几乎零库存来满足交期,就可以选择ETO的项目制造。随着生产周期的改善到小于了交期,就可以做到ETO了,即库存最低,交货越满意。*生产周期=库存/每天需求用量。
从产品的全生命周期的不同位置来选择不同的制造策略,产品的导入期使用ETO模式,增长期采用MTO或ATO模式,成熟期采用MTS,衰落期采用MTO或ATO策略,如图:
还有对不同行业与BOM的不同的结构,如正金字塔状、哑铃状、倒金字塔状。这里主要关注的是主计划做在BOM结构的哪一层。如下图:
一,MTS按库存生产模式的计划体系的分析与设计
按库存生产也可以叫按计划生产或按预测生产。这一般是标准产品且在产品生命周期中属于成熟区,属于现金流的产品。如果品种较少,就对具体产品直接预测。如果品种较多,可用计划百分比BOM,对产品族做预测,再按产品的百分比概率分解到具体产品。它的供应链绩效主要依赖预测准确率与生产计划的判断水平。
对产品或产品族做年月周日销售滚动预测,尽量多品种混排做到平准化。对于使用族产品(父项)预测计划时,用具体产品需求冲销具体产品(子项)预测时,还要向父项族产品按百分比反推冲销量,冲减产品族预测计划。如果直接对具体产品做计划,不使用计划百分比BOM就没那么复杂了。
对于销售预测不应该直接转生产计划原因:1、销售预测准确度不高。2、销售预测有悲观预测与乐观预测。3、销售预测要在企业战略目标与市场洞察之间平衡。4、销售预测一般是无约束的,没有考虑企业各方面约束(研发、生产、采购、财务等),尤其是自身的产能约束。
S&OP销售与运营计划机制就是从更高、更广的维度来对销售预测进行综合审视(如长短期计划平衡与交期、品种组合、产能匹配等)并制定各方达成共识的需求计划。虽然主计划也应该考虑这些平衡因素,但往往视角偏低,组织层次也不够。
应对需求计划,供应(生产、采购)计划可以采用追逐、平衡、混合等策略更好的满足需求计划与企业内部的动态约束与供应商的协力。
对于生产计划还要考虑目标库存计划(期初库存、期未库存),可以直接通过需求波动设置动态的安全库存。
从同步生产计划分解为一揽子滚动采购计划,给供应商准备。并按生产节拍制定供应商供应交期排程。
同步生产计划分解作业计划,考虑产能、物料、工装、人力等约束优化排程与调度。
根据需求计划制定发运计划与装箱、装车计划。
MTS与按计划生产主要是计划均衡与平准化,但也要适应预测的波动。对成熟的现金流产品,先生产出来再快速的铺货推向市场,加快库存流动,可获得较好的收益。
主要流程:
销售预测
S&OP销售与运营计划与需求计划
生产计划与库存计划
采购计划
作业计划
配送计划
发运计划与装箱、装车,运输计划
二,按订单生产模式的计划体系的分析与设计
按订单生产模式分标准产品的按单生产与定制的按单生产。按单生产的基本逻辑是按预测或需求计划备料,长提前期的采购。接到确认的销售订单才开启动半成品与成品的生产。
所以按单生产也要做滚动预测与需求计划,对于S&OP销售运营计划机制必不可少,只不过重点关注交期与产能的冲突,关注原材料库存。如果是多品种小批量的订单产品,销售预测与需求计划可以用产品族(大类)做预测需求主要是较准确的备料与关键长提前期的采购。如是按单配置或定制的MTO可以参考ATO的CTO按订单配置模式,主要区别是一个库存备在原材料库,一个是库存备在装配之前的零组件库。
接订单后先冲销预测,剩余的预测可以转入下一期预测,也可以本期不考虑剩余预测。许多接入的订单形成订单池,根据交期、优先级等规则,计划排程对多订单整体优化,最低的订单延迟(最高订单交期准确率),最大化资源利用率,最快的库存周转。
主要流程:
产品族销售预测
产品族S&OP销售与运营计划与需求计划
订单计划、交期承诺与订单冲销预测处理
长期采购计划与备料计划
订单作业计划排程与订单JIT(Just In Time)采购计划
履约排程与工序JIS(Just In Sequence )配送计划
订单发运计划与优化装箱、装车,运输计划
三,按订单装配模式ATO的计划体系的分析与设计
按订单装配ATO分标准产品与定制产品,定制产品一般称CTO(Configure To Order)按单配置,对CTO需要构建超级BOM(可选配置项的BOM(Bill of Material)物料清单与BOR(Bill of Resource)资源工序的清单)。
3.1 ATO的标准产品计划体系分析与设计
按单装配的基本逻辑是按预测、S&OP及需求计划备料,关键物料长提前期的采购。接订单后先冲销预测,剩余的预测可以转入下一期预测,也可以本期不考虑剩余预测。许多接入的订单形成订单池,根据交期、优先级等规则,计划排程对多订单整体优化,最低的订单延迟(最高订单交期准确率),最大化资源利用率,最快的库存周转。
零件生产计划优化多个零件的生产排程,保证装配前齐套,进行装配协调。
接到确认的销售订单才开启成品的组装,按交期优先、节拍均衡、组件供应同步进行优化。
所以按单装配也要做滚动预测与需求计划,对于S&OP销售运营计划机制必不可少,只不过重点关注交期与组装的产能冲突,关注库存齐套。如果是多品种小批量的订单产品,销售预测与需求计划可以用产品族(大类)做预测需求主要是较准确的备料与关键长提前期的采购。如是按单配置参考CTO模式。
主要流程:
产品族销售预测
产品族S&OP销售与运营计划与需求计划
长期采购计划与备料计划
订单计划、交期承诺与订单冲销预测处理
订单组装计划排序与装配齐套评估订单采购计划
零件作业计划排程、订单JIT采购计划
履约排程与工序配送JIS计划
订单发运计划与优化装箱、装车,运输计划
3.2 按单配置 CTO(Configure To Order)的定制产品计划体系分析与设计
按单配置模式是较复杂的计划场景,首先对产品族日周月度滚动预测+N,设定可选配置项预测概率百分比%,进行备料。(比率值可以经验加上历史统计概率)。也可把主计划下移到关键零件预测与计划。
当销售订单接受时,销售订单按期冲销预测,剩余量不转入下一期,对超级BOM进行选择可配置项,接销售订单时先冲消父项(族产品),后按比例冲消子项(配置零件)。计算生产或采购计划
产品系列BOM含可配置物料清单BOM和可配置的资源清单BOR,计算可用物料与可用产能(含约束)。配置完的制造清单就报价模拟、交期承诺CTP以及信用控制。
按单组装日计划(组装线分配量、日生产量等),按单组装批量或顺序排程(有限产能),齐套检查,拉动上游的零件生产或采购。
或者主计划可下移到关键子装配件进行工序排产优化。其余零件可以同步化装配节拍,组装作业指示(顺序、零件清单、自制件需求),组装前协调(齐套、组装前的库存),组装、上游的多个零件的生产、委外、采购执行跟踪(按单配置单汇报等)。
主要流程:
产品族销售预测
产品族S&OP销售与运营计划与需求计划
按百分比计算子项与配置项物料的生产与采购预测
长期采购计划与备料计划
订单接入冲销族销售预测,进行订单配置(配置器),得到新的BOM与新的BOR,同时按比例冲销子项(按比例分解的)预测并冲销预测处理
订单计划计算交期承诺,同步考虑物料约束与产能约束
订单组装计划排序与装配齐套评估、订单采购计划
零件作业计划排程、订单采购计划
履约排程与工序配送计划
订单发运计划与优化装箱、装车,运输计划
四,按单设计ETO
按单设计ETO可分为部份非标零件的按单设计与整个产品的按单设计,这就可以分为按项目型制造,项目制造PJM。
ETO主要特征是边设计,边采购,边生产,边发货,边运维,有点像软件业的敏捷开发模式。这种模式对研发要求更高,研发模块化、组件化、通用化,需考虑交期压力,供应链可获得、可制造性与含质量的总成本。
市场销售,生产计划,采购计划均需提前介入参与研发项目过程。S&OP销售运营计划机制重点关注合同立项,财务投资回报、合同资源,集成研发与交付进度与里程碑回款方面等的评审。
项目计划与进度管理需要资源约束优化,通过关键链(不是关键路径),制定项目网络计划与排程,保证交期与质量最大化、成本与库存最小化。
项目计划排程调度一旦遇到工艺变更等多种变更,立即重新规划,实时的反映现状并持续的优化并监督预警。这里的牵涉到项目立项的项目规划,项目排程与调度、项目采购计划等
主要流程:
市场多项目预测与项目预算
S&OP销售与项目运营计划
项目资源计划
项目采购计划
项目作业进度排程
项目发运计划与优化装箱、装车运输计划、
当然,以上分析仅供参考,因为制造企业的行业的场景是复杂的,几种策略可能交叉组合应用,也可能是动态变化的,所以计划体系的设计必须适应新的变化,从总体原则、计划组织、运作模式、计划策略、计划组织的职责、端到端的集成流程的设计,以规则的确定性,应对内外变化的不确定。
相关文章:

【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说
关注作者 制造供应链的牛鞭问题与复杂问题主要是从两个方面解决,一是同步化供应链消减从需求到供应的放大效应,二是供应链细分,针对不同的客户、不同的需求供应的匹配策略来应对复杂性,更好的满足客户并以最低的总成本来实现。 对…...

基于stm32的红外测温系统设计(论文+源码)
1总体方案设计 本课题为基于STM32的红外测温系统设计,在此将系统架构设计如图3.1所示, 整个系统包括STM32F103单片机,红外测温模块MLX90614,显示模块OLED12864,蜂鸣器以及按键等构成,在功能上,…...
前端WebSocket应用——聊天实时通信的基本配置
使用 WebSocket 实现实时通信的 Vue 应用 前言1. WebSocketService 类 1.1 类属性1.2 构造函数和连接初始化1.3 WebSocket 连接1.4 事件处理方法1.5 发送和关闭 WebSocket 消息1.6 状态查询与回调注册1.7 完整代码 2. 在 Vue 组件中使用 WebSocketService 2.1 定义 WebSocket …...

博弈论1:拿走游戏(take-away game)
假设你和小红打赌,玩“拿走游戏”,输的人请对方吃饭.... 你们面前有21个筹码,放成一堆;每轮你或者小红可以从筹码堆中拿走1个/2个/3个;第一轮你先拿,第二轮小红拿,你们两个人交替进行;拿走筹码堆…...
Debezium OracleValueConverters 分析
Debezium OracleValueConverters 分析 目录 1. 概述2. 核心功能3. 数据类型映射4. 特殊场景处理5. 最佳实践6. 使用示例7. 常见问题8. 扩展建议9. 总结1. 概述 OracleValueConverters 是 Debezium Oracle 连接器中负责数据类型转换的核心类,它继承自 JdbcValueConverters。主…...

WPF 消息循环(二)
们已经知道,win32/MFC/WinForm/WPF 都依靠消息循环驱动,让程序跑起来。 这里就介绍 WPF 中是如何使用消息循环来驱动程序的。 1. 背景 只听说过 Dispatcher ,哪里来的消息循环? WPF 启动运行堆栈: > WpfApp1.…...

ubuntu上更改ext4格式的硬盘为 windows的 NTFS 格式参考
1. ubuntu上安装 sudo apt-get install gparted 2. 参考如下,下面是转换后的样例。 3.windows上添加识别新硬盘参考 先在设备管理器中 找到下面 磁盘管理 如下:找到类似下面的磁盘2 查看相关信息 右键可以新建卷和格式化,下面是已经新建…...
Fastapi教程:使用 aioredis 连接池执行Redis 的高效异步操作
在构建高性能的 Web 应用时,缓存系统是一个至关重要的组成部分。Redis 是最常见的缓存系统之一,它提供了高效的存储与读取机制。然而,在与 Redis 进行频繁交互时,创建和销毁连接可能会成为瓶颈。为了优化这一问题,我们…...

配置mysqld(读取选项内容,基本配置),数据目录(配置的必要性,目录下的内容,具体文件介绍,修改配置)
目录 配置mysqld 读取选项内容 介绍 启动脚本 基本配置 内容 端口号 数据目录的路径 配置的必要性 配置路径 mysql数据目录 具体文件 修改配置时 权限问题 配置mysqld 读取选项内容 介绍 会从[mysqld] / [server] 节点中读取选项内容 优先读取[server] 虽然服务…...

docker 容器相互访问
目前采用 network 方式 1. 创建自定义网络 docker network create network-group 如下 2. 相互访问的容器更改(目前演示redis 以及netcore api 访问redis ) //redis 原有容器删除 跟之前区别就是加入 --network network-group docker run \ -p 6379:…...

算法1(蓝桥杯18)-删除链表的倒数第 N 个节点
问题: 给你一个链表,删除链表的倒数第 n 个节点,并且返回链表的头节点。 输入:head 1 -> 2 -> 3 -> 4 -> 5 -> null, n 2 输出:1 -> 2 -> 3 -> 5 -> null输入:head 1 ->…...
【PyTorch】动态调整学习率 torch.optim.lr_scheduler.StepLR 调度器
文章目录 1. torch.optim.lr_scheduler.StepLR 官方文档详解2. 使用示例2.1 官方提供使用示例2.2 自己写代码测试方法2.2.1 get_last_lr() 方法2.2.2 state_dict() 方法2.2.3 load_state_dict() 保存和加载调度器 3. 思考3.1 为什么需要state_dict()3.2 get_lr() 与 get_last_l…...
AIGC drug design 人工智能生成式药物设计:基于 GPT 的 SMILES 生成与应用
人工智能生成式药物设计:基于 GPT 的 SMILES 生成与应用 1. 人工智能生成模型:解密 GPT 的工作原理 目录 引言 1.1 背景介绍 1.2 人工智能生成模型的兴起 1.3 GPT 系列模型的地位与影响 GPT 模型概述 2.1 什么是 GPT 2.2 GPT 的发展历程 2.3 GPT 与其…...
Python面试常见问题及答案4
一、内存管理相关 问题:Python中的垃圾回收机制是如何工作的? 答案:Python主要使用引用计数来进行垃圾回收,当对象的引用计数为0时,该对象就会被垃圾回收器回收。此外,Python还有一个循环垃圾收集器来处理循…...

开启第二阶段---蓝桥杯
一、12.10--数据类型的范围及转化 今天是刚开始,一天一道题 对于这道题我想要记录的是Java中的整数默认是 int 类型,如果数值超出了 int 的范围,就会发生溢出错误。为了避免这个问题,可以将数字表示为 long 类型,方法…...

npm内存溢出
项目过大运行项目内存溢出 报错代码 运行内存溢出 increase-memory-limit ‘“node --max-old-space-size8192”’ 不是内部或外部命令,也不是可运行的程序 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of m…...

回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测
回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 CNN-BiGRU,即卷积神经网络(CNN)与双…...
Android系统卡启动问题排查
Android系统启动正常来说会涉及到如下几个过程: 引导加载程序(Bootloader)Linux内核(Kernel),负责硬件抽象、内存管理、进程管理、网络堆栈等init进程 init进程读取init.rc配置文件,用于启动各…...

STP(生成树协议)
STP的基本概念 概述 STP是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并对某些接口进行阻塞以消除环路。STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动…...
【前端面试】随机、结构赋值、博弈题
解构赋值(Destructuring Assignment)是 JavaScript ES6 引入的一项非常有用的特性,它允许我们快速地从数组或对象中提取值,并将它们赋给变量。这种方式使得代码更加简洁、易读,并且能够减少重复的访问和赋值操作。 1.…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...