ERP的真正技术瓶颈
【 信息化】 生产排程:ERP的真正技术瓶颈 ERP应该以生产为核心,这点是业界公认的。但如何以生产为核心?却极少有详细的论述。根本原因在于‘详细生产排程’这个技术瓶颈。 ‘详细的生产排程’也可以说成是‘生产作业计划’,可谓关系重大。企业制定生产计划的过程一般分成两部分,首先是生成主生产计划,其次是根据主生产计划生成生产作业计划。要得到‘主生产计划’一般是从订单,部分企业是从市场预测,出一个生产数量,基本是管理者在进行决策,人的因素起绝对作用。这个过程中会有一些行业或者企业的特别计算方法,需经过一些四则运算式的统计分析,ERP软件要做二次开发,但基本不存在技术难题。
但是,光有主生产计划是远远不够的。一个简单的主生产计划的生产要求,要把它自动分解为复杂、具体的生产作业过程,这就是详细生产排程,这才是ERP系统中最关键的一个环节,是ERP系统真正的核心功能。只有从复杂、具体、详细的生产作业计划中,才能体现出‘ERP企业资源计划’中的‘R——资源’的存在;也只有从这个详细生产作业计划的‘可行性’与‘优化性’上,才能体现出‘P——计划’的价值。有了‘资源’,有了‘计划’,才是真正的ERP系统。
一般说,生产作业计划越详细,它给出的信息越丰富、越有价值,相应计算起来也就越困难。生产作业计划越粗略,越接近主生产计划,信息越少、价值就越低。企业总是希望自动得到尽可能详细的作业计划。但是ERP在这方面遇到了真正的技术瓶颈。就我们目前所见,几乎全部的ERP生产管理都是从四则运算的主生产计划入手,重点利用BOM解决MRP物料需求计划,之后再解决生产过程的记录和统计。恰恰在企业最需要的详细作业计划方面最薄弱、最无所作为。
如想证明一下这个现状,去考察一下上了ERP的企业,会发现一个有趣的现象——该企业无论ERP软件搞得如何如火如荼,似乎都与生产调度人员无关。车间里或者生产线上的生产作业计划、生产过程的调度和管理仍然是在用最初最原始的那种老方式——多数时候是经验,有时候是感觉在起作用,加上少量的以EXCELL为工具的报表运算,虽老虽笨但是有效。ERP功能再强管得再宽似乎也管不到这里。结果,表面风风火火的ERP与企业最关键的运转过程发生了断层,从这个断层衍生出来的一大堆问题成为众家ERP难解之死结。最突出的一个:企业生产调度是要对企业最底层的生产资源——人员、设备、场地等,按照它们的能力进行合理安排。但是上层的ERP无论干什么事情都不去考虑这些资源和它们的能力,或者假设生产能力无限,或者按照一个人为定义的瓶颈资源进行简单四则计算。这种关键矛盾由于ERP技术瓶颈的存在而无法解决,ERP的前景可谓是不容乐观。
那么,这到底有什么难的?为什么众多的名牌ERP企业都无法提供这种基本功能?ERP技术瓶颈到底在什么地方?回答这个问题,就要从企业中直接干此工作的岗位——生产调度的职责说起。
一个企业的生产调度人员,首先是要对该企业的生产工艺流程烂熟于心,也就是了解企业到底是怎么进行生产的,包括其中每个细节,这是当一个生产调度最基本的前提条件。同样的,ERP要想干同样的事情也必须达到同样的前提条件:清楚了解企业究竟是怎样进行生产的,每个细节都不能差!这对一个人来说可能并不算难,但对于一个ERP系统来说就是一件非常困难的事情!有人称之为企业建模,这远不象建立BOM那么简单,其中涉及到的除了物料,还有工序、资源、时间、逻辑关系、技术参数、成本等等错综复杂的生产信息。不同行业不同企业的建模方式更是千差万别,这是第一个技术难点。
且不说离散生产模式的电子、汽车行业与流程生产模式的化工、制药行业在基本生产方式上的巨大区别,就算同属电子、汽车,或者同属制药、化工的不同企业,他们的生产方式在细节上仍然有很大的差别。一套ERP系统能以不变应万变统统接受这种差别吗?技术上很难!只好对每一个行业开发一个专用生产版本,这是必须的。但是行业版本到了企业里就能高枕无忧了吗?大的行业版本一般仍然无法满足行业内特定类别企业的细节差别,比如制药行业细分为‘制剂药’和‘原料药’,生产方式差别还是很大,需再开发更细分的小类别版本。可是同类别的不同企业还有自己的生产特性,针对不同企业的二次开发就类似于把企业的生产特征逐一写到程序中。且不说对生产系统的任何改动都要投入巨大人力,软件企业很难接受频繁和复杂的二次开发要求,更不用说企业生产过程一旦发生变化软件还是很难应对!很多企业的生产流程每隔几天就会变,而软件商不可能每天都重写代码。应变方式只能是降低企业的要求——生产流程建模与实际近似、大概差不多就行了。关键是用户会不会满意?忙了半天还是用不起来,损失就太大了。所以,除了部分院校的理论研究者,目前国内ERP厂商还没有尝试迈过详细生产流程建模的这第一道门坎。
建立生产模型,让软件接受企业的详细生产过程,这的确很麻烦,但并非是无法完成的,真正的难点在于下一步:根据模型和生产请求得到详细的作业计划,也就是详细生产排程。ERP的真正技术瓶颈就发生在这里。
详细生产排程的结果是‘生产作业计划’,是针对每个人员每个设备的生产资源的工作计划。作业计划必须满足在生产工艺上不能有半点差错。首先,工序之间必须满足特定的逻辑关系,以及要求某些工序必须连续、同时、或者间隔进行等等,这是对作业计划最基本的要求。其次,作业计划必须满足资源能力限制,一个资源在一个时间内只能干一件事情,生产作业计划中不能有资源冲突;最后,作业计划必须满足物料供应的限制,没有原材料不能开始生产。也就是说:作业计划必须同时满足多种复杂的约束条件。TOC约束理论早已有之,只是需要比较高级的算法和数学理论,在这方面需要进行长期投入才会有所收获。因此国内理论界对此的研究还很少。
有了按照TOC理论计算出来的计划,满足企业生产工艺要求是不是就行了?很遗憾,这还是差的很远。现在我们以一个假想例子来说明。
一个ERP生产调度系统,很顺利接受了某企业的全部生产细节,并计算出了一套生产作业计划,打印成一份给所有生产资源安排工作的作业计划。现在,由一个有经验的老调度师来决断这个ERP计划系统是不是可以用的,他将如何做?
首先,他会逐一检查每个工序的时间安排,看它们之间的次序和逻辑关系是不是符合企业生产工艺的逻辑关系要求;其次,他会观察这个计划中对每个资源的安排是不是合理,有没有一个时间干两个活这种冲突的情况发生;最后他要看在计划时间内物料能不能供应的上。这些都没有问题了,他必须承认:这个计划已经是一个‘可行’的计划了,也就是说,照此计划一定可以完成生产任务。
但是,还有一个关键的事情,老调度师根据自己习惯的做法,也手工制定了一个作业计划,他把这两个计划一对比,发现问题了。手工的计划可以8个小时完成全部工作,而计算机的计划需要9个小时。或者手工计划可以在8:00完成而计算机的计划要在9:00点完成。原因在于:计算机对某几个工序的顺序安排虽然可行但是不合理,而老调度师根据长期经验早已清楚此时安排工序应该哪个先、哪个后、哪些并行比较好,结果可以得到更短时间完成的计划。这是一种优化安排,而计算机没有找到这种安排方法,所以计算机给出的是一个‘可行’的,但是‘不好’的计划!理想中计算机应自动计算出一个比手工计划更好更优化的排产方案结果,指导人如何工作。这样的软件才能体现出‘企业资源计划’的威力。否则,不能满足最优化排程的ERP在企业生产中还是无法代替手工。
这隔例子凸现出了一个世界性的关键技术瓶颈:一个生产过程可能有无穷多种‘可行’的安排方式,但是必须从其中找出一个‘最优’的计划,即使不能达到最优,起码要比人的手工计划更优,这才是一套可用的生产排程软件,否则企业还是用不起来。
出‘可行’计划的难度已经很大,找出‘优化’计划的难度更大。不仅要处理错综复杂的约束条件,还要从几乎无穷多种满足约束的可行方案中找到优化排程方案。怎样才能找到这种优化的计划?这是ERP系统共同面对的真正瓶颈问题,是世界性的技术难题。其中的关键在于算法,算法的基础是数学模型,特别是高级图论、离散数学与线性代数中的矢量矩阵技术。对此,国外已经作出了很多年的努力,其研究成果已形成了多个‘APS先进生产排程’产品,发展出了几十种先进生产排程算法,比较常用的如:启发式图搜索法、禁忌搜索法、神经网络优化、遗传算法等,这些算法各有优劣,可用在不同场合。目前不同的新的算法仍正在蓬勃发展中。
用一句话来形容APS的主要功能:可以自动给出满足多种约束条件、手工排程无法找到的、优化的排产方案。其实关键就是‘可行’和‘优化’这两个概念。这个说起来很简单的功能意义十分重大,主要体现在它可以给传统ERP带来以下几个关键的变化:
1) 对企业来说,在不增加生产资源的情况下,通过最大限度发挥当前资源能力的方式实现了提高企业生产能力的目标。
2)APS排程的结果给出了精确的物料使用和产出的时间、品种、数量信息,用这些信息可以把很多相关企业或者分厂、车间联合在一起组成一个‘SCM供应链’系统,最大限度减少每个企业的库存量。
3)APS可以用来做为生产决策的依据,它的排程计算结果不光可以作为生产计划,还可以通过不断what if的‘试算’的方式为企业提供生产决策依据。
4) 根据自动生成的作业计划还可以自动生成质检、成本、库存、采购、设备维护、销售、运输等计划。带动企业各个不同管理模块围绕生产运转,改进这些模块的运转方式,大大提高这些模块的运转效率,提升企业整体管理水平。
但是,APS系统的开发难度很大,需要融合最前沿数学理论和非常先进管理理论,专业人才很少,投资见效很慢,在国外的价格非常昂贵。即使是世界性大ERP公司也很少独立投入力量研发,都是采购外插件直接引入相应功能。国内对这方面的研究除了个别公司外,基本停留在大学院校的实验室中。
再进一步,如果已经解决了优化排程问题,那么对APS来说有什么技术瓶颈呢?
APS第一个最大的技术瓶颈就是它的运算时间问题。因为企业生产过程中经常会有一些突发事件,相当于临时改变了排产的初始条件,需要APS进行动态处理。APS系统能按照旧的条件制定计划也肯定能按照新的条件制定新计划。但是,它的计算时间是不是能赶上变化的时间,这是一个关键。如果APS按照新条件重排计划的时间是10分钟,它大概只能处理30分钟以上的临时变动,而无法处理30分钟以下的临时变动。动态处理对计算时间的要求引发算法的不断优化,以及发展并行计算技术,这也是国外APS系统的主要技术发展方向。
APS的第二个技术瓶颈就是如何不断提升次优解的优化程度。如果不能得到优秀的解决方案,那么需要找到一个尽可能接近最优的次优解。不同APS软件的算法不同,次优解的优化程度也不同,直接体现了其核心技术的水平高低。所以拿不同APS软件对相同问题进行处理,对比他们解答的优化程度和计算时间,很容易比出高下。不断接近最优,这将是APS类软件始终不变的追求。
ERP与APS的结合是ERP未来发展的必然方向。与当前简单的BOM-MRP运算和进销存财务功能相比,APS占据了ERP的核心功能,有极深的技术含量,更是未来SCM系统的基础功能。拥有这种核心技术的ERP公司必然在市场竞争中占有极大优势。目前国外企业早已经是磨刀霍霍,未来数年内,美国、德国、日本、台湾软件公司开发的结合了APS核心功能的ERP软件就有可能以低廉价格进入国内市场,那时国内ERP软件公司将难有还手之力。
由于生产排程技术瓶颈的存在,中国ERP软件行业已经远远落后,除了唯一一家专业开发APS系统的XXXX公司以外,绝大多数企业目前仍然停留在对BOM的低层次的完善和对进销存财务模块低水平重复开发上。由于一直拿不出足够的技术储备向瓶颈发起冲击,因此不重视基础技术储备的工作,甚至对目前状况视而不见;由于不重视基础技术的储备,所以更加无法解决瓶颈问题。目前这个恶性循环还在继续之中。从***向台湾汉康大价钱买技术的挫折,以及***引入鼎新生产模块的尴尬合作,国内ERP企业对此的无奈状态可见一斑。