12
APS 如何适合中国制造? 王岩峰博士 版权所有,引述请注明出处 当孔雀展开美丽羽毛的时候,羽毛的后面并不一样美丽。当生产排产软件开始推销强 大效益的时候,我们更需要冷静地评估这种效益是否会在我们身上兑现。道理很简单,全 球每年和生产计划排产相关的理论研究让超过上千所大学研究机构、上万名教授和 数万名 研究生在耗费着数以亿计美金的科研经费。如果一个软件可以解决问题,那这些教授、研 究生、研究经费早已经失去了存在的意义,但现实是这些研究还在红火的进行,钱仍然不 够用。 近年来,包括 i2AdexaAsprova, Preactor FlexSche 等欧美日本生产排产软件 公司登陆中国,无不看重中国制造企业庞大的数量和提升管理水平的迫切心情。这些软件 都有着非常优秀的操作界面和排产算法,也有着引以为傲的客户名单。但问题是,它们适 合我们吗?在我们的需求中,哪些方面它们可以完美的满足?如果我们使用,可能会带来 的具体效益和潜在障碍会是什么呢?这篇文章希望针对这些问题、纯粹从技术和管理层面 进行讨论。本着有理有据的原则, 我们欢迎在这个领域有见地的同仁一起进行有益地探 讨。需要声明的是,这篇文章无意对任何软件公司有偏见。 (一) 在乱象中理清概念 在术语、缩写满天飞的时代,APS 也面临同样的问题。关于 APS 具体是哪些单词的 缩写,有据可查的就有很多种,这就造成了都在讨论 APS 的人忽然发现对方讲的和自己不 完全是一回事的尴尬局面。A Advanced (先进)的缩写,没有分歧。P 可查的说法包 Planning, Production; S 包括 Scheduling System。经过排列组合,就会发现

edgestone-it.com - APS 如何适合中国制造? · 2019. 12. 27. · aps 如何适合中国制造?. 王岩峰博士 版权所有,引述请注明出处. 当孔雀展开美丽羽毛的时候,羽毛的后面并不一样美丽。当生产排产软件开始推销强

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • APS 如何适合中国制造? 王岩峰博士

    版权所有,引述请注明出处

    当孔雀展开美丽羽毛的时候,羽毛的后面并不一样美丽。当生产排产软件开始推销强

    大效益的时候,我们更需要冷静地评估这种效益是否会在我们身上兑现。道理很简单,全

    球每年和生产计划排产相关的理论研究让超过上千所大学研究机构、上万名教授和 数万名

    研究生在耗费着数以亿计美金的科研经费。如果一个软件可以解决问题,那这些教授、研

    究生、研究经费早已经失去了存在的意义,但现实是这些研究还在红火的进行,钱仍然不

    够用。

    近年来,包括 i2,Adexa,Asprova, Preactor 和 FlexSche 等欧美日本生产排产软件

    公司登陆中国,无不看重中国制造企业庞大的数量和提升管理水平的迫切心情。这些软件

    都有着非常优秀的操作界面和排产算法,也有着引以为傲的客户名单。但问题是,它们适

    合我们吗?在我们的需求中,哪些方面它们可以完美的满足?如果我们使用,可能会带来

    的具体效益和潜在障碍会是什么呢?这篇文章希望针对这些问题、纯粹从技术和管理层面

    进行讨论。本着有理有据的原则, 我们欢迎在这个领域有见地的同仁一起进行有益地探

    讨。需要声明的是,这篇文章无意对任何软件公司有偏见。

    (一) 在乱象中理清概念

    在术语、缩写满天飞的时代,APS 也面临同样的问题。关于 APS 具体是哪些单词的

    缩写,有据可查的就有很多种,这就造成了都在讨论 APS 的人忽然发现对方讲的和自己不

    完全是一回事的尴尬局面。A 是 Advanced (先进)的缩写,没有分歧。P 可查的说法包

    括 Planning, 和 Production; S 包括 Scheduling 和 System。经过排列组合,就会发现

  • APS 有的代表 Advanced Planning and Scheduling, 有的代表 Advanced Production

    Scheduling,有的代表 Advanced Planning System, 等等。

    无论用什么词汇,可以看出在帮助企业进行资源规划和优化的系统中,我们关注点在

    Planning 和 Scheduling 这两个方面。 Planning 代表了“计划”;而 Scheduling 代表

    了 “调度”,或者在很多人理解中,代表了“排产”。

    为什么要把这两个词分开表述,因为它们代表了不同的优化精度和优化算法,对数据

    有着不同的要求,也就造成了对企业有着不同的适用程度。这两个概念之间的关系如果不

    搞清楚,我们就没有办法准确地评价一个系统是否适合自己的需要。

    理想中,我们希望有一个系统可以像一个智者一样,时时刻刻告诉我们该生产什么产

    品,该在哪台设备上生产,该生产多少,在生产现场发生变化的时候,该如何调整等等。

    遗憾的是,这个智者并不存在。在满足客户需求情况下最有效率安排企业资源是一个理论

    上也非常具有挑战性的问题。这个问题正因为过于复杂,大部分问题即使用超高速的计算

    机也无法在可以忍耐的时间范围内得到最优的结果。这个现象随着计算机硬件速度的提升

    得到了缓解,但仍然没有根本得到解决,这正是理论研究没有止境、软件开发没有止境的

    原因。

    因此,解决问题的思路只能是缩小问题的范畴,主要通过两个方面:

    (1) 把问题分割成子问题,分别解决;

    (2) 把时间分割成不同精度,分别解决;

    采用(1)方法最典型的例子就是 ERP 中将生产主计划(MPS)、能力计划(CRP)

    和物料需求计划(MRP)作为三个或者几个分开模块、分别运算的情况。这种分割除了满

    足计算速度的要求外,在产能和物料规划的准确度上越来越显示突出的缺陷。如果理解这

    种分割发生在六十年代计算机运算速度更加落后的背景下,那么这种当初合理的分割现在

  • 已经不合适宜,因为无论从计算机速度、优化算法的质量都比六十年代提升了几个数量

    级。

    为什么这种分割计算是不够准确?道理非常简单,产能的安排和物料的调配互相制

    约、互为条件,本质上并不存在哪一个可以先于另一个完成。一般来说,资源安排起步于

    对产能的规划,合理安排最终产品和半成品对企业有限资源的占用;然后根据生产计划产

    生物料需求计划。但物料供给的波动会造成生产计划的调整,成为一个不但是有限产能,

    而且是有限物料的优化问题。

    采用(2)方法最典型的方法就是提供不同管理层面的计划问题,包括战略层面(长

    期),管理层面(中长期)和执行层面(短期)

    无论何种层面,为了降低优化计算的复杂程度(例如决策变量的数量),都需要做一

    定程度的取舍。如果做长期计划,当时间跨度增加、视野更加开阔的时候,优化精度就会

    降低,比如说采用以周、月为单位的时间刻度。如果做短期计划,例如生产调度,当需要

    具体安排某个工序在具体时刻发生的时候,这时候时间刻度缩小到分钟级别,那么整个计

    划的跨度就会缩短。

    一般来说,时间刻度(或者说时间精度)是划分“计划”和“调度”的最重要依据之一。

    如果时间刻度是以月、周、天为主,那么这样的资源安排一般称为“计划”或者“规划”

    (Planning);如果时间刻度已经深入到小时和分钟(甚至秒)的级别,并且资源安排具

    备明显的次序要求,那么这样的资源安排一般称为“调度”或者“排产”(Scheduling)。此

    外,这种划分的另一个重要依据是这两类问题的处理算法一般也大不相同(详细说明见

    下)。

    按照现在算法和计算机处理能力的发展,在(1)方面可以取得比(2)更大的突破,

    现在资源优化的方向已经逐渐摒弃(1)当中产能和物料割裂计算的方式,而是在更系统

  • 的“有限产能计划的”框架内一并解决产能和物料的问题。我们所看到的新近涌现出来的很

    多 APS 系统或者老牌 ERP 系统中的生产计划部分都在向这个方向努力。

    但碍于算法的复杂程度,在相当长的时间内,(2)当中采用不同时间精度的方式仍

    然会很流行,但所幸的是,不同企业或者企业中的不同职能部门对于时间精度的要求是不

    一样的。

    在这篇文章中,我们是站在统一的“有限产能、有限物料”的优化框架下来讨论“计划”和

    “调度”在中国企业中的适用度,而不再将产能和物料分割开计算,因为这种方法会慢慢被

    淘汰掉。

    (二)优化面临的主要问题、目标、方法和算法

    (1)三大难题

    在资源优化问题中,我们面临的三大难题是:Lot Sizing(产量),Resource

    Assignment (资源调配) 和 Sequencing (顺序)。简单来说,就是决定企业每天生产什么产

    品、生产多少、由谁来完成以及以什么样的次序来完成。

    Lot Sizing 试图确定在一定单位时间内(例如班次、天、月、周等)生产制造的种类

    和数量。Resource Assignment 试图确定各种加工产品如何分配到多个资源上。

    Sequencing 试图确定加工的次序和生产准备的方式。

    (2)多个目标

    在资源优化问题中,我们也面临着企业优化的目标。很遗憾的是,企业目标的选取没

    有降低,反而增大了上述三个问题解决的难度。因为企业对于资源利用的目标不但是多维

    的,也是不断变化的。企业资源的目标可以包括

    a) 库存

    b) 资源利用

  • c) 客户订单满足率(客户缺货率)

    d) 生产转换

    e) 生产连续性

    f) 生产加班

    等等。这些目标随着经营环境的变化,优先级有可能发生变化。

    (3) 二种方法

    在(一)已经提到“计划”和“调度”的区分。一般而言,“计划”所主要针对的问题就是

    Lot Sizing (产量)和 Resource Assignment (资源调配)的问题;而“调度”所主要针对的问题

    是 Sequencing(顺序)问题。这种对应关系是和问题中所隐含的对时间刻度的要求是紧密

    相关的。

    一个工厂如果获得当天的生产计划,也就是获得了当天需要加工的产品、数量和设备

    的大致安排,也就具备了基本的生产启动指令。车间调度人员具有灵活安排生产加工次序

    和组织生产的灵活性。“计划”的优点在于在统筹的资源调配情况下,赋予车间现场人员比

    较宽松的灵活度来应付各种可能的突发事件,缺点在于并没有告诉操作人员如何安排更细

    致的工作。

    反之,“调度”则详细而具体的安排了设备在更精细时间刻度上(小时、分钟)的工作

    量,以及工序之间应该如何衔接和先后次序。“调度”的优点在于明确操作次序,减少现场

    人员的随意性;但缺点也是显而易见的,就是对于生产现场的变化处理并不具备宽容度,

    往往对于全自动化非人工活动具备较好的应用性(例如汽车厂的喷漆车间)。

    (4) 多种算法

  • “计划”和“调度”所采用的算法往往大不相同,对企业优化目标所造成的影响也大不相

    同。

    在“计划”当中,当时间刻度是以班次、天、周、月等划分的时候,为了实现“有限产

    能、有限物料”的统一优化,往往采用是以线性规划或者混合整数规划为主的优化方法。

    在“调度”当中,当时间刻度非常小,或者允许是连续时间的时候,为了实现次序的优

    化,往往采用以约束规划、经验规则或者启发式算法为主的优化方法。

    这些算法的优缺点可以见以下表格。

    需要说明的是

    (1)各种算法并不专属于某种类别,在“计划”制定中也可以采用经验规则等方法。这

    里面只是罗列了被证明比较好的方法。

    (2)算法的优劣不是站在算法本身考虑的,而是从对问题解决的相关度上来看。

    时 间

    刻度

    主要针对问

    主 要 算

    优点 缺点

    计划 天 、

    周 、

    月等

    Lot Sizing

    (产量)

    Resource

    Assignment

    ( 资 源 调

    配)

    线 性 规

    a) 可以适应企业多

    目标优化

    b) 目标可以有优先

    c) 成熟技术

    d) 适合大规模问题

    e) 可以找到最优值

    或者较好的次优值

    a) 对于次序问题比较

    困难

    b) 大规模商用成熟优

    化器一般比较昂贵

    调度

    连 续

    间 ,

    Sequencing

    (顺序)

    约 束 规

    a) 可以处理次序问

    a) 算法以找到可行解

    为主要目标,无法实现

    多目标同时优化

  • 或 者

    分 、

    小 时

    b) 可以处理复杂工

    序问题

    b)算法个性化程度较

    高,开发难度大

    c) 可处理的变量数量和

    复杂程度限制较高

    经 验 规

    a) 运算速度快

    b) 开发简单

    c) 容易理解

    a) 往往不能找到最优

    解,而是一个可行解;

    b) 对规则的质量要求

    很高;

    c) 无法实现多目标同时

    优化

    启 发 式

    算法

    可以找到较好的解

    决方案

    a) 算法个性化程度较

    高,开发难度大

    b) 可处理的变量数量

    和复杂程度限制较高

    c) 方案的稳定性随着问

    题的不同而有较大差异

    从这个表格我们需要看到:

    (1)“计划”可以对企业多目标进行优化,但在时间刻度上做了简化,是一个以企业多

    目标为导向的优化工具;而“调度”的优势在于执行层面,但因为算法本身的制约,无法看

    得更宏观、更系统

    (2)时间刻度越小,为了能够在可以容忍的时间内产生一个较好的方案,问题的范

    围就越要缩小,“调度”算法在增加细节操作的可控性的同时,失去了时间跨度的优势,也

    就失去了对企业在较长时间范围内目标的可控性。

    很多软件可以宣称既能够满足“计划”的要求,也能够产生“调度”的细节,那么只有以下

    几种可能性

  • (1) 这个软件包含了两种(或者多种)不同的算法,可以按照一定逻辑先后运

    行,例如 iLog 开发的 PowerOp 系统。

    (2) 这个软件采用了某种算法,例如经验规则、启发算法或者约束规划,那么优

    化结果的缺陷将会是要么优化速度在问题复杂的时候需要很长时间,要么无法实现企业多

    个目标的同时优化( 或者只是找到一个可行解),要么以上两个都具备

    (3) 企业问题本身已经具备某种特征,比如说按照客户订单生产中,加工批量就

    是客户订单数量等,这样在某种程度上规避了资源优化问题中的某一个(例如 Lot

    Sizing) 问题,算法的难度可以大大降低。

    (4) 名不符实

    (三)“计划”和“调度”,哪个适合我们?

    企业管理本身目标的多样性和易变性,以及企业从战略到管理层面都需要进行业务规

    划的特点,直接决定了“计划”的必要性和可行性。这也正是很多 ERP 系统在销售时所宣传

    的,虽然没有太多企业成功的实施了 ERP 当中的生产计划功能。没有成功实施的原因很

    多,但其中很重要的一条,就是和传统 ERP 当中有限产能和有限物料没有在统一的框架

    内计算而造成的结果偏差有关。

    好的“计划”可以在系统、宏观的层面决定了企业的 KPI 绩效水平,为执行层面上的“调

    度”打下好的基础。 正是基于这个考虑,笔者一直认为,制造企业首先考虑的是为 ERP 的

    短板——生产计划功能找到好的解决方案,或者说为 ERP 找到好的引擎。

    那么“调度”系统是否也是我们所需要的。回答是肯定的,但需要附带很多说明。

    首先,我们讨论一下“调度”系统的缺陷。

    (1)“调度”系统视野的局限性和对全局多目标的可控性

  • 在(二)中的表格中,我们已经罗列了“调度”系统的优势和劣势。“调度”系统中算法本

    身的局限性决定了“调度”系统在整个企业资源优化过程中,处在局部执行层面的地位上。

    我们在考虑“调度”系统时,需要清楚地知道,企业大部分系统级别的绩效指标在“计

    划”的时候,就已经确定了,而“调度”只是将这个方案更细化。例如,对于资源的平衡利

    用目标,当我们通过计划系统确定每个设备在一周内的生产数量的时候,就已经确定了每

    个设备在这一周内的耗费工时,也就确定了生产系统在这一周内是否均衡地利用产能。至

    于让某个设备先加工产品 A 还是产品 B,这种排序调度不会改变资源在这周内的平衡率。

    类似的指标还包括库存水平、设备利用率等。

    一定会有人说,“调度”系统可以检验“计划”结果的可行性,保证生产能够准确运转。这

    个往往是“调度”系统宣传时最常用的理由,这个理由听起来很充分,但漏洞很多,这主要

    是由“调度”系统的以下缺陷造成的。

    (2)“调度“系统对于生产的波动无法提供更智能化的包容度。

    毫无疑问,制造企业生产的波动性是管理的魔鬼。无论标准工时,材料供给、设备人

    员状态等等,无时无刻不在发生着变化。这种变化太普遍、太不可预见、太难以跟踪。如

    果没有一个系统提供准确及时地数据,“调度”系统如何能够控制到分钟、小时这样的时间

    精度上?如果一个环节发生了超出计划的延迟,“调度”系统要以怎么样的方式来调整后续

    的操作?时效性如何?影响面有多大?”调度”系统能否跟得上这样频繁的变化?

    “调度“系统是一个始终保持理性头脑的家伙,但我们总怀疑这样的理性如何面对生

    产现场的不理性?

    (3)“调度”系统算法本身和现实操作存在矛盾

    对于“调度”算法本身和现实操作的矛盾,我们可以举二个例子。

    第一个例子是关于对于宽放系数(以及稼动率)的处理

  • 正是由于生产的波动性,生产过程中不可避免的出现人员休息、设备中断、运输等待

    等临时突发事件所带来的生产效率损耗。在“调度”系统中,这部分损耗就要折算到工单处

    理时间中,将原本正常的处理时间增长一个比例。

    但问题是,如果按照这样的处理时间来进行调度,如果一切正常,没有发生任何波动

    性,那么多余出来的时间怎么办? 我们都知道这部分时间属于“不增值”的无效时间(原本

    留给意外发生的时间)。也就是说,“调度”系统不但试图调度有效的处理时间,也在调度

    不可预见的无效时间。这听起来是不是有点矛盾,不可预见的事件时间怎么能调度呢?这

    就是“调度”系统的一个无法克服的缺陷。

    第二个例子是关于并发活动的处理

    甘特图是“调度”系统最显著的表现形式,但这个图(或者说内部算法)在处理并发活

    动关系上却很难完全准确地描述。比如说加工一定数量的产品,需要经过两道工序 A 和

    B,这两道工序的关系可以有多种可能性,例如下图。

    第一种情况更多地适用在单件流的生产方式下,而最后一种情况适用在批量化生产的

    方式下。而第二种情况就是介于两者之间的情况。在生产现场中,如果没有明确的处理方

    式的规定,这三种情况都有可能发生,而以第二种的中间状态居多。也就是说,如果企业

    生产现场人员可以有灵活性来决定工序间产品流转的批量的话,几乎没有一个“调度”系统

    可以应付这样灵活而无规则的处理方式。任何产生的调度计划都有可能受到责难。

  • 正是因为以上讨论的“调度”系统的缺陷,在引入“调度”系统的时候,我们需要仔细地考

    察企业自身的生产状态,我们认为,只有在以下几种情况下,引入“调度”系统是一个比较

    合理的方案。

    (1)企业的管理精度和软件系统的时间刻度匹配

    我们有一个明确的观点,就是计划系统的优化精度应该和生产现场控制的精细程度相

    匹配。如果计划精度到小时甚至分钟,而现场状态数据(在制库存、设备和人员状态、材

    料供应状态等等)无法准确到小时或者分钟,现场指令无法应变到小时或者分钟,这是控

    制落后计划的情况,应用效果不会理想。

    如果企业对生产现场的控制(包括指令的发出和反馈、数据的跟踪、作业标准化等

    等)达到比较高的程度,特别是全自动化设备运行生产线,那么基本具备了“调度”对数据

    的及时性和准确性的要求。

    (2)产品的加工次序可以显著影响到企业的运营水平或者某个局部的运营水平

    例如汽车厂的喷涂车间或者半导体产线上的某些需要较长生产准备的昂贵设备等,引

    入“调度”软件对于这些局部产线或者工序进行排序优化,是一个可以充分发挥“调度”软件优

    势,而又可以比较容易解决问题(问题范围缩小)。

    (3)生产波动性较小

    这一点非常容易理解,前面已经提到,一个频繁变化、疲于调整的“调度”系统是会很

    快被最终用户放弃的。

    (四)当务之急

    正是因为“计划”比“调度”对于企业绩效指标有着更系统和更长远的影响,并且

    “计划”系统比“调度”系统对于企业管理水平有更大的包容性,我们认为企业目前资源

  • 优化的重点,仍然应该放在建立一个统一集成的“有限产能、有限物料”的“计划”系

    统,打好未来企业更精细化运作的基础。

    计划”系统比“调度”系统更具备包容性主要体现在对时间刻度的控制既不是太粗放

    (控制到班次和天、周等),又不太精细(对现场具体操作留有灵活性)。同时,更重要

    的是这样的时间刻度可以有效地利用数学算法在企业多个绩效目标之间进行权衡。在很多

    时候,这些绩效目标之间存在着互相矛盾(例如库存水平和客户按时交货率),企业按照

    实际需要进行优先级的设定。

    而在“计划”系统中,一个可行的、很多企业正在努力的方向就是建立涵盖企业多个

    绩效目标、集成的"有限产能、有限物料”系统,将产能和物料的规划在统一的框架内同时

    解决,我们也认为这个方向符合目前中国制造的信息化方向。

    (五)总结

    用“电脑”博弈“人脑”,只有在特定条件下才有成功的可能。在引入资源优化系统之前,

    我们需要清楚地了解各种系统的优点和缺点。没有完美、一劳永逸的生产计划和调度系

    统。中国制造企业现在需要的是有宽容度、可以针对企业多个目标同时优化的计划系统,

    可以宽容企业管理的波动性和不完美。在这种宽容中,系统可以为企业提供 具有指导意义

    的生产计划。

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /CreateJDFFile false /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice