不少业内朋友说,还没有见到一个APS成功的案例。 可能,这个说法绝对了。 最近这些年我也接触了不少企业,实施了APS都失败了。 然而,这阻挡不了APS如火如荼前赴后继的发展势头,似乎在生产计划调度领域没有其他选择。 几年前,我写了一个《聊聊APS》,肤浅得说了一下APS的问题,主要是不想影响同行的生意。 但是,看到那么多招标文件美好的词汇,明显是在挖坑。 为了双方不要掉下去,直接说说我的认识,以引起同行的讨论。
一个工业系统管理软件,背后一定有工业管理理论做骨架。系统管理软件实施落地困难,成功率低,首先不要在软件本身找问题。因为IT的更新换代速度远远超过工业管理理论和技术的进步。我们应该从工业管理理论、工厂管理体制机制、实施方法论以及工厂的行为习惯、企业文化方面找原因。
APS (高级计划排程)的功能和缺陷
1 、在大规模定制生产模式下产能的定义
APS 的计划和调度就是制造企业的中长期计划和短期计划。产能是做生产计划的最重要依据。生产计划决策就是根据确定的目标,让指定的任务与产能实现最佳配置。对自己的资源生产能力正确的评估是做出优化配置的先决条件。
产能的定义。产能是指在计划期内企业参与生产的全部固定资产,在既定的组织技术条件下,所能生产的产品数量。也可以表示为:产能=单位工作时间/节拍时间。这个标准的传统的产能定义应该存在了百年以上了。在商品短缺的卖方市场、计划经济环境、大批量生产模式,工业企业有这样几个特点:产能是确定的静态的,其本身就是决策目标;企业根据产能就能很容易制定出中长期生产计划,并可以切分成周计划或日计划;企业的设备资源(固定资产)能力决定了产能,而且通常会有瓶颈资源。这种情况下工厂产能=车间产能=设备/人产能。
当进入现代工业的大规模定制模式后,我们继续延用过去的产能定义去做生产计划就产生了很大的困扰。第一,小批量、多品种、混线生产时节拍是动态的,产能也是动态的。第二,产能不仅是企业生产资源决定,可能更多的是供应链产能交易决定的。订单外协、工单外协、工序外协造成工厂、车间、设备的产能并不相等。供应链也不仅仅是采购的原料、零部件,还包括工装模具、信息资源、物流资源等。第三,最大的区别是生产计划决策的目标和生产任务不一样,不同层次的决策目标和不同层次的任务及资源也不一致。长期计划决策的目标是订单准时交付,短期计划决策的目标是生产周期最短和最小的WIP,实时生产计划的目标是关键资源OEE和加工质量。在大规模定制模式,制定生产计划主要目标已经不仅完成产品数量,而是为了企业的经济目标。一个工厂的产能定义为能够生产多少数量产品意义不大。 工厂的产能是一个工厂满足产品市场的准时交付能力。
在制造企业随着小批量、多品种、混线生产程度的不断加大,企业会明显感到明明存在着很多富裕产能(设备资源能力),就是发挥不出来。我们从两个方面分析这个现象。
从系统科学的视角,我们可以认为大规模生产模式下的工厂整体是一个线性系统。当我们拿到一个订单,立刻可以知道什么时间可以交付。因为我们可以算出来从零部件生产到总装配生产的各个车间的“节拍”。从尾到头所有的生产活动是有序的。当我们进入大规模定制模式后,每个订单的工艺差别很大,各个车间的生产节拍找不到了,或者说是动态节拍。而大规模定制模式的另一个现象是工业生产越来越专业化分工了。一个工厂的生产严重受制于供应链的情况,这个广义的供应链不仅仅包括原材料、零部件,还包括产品生产中各种物质、工装工具、信息、能源等。所以,线性系统的一个工厂就分裂为由设备、车间、工厂三个层面的系统,并呈现出非线性的特征。大中小三个不同层面相互嵌套分割、相互协作、相互联系的系统形成了工厂的运营管理结构。经营环境变了,生产模式变了,我们继续用原来的视角已经不能看到问题的实质。
从经济层面分析。很多企业当生产节奏无法把控,订单无法满足交付的时候往往会想到两个办法。投资固定资产扩大产能;或者是为了把控节奏建设专线(往往会起个好名字叫做流程再造)。这样做的本质是将生产过程的非线性化解为线性。只要愿意支付金钱和时间,任何复杂问题都可以简化。问题是他们并不知道现有的资源产能还有多少可以挖掘出来。经验证明,大多数企业的产能有10%-30%挖掘潜力,甚至更多。可惜的是,他们恰恰把最赚钱的生意给丢掉了。固定资产折旧是企业的重要成本。产能达到一定程度后,固定资产折旧成本就摊平了。再挖掘出来的产能“油水”很大。
APS 诞生已经半个多世纪,是大规模生产模式的产物。 它的基本理论就是:工厂产能=车间产能=设备/人产能。在这样一个理论基础上,在同一个产能模型下,在大规模定制的模式,让它做出(切分成)三个不同层次、不同决策目标的生产计划显然是非常困难的,也必然会造成计划的不可执行。
2 、正确处理企业整体与局部的关系
制定生产计划首先需要用MRP运算将各个订单拆成工单,再分解为各个工序。产品的BOM结构约束决定了各个零部件的生产加工顺序。APS再根据这个顺序约束,以及各个工序的生产资源的有限的生产能力的约束,在可用的全部工作时间,在全部工厂的各个车间进行生产加工排序。从逻辑上这样做没有问题。但是这个全工厂的统一排序是“牵一发而动全身”的。任何一个扰动需要重新排程都是各个车间同时调整。这种刚硬的排程手段至少有两点与工厂的运行机制有冲突。
企业的组织架构是企业长期经营运作优化调整的结果。决策架构层层分解,责任和义务层层落实,对企业而言是当下配置效率最高的结构。APS的管理架构打破了原有的管理权责,实现了“扁平化”管理。但是这种 “军长直接指挥到士兵”的机制与原有管理机制产生了矛盾。 至少,在现有的APS管理架构下这种矛盾很难协调。举个简单例子。工厂有五个车间,其中零部件机加工车间某个工序由于某种原因暂停生产,需要APS重排。重排就涉及所有车间。那么其他四个车间就疑问,凭什么机加工车间出现那么一点问题就让我们也跟着折腾?
一个工厂整体与车间局部的内在联系是相互依赖,互为存在。整体对局部起支配统帅决定的作用,协调各局部统一向工厂整体的战略目标发展。但是车间局部也有局部的利益需求。局部的变化也会影响到整体的变化。一个工厂处理问题追求系统整体的最佳效应。然而如果不能充分重视局部的积极作用,整体的利益也是会受到损害的。一个工厂必须追求客户满意度。在这个前提下,有的车间可能需要牺牲产能确保工期,有的车间可能需要最大程度发挥产能。同样,与企业实体对应的数字化管理系统,需要反映整体系统目标状态,同时也需要各个局部有自行管理控制的机制。如果是一个僵硬的一体化的管理系统,实现这样的目标肯定是不行的。
3 、APS的建模问题
我们需要对一个生产运营系统建立生产过程的机理模型,也是白箱模型。这个模型不仅要反映输入-输出的关系,也要反映生产过程的状态,成为一个真实反映生产过程的物理/化学机制以及物质流动机理的精确数学模型。
工业生产过程及其运营管理过程极其复杂。这个复杂程度是流通领域的消费互联网产业无法企及的。在京东上订购一个产品,即使再复杂的流通环节,这个订单信息永远不会消失,随时可以查找。在工业制造领域,订单一旦进入车间就找不到了。只有最后装配包装后打上客户的标签,才能够找到订单信息。这叫做“订单信息迷失”。一个装备的设计过程包括了从总成到底层零部件的解构过程,以及从底层到总成重构过程需要经过多次虚的实的验证测试过程。这个过程成百上千过万的各个任务节点是管理必须涉及的。生产过程就更为复杂了。各种各样的生产工艺,种类繁多的生产设备都与管理相关。
生产过程的物质流动应该是管理控制的关键。最简单的流动是类似车、铣、刨、磨的单件/批流动(串行)。还有同时加工各种大小零件的多能力设备,例如热处理、喷涂、表面处理(并行)。有些设备一次可能一次同时加工出数量不同、品种不同的零件。在一个工序完成后,有可能同时产生几个不同的零件。流水线或自动数控机床可能会一次性完成多个工序。有的工序的设备就是空间。物质停留时间、环境温度等都参与到管理要素中。设备有主资源,还有第二、第三等等资源,也很复杂。这些复杂现象数不胜数。对生产过程的数学建模,这些现象、特征、规律都需要如实描述。这无疑是非常艰难又是必须做的事情。当然在某些情况下可以简化。
用表格建数学模型是科学工程研究非常通用的方法。APS是依靠Excel建立工厂生产计划调度系统的数学模型。问题是,制造业企业的生产运营管理和制造过程的管控是一个非常复杂的系统,即使我们能够设计出反映企业基本运行规律的表格,如果这个表格太复杂用户不会正确填写,那么这个数据模型也就失去实际作用。
为了让制造企业能够填表,APS的表格不会太复杂。这就带来了模型不能反映客观实际的弊端。为了弥补模型的缺陷,通常APS在软件界面就设计了很多的配置项。为了弥补APS模型缺陷的很多的用户配置界面,成为APS的一个功能强大的特点。
APS 的模型建立有缺陷,我认为这还不是核心问题。建模粗糙不一定不能用。建模太精确也不一定就好用。 核心问题还是APS的基本理论和管理架构已经不适合大规模定制的生产模式了 。
4 、APS的算法问题
模型和算法肯定是绑在一起的。模型的有效性是算法寻优的基础。我们假定模型是可用的。本节仅仅讨论算法。
很多APS都在描述自己的各种优化算法,绝大多数都是为了商业营销。在十几年前我就讲了排程寻优的困难程度,并举一个简单排序例子:假设计算机每秒可处理1,000,000序列,我们希望构建一个最优调度系统。9个jobs不到一秒即可完成。11个则要一分钟。如果给定20个jobs,找出最优解需要77147年!实际车间调度问题会涉及成百上千个jobs。让 APS寻找最优解基本上是无稽之谈 。其实这个问题很好证明。你不是说能够优化吗。那么下班前我们先排一下,结果留着。然后让让Solver运算一个晚上,再看看和昨天的结果有什么改进。我估计没有APS让你这样验证,因为APS的排程结果是无数理论上的可行解当中的一个。
APS 的优化能力重要吗?说实话一点儿也不重要。 APS的意义不是排程优化,而是排程自动化。 如果我们能够快速得到一个排程结果,这比人工操作简单多了,排程工作效率大幅提高。另外一方面,APS车间排程是做的短期生产计划,到真正执行计划中间还需要经过人!APS排程精确到分秒实际操作上没有意义。很多不确定性的问题,通过人可以得到缓冲,可以调整。
5 、APS能做什么,不能做什么
APS 有缺陷,但不是不可用。理论上,如果是标准化程度好,大批量生产为主,各种扰动小的工业企业都应该是能够应用的。
如果不要排订单,而是用于各个车间的工单的排程,应该是能够应用的。比如作为MES各个车间排程管理的一个APS模块。但是最好是车间的加工工序是单件流或者批量流。比如仅仅包括车铣刨磨设备的粗加工或精加工车间,或者车间都是冲压、铸造等单纯一种工艺环境。
在各种产品有确切的生产节拍的场合,比如家电装配、电子产品装配、服装等生产流水线应该是能够应用的。
就现在APS的架构很难实施多车间的协同生产,它处理不好局部利益和整体协同的关系。大型装备的生产管理也不能用APS,因为大型装备涉及到的系统环境非常复杂,长生产周期存在很大不确定性,供应链和多车间的协同矛盾APS很难处理。在研发设计领域的生产管理也无法应用APS。APS的数据管理机制不擅长处理动态数据,因此数据环境不太好的中小企业难以实施。另外,APS的模型和算法不适合领域知识的导入,因此机器学习方面的人工智能应用也是困难的。
还有一些原因造成APS的项目失败,但是都不是核心因素了。比如:排程结果不符合车间班组或员工的习惯;少数紧急工单“体外循环”;生产反馈有缺项不能形成有效的闭环管理等等。标准工时是实施APS的关键,但是很多情况下,所谓标准工时根本就不存在,APS就无法管理了。至于倒排、正排、拖拉拽等等一些要求是把生产管理当游戏了,不值一提。
6 、实施APS的两个建议
在中小企业,APS做车间的短期计划,一个一个车间做。最好还是结合MES的实施一起做。中长期计划还是由人工做。如果有车间的APS的输出数据做基础,做中长期计划的员工的经验还是够用的。目标不要定的太高。车间的排程自动化的作用远比排程优化要重要,再说APS真的做不了太优。对于大型装备制造企业,个性化太强,APS帮不了太多忙。对于自动化程度很高的生产车间不能指望APS,比如芯片、显示面板、印刷线路板、也包括自动化的汽车和家电生产车间,需要精确的实时计划,这个领域才是模型、算法的用武之地。
实施APS项目最好是由企业的生产主管来主持,让IT团队作为辅助。IT专业人员很容易掉入“用软件管理企业”的陷阱