APS与传统的企业资源计划(ERP)不同,它试图在直接考虑潜在瓶颈的同时,找到跨越整个供应链的可行最优(或近似最优)计划
一、前言
近年来,许多企业开始把注意力放在自己的核心竞争能力上,对一些非强项业务则尽可能外包给别的公司。结果,销售给顾客的产品或服务,其特征和质量在很大程度上取决于供应链上的所有相关企业。这便带来了新的挑战:如何实现供应链的集成?如何更有效地协调和控制企业间的物流、信息流和资金流?对于这些问题,需要有一个全新的管理理念和方法-供应链管理。SCM方法的研究和实施为企业带来了很大的经济效益,今天,许多企业都选择了供应链和物流管理作为获取新的竞争优势所必须采取的战略步骤。
在过去十年中,信息技术(如强大的数据库管理系统),通信手段(如通过INTERNET的电子数据交换),以及复杂数学模型的各种求解方法(如数学规划)的发展为计划和控制供应链流程开阔了新的视野。顾客订单、需求预测或市场趋势可以被分解成必要的活动,立刻送到供应链各组织当中,并通过高级计划系统(APS)生成准确的生产计划和程序来保证按时完成订单。APS与传统的企业资源计划(ERP)不同,它试图在直接考虑潜在瓶颈的同时,找到跨越整个供应链的可行最优(或近似最优)计划。
本文通过对层次计划(HIERARCHICAL PLANNING)和供应链计划任务的阐述,介绍了高级计划系统(APS)。
二、什么是计划?
为什么要计划?整个供应链中每分钟都有成百上千个决策需要制定和协调,这些决策的重要性不尽相同,既有相当简单的问题如“下一步各机床计划完成哪项工作?”,也有非常重要的决策如是否新开或关闭一家工厂。一个决策越重要,就越需要更好地准备,这种准备工作就是计划。计划通过识别将来的各种可行活动,选择其中好的甚至最好的来支持决策。计划过程可分为几个阶段:认识和分析决策问题;定义目标;预测未来状况;识别和评估可行活动;最后是选择最优方案。
供应链非常复杂,现实中要处理的每个细节并非都能(或应当)在计划中考虑,因此,有必要根据现实建立一个模型,以此作为制定计划的基础。建模的艺术就是要尽可能简单、尽需要详细地表现真实,也即简单而又不忽略现实中的重要约束。预测和仿真模型用于预测未来的状况,解释复杂系统输入和输出之间的关系,但它不支持从大量可行活动中根据标准来选择最优方案,这一工作通常由优化模型来完成,它与前者的差别在于增加了一个可用来求最大或最小的目标函数。 计划不是一成不变的,计划的有效期受到预定计划范围的限制。当达到计划范围时,需要重新制定一个新的计划来反映当前供应链的状况。根据计划范围的跨度和所做计划的重要性,计划任务通常可分为三个不同的计划层次:
长期计划:这一层次的决策也称为战略决策,它制定了未来企业/供应链开发所必要的框架,通常涉及供应链的设计和结构,对今后几年有长期影响。
中期计划:在战略决策的范围内,中期计划决定常规运作的框架,特别是决定了供应链中流程和资源的总的数量和时间,其计划范围从6个月到24个月,考虑了需求的季节性变化。
短期计划:最低计划层应当把所有活动明确为可供立刻执行和控制的详细指令,因此,短期计划模型要求高度的详细和准确。短期计划范围在几天到3个月之间,受到来自上层有关结构和数量范围决策的限制。对供应链的实际性能(如提前期,顾客服务,和其它策略问题)而言,短期计划是一个很重要的因素。
第 1 页 共 16 页
最简单的计划方法是查看所有可选活动,按给定的标准进行比较,然后选择最好的方案。不幸的是这一简单计划程序至少会遇到三个主要困难:
首先,计划活动中常常同时有几个标准,目标之间存在冲突,各方案之间的优先选择也不明确。例如,顾客服务水平应尽可能高,而与此同时又要保持库存最少,这种情况就没有最优解(也即不能同时使两个目标最优)。处理这种多目标决策问题的常用方法是设定一个目标在最小或最大的满意水平,然后优化另一个目标。在上面的例子中,人们可以在保证一个最低顾客服务水平的同时使库存最少。另一种处理多目标问题的有用方法是对所有目标按财务收入或成本定价,然后使结果的边际利润最大,但不是每个目标都能以财务价值的形式来表达(如顾客服务)。还有一个更常用的方法是给每个目标定义一个系数值,然后加权求和,这种方法的缺陷是有可能产生伪最优解,因为它在很大程度上取决于任意的权值。供应链高级计划系统(APS)从原理上支持上面各种多目标寻优方法。
其次,供应链计划的可行方案数量巨大。例如,对连续决策变量(如订单大小或工作的开始时间),可选方案的数量实际上是无限的。对离散变量也是如此,如几个工作在机床上的加工顺序,可选的数量是一个组合大数。在这些例子中想通过简单枚举来找到最优方案是不可能的,甚至要找到一个可行的方案都很困难。在这种情况下,可应用运筹学(OPERATIONS RESEARCH)的数学方法来支持计划流程。线性规划或网络流算法能找到精确的最优解,然而,大多数组合问题只能通过启发式算法(HEURISTICS)来计算近似最优解(局部最优),这些方法的成功也取决于问题的建模方法。
第三,最难的恐怕还是处理不确定性。计划通过分析与未来状况相关的数据来安排将来的活动,这些数据通过预测模型估计得到,或多或少存在预测误差。这种误差降低了产品的可用性(AVAILABILITY),因而也降低了企业提供的顾客服务水平。为了改进服务,安全库存被用来缓冲实际需求与预测之间的误差。当然,安全库存并非处理需求不确定性的唯一方法。 需求的不确定性使计划与现实之间存在偏差,因此必须进行控制,如果偏差过大,计划就要重新修改。“滑动范围窗”(ROLLING HORIZON BASIS)的计划方法就是这种计划-控制-修改的交互实施。计划范围(如1年)被分成若干时间段(如12个月),计划在1月份开始时制定,涵盖12个月,但只在第一个时段(1月份,称为冻结时段)计划才真正被付诸实施。新的计划在第二个时段(2月份)开始时重新制定,新计划考虑了第一个时段中的实际变化,并更新未来时段的预测。新计划的范围与原先的计划重叠,但延伸了一个时段(从2月份到第二年的1月份),如此类推。在传统计划系统和APS中,这种方法是处理运作计划中不确定性的常用方法。图1给出了这种不断滑动计划范围的计划方法。
另一种更有效地更新计划的方法是面向事件的计划(EVENT-ORIENTED PLANNING)。新计划不是在正常间隔,而是在出现重要事件时制定,例如意外销售,顾客订单变化,机器故障等等。这种方法要求计划需要的所有数据(如存货,工作进程等)被连续更新,以便在事件发生的任何时刻都有数据可用。这种方法的一个例子就是APS,它利用来自ERP系统的数据,根据事件来更新计划。APS有下面三个主要特点:
它是整个供应链的综合计划,从企业(甚或更广泛的企业网络)的供应商到企业的顾客;它是真正优化的计划,
第 2 页 共 16 页
定义了各种计划问题的选择、目标和约束,使用精确的或启发式的优化算法;它是一个层次计划系统,结合了上面两个特点:供应链最优计划既不能靠同时执行所有计划任务的单一系统形式获得(根本不切实际),也不可能靠依次执行各种计划任务取得(达不到最优)。层次计划折衷考虑了实用性和计划任务之间的独立性。 值得注意的是,ERP系统中的传统物料需求计划(MRP)在概念上没有上面这些特点:MRP只限于生产和采购领域,不做优化,在大多数情况下甚至不考虑目标函数,它是一个运作层面的连续计划系统。
层次计划的主要思想是把总的计划任务分解成许多计划模块(即局部计划),然后分配给不同的计划层,每一层都涵盖整个供应链,但层与层之间的任务不同。在最顶层只有一个模块,是企业范围的、长期的、但却是粗略综合的发展规划。层次越低,计划涵盖的供应链局部受到的限制越多,计划时间范围越短,计划也越详细。在层次计划系统的同一计划层中,供应链各局部计划之间通过上一层的综合计划来协调。图2给出了计划任务的层次结构框图。
在层次计划中向下(向上)分解(综合)数据和结果,可以取得计划详细程度的增加(减少)。综合主要涉及:产品(组合成批),资源(组合成产能组),和时间(把分段时间组合成更长的时间段)。各计划模块被水平和垂直信息流连接在一起,上层计划模块的结果为下属计划设定了约束,而下层计划也将有关性能的信息(如成本,提前期,使用率)反馈给更高的层次。层次计划系统(HPS)的设计需要仔细定义模块结构,模块计划任务的分配,和模块间信息流的详细说明。HPS通常采用滑动范围的计划方法,在不同层次上计划间隔和范围的复杂协调方法可参阅文献[2]。面向事件的计划简化了HPS的使用,使它更加灵活,但前提条件是有一个通信系统能对有关的计划层和任务模块发出“事件”报告,此外,一个计划任务的结果也应能对其它计划任务发出事件报告。
APS有三个主要优点:信息可视化,减少计划时间,和允许方便地应用优化方法。正因为如此,许多计划人员或许会担心自己的工作会被计算机所代替。然而,模型只是现实的近似,人们的知识,经验和技能仍然需要来弥合模型和现实之间的差距。计划系统无论多么高级也只是支持人们制定决策的决策支持系统。在面向事件的计划中,通常要由计划人员来决定是否需要修改计划,此外,每一个计划模块也需要由人来负责它的功能、数据和结果。
三、供应链计划任务
整个供应链网络由网络中每个伙伴的内部供应链组成,内部供应链包括四个主要的供应链流程,其计划任务不尽相同。采购流程包括所有为生产提供必要资源(如物料和人力等)的子流程,资源的有限能力是生产流程的输入,生产流程也由许多子流程组成。分销流程弥合了生产地点和顾客(零售商或其它进一步处理产品的企业)之间的距离,销售流程确定顾客需求和订单数量,驱动其它三个流程。
供应链计划矩阵(SCP-MATRIX)根据计划范围长短和供应链流程对计划任务进行分类(如图3所示),图3给出了大多数供应链类型中常见的计划任务,任务的内容随各行业不同而不同。图中长期任务只用一个长方框,体现了战略计划内容广泛综合的特点,其他方框是矩阵输入,表示不同的流程计划任务。SCP-MATRIX可供APS
第 3 页 共 16 页
开发商用来定位他们的软件模块,以便涵盖矩阵中所有的供应链计划任务。
在图3的层次计划系统中,各计划模块之间通过信息流协调和集成,可分为水平信息流和垂直信息流: 水平信息流:从供应链下游向上传递,包括顾客订单,销售预测,仓库补货订单,各部门之间的内部生产订单,和给供应商的采购订单,整个供应链受顾客需求驱动。计划模块之间(不仅限于相邻模块)更多信息的双向交换能够大大改进供应链性能(如“长鞭效应”),这些信息主要包括实际库存,可用能力,提前期和销售点数据。
垂直信息流:从上层向下流动,通过高层计划的结果协调下层的从属计划,主要信息包括分配给生产车间、部门或流程的综合数据,而协调则通过能力分配和设定交付日期来取得。从下层向上流动,提供上层有关供应链性能更详细的数据,如实际成本,生产率和设备使用率,提前期等等,这些信息在上层计划中用来预测下层更详细的流程结果。
四、APS实例:i2 RHYTHM
位于德州达拉斯的i2 Techonolgy公司通过它的RHYTHM软件包提供各种APS软件模块。i2成立于1988年,它的第一个软件产品是Factory Planner,最初在金属工业中取得很大成功,目前i2为汽车、消费品和高科技工业提供各种优化B2B流程的软件模块。最近,i2推出一套新的解决方案TradeMatrix,提供公共和私营电子市场所必须的软件和服务。i2在2000年与Aspect Development公司合并,并与IBM和Ariba结成了伙伴关系。根据供应链计划矩阵给出了i2 RHYTHM的部分APS模块,不同模块之间通过RhythmLink协调和集成,物料需求计划的任务则由其它ERP系统完成。
Supply Chain Strategist(供应链战略):支持整个供应链上的\"what-if\"战略分析,决定生产地点、分销中心和其它设施的最优组合和定位,根据不同方案建立有关成本和约束的物流模型。
Demand Planner(需求计划): 提供各种统计方法,随机因素的包含,以及不同组织单位的多输入管理。提供POS(销售点)数据集成并能以不同方式查看需求信息。此外,OLAP(在线分析处理)工具能有效存取有关数据,PRO(产品关系对象)模块支持相关预测的生成。相关预测是指通过对产品组的预测来导出单个产品的预测。
第 4 页 共 16 页
Supply Chain Planner(供应链计划): 根据物料、能力、运输和顾客服务的约束建模和优化供应链。SDP(策略驱动计划)模块允许计划人员定义问题类型和应用适当的算法(如线性规划、启发式推理和基因算法)进行优化。
Demand Fulfillment(需求满足):生成约束驱动计划,提供所有分销和生产地点的成品、半成品、原材料和资源能力在整个供应链范围的可视性。
Factory Planner(工厂计划):根据需要日期向后排产或当考虑物料和能力约束时从当前日期向前排产来生成最优生产计划。在生成无限能力计划之后,有限能力计划由i2的专利产品Constraint Anchored Optimization(约束优化模块)决定,不过计划人员也可以通过分析能力短缺和执行“what-if\"分析施加影响。
Optimal Scheduler(最优排产):建立基于基因算法的加工工序和排产计划。约束定义和优化算法的分开允许处理大量约束,这些约束包括车间能力,工作负荷平衡,物料可用性等等,此外,交互排产编辑器允许手动更改。
Transportation Modeler, Optimizer and Manager(运输建模、优化和管理):是支持分销计划流程的工具。运输建模帮助企业有效地利用它的运输网络,实际数据被用来做\"what-if\"分析。运输优化根据交付、设备和人力约束自动建立和发送货物,决定装货和交付时间,此外,它也考虑了成组约束和自动选择接驳(cross-docking)机会。最后,运输管理器执行和管理从订单到顾客服务和财务结算的整个运输流程活动。
为了使供应链伙伴之间能互相协作,i2还推出了TradeMatrix和Global Logistics Manager(全球物流管理)模块。TradeMatrix支持采购服务(如电子商务市场)、协作计划流程、谈判和其他B2B解决方案。全球物流管理模块是一个流程建模和监控系统,它提供多模式多企业物流运作的可视性,这一模块的功能包括:订单和库存的可见和跟踪,性能测量,失效报警和改进顾客服务。
供应链全局优化-高级计划排程系统(APS)
APS是应用启发式的方法和线性规划模型(LP)制定基于约束的供应链计划.因此APS的重点是基于约束理论对整个供应链系统进行优化.一个企业要实施APS至少应该MRP或MRPII实施的比较完善而且沉淀有2-3年的时间,ITEM/BOM等基础数据完备而且具备较高的数据准确性(90%以上).如果这些基本条件都无法达到,APS是很难实施成功的.
现在大型的ERP系统如Oracle和SAP等本身就有APS功能,单独的APS提供商中I2是比较专注做APS这块的,很多500强企业上APS时候基本也选择的I2的解决方案.过来的联想和华为也采用的I2的解决方案,I2有专门的ODS,实施的时候重点是要采用ETL工具对数据进行抽取和整合.联想用的SAP系统而华为用的Oracle ERP,可见I2本身对大型ERP系统的集成是比较好的.
第 5 页 共 16 页
上APS的目的就是要进行供应链的优化,我们谈集成供应链就是要从系统的角度出发,从整个供应链过程去寻找最优化方案而不是单纯的去追求某一点上业务流程的最优化.对于一个两个月后要交付的订单,以下是常见问题 1.按正常途径能否履行承诺(ATP)
2.如果延误其它订单是否可以满足承诺(需求优先级) 3.是否使用替代物料增加采购成本可以满足承诺?(替代) 4.增加设备,增加工人加班或替代工艺路线是否可满足承诺? 4.全球化时候客户订单应该选择在哪个工厂生产是最优的 5.需求和供应间能否进行有效的追踪?(MRP运算逻辑) 6.能否用历史的产品销售数据来指导后期预测?(预测模型) 7.设备的产能和现有资源能否很好满足订单履行(CP) 8.订单数量太大供应商产能能否满足?
APS重点就是通过模型运算得出参考数据,给出多种可选方案协助你进行各种决策.在MRP分解这一块,传统的MRP逐层分解并按时间点进行归并,再进行库存冲减和能力的检查.而APS计划逻辑强调了在分解过程中需求和供应的匹配,可以在后期较好的实现销售合同和采购订单间的全程可追踪性.对于MRPII考虑了能力和资源约束,但是在排产过程中只考虑关键工序的能力,而APS在排产过程中可以考虑到需求的有先级,而不仅仅是考虑需求的时间先后顺序.
APS更多的可以说是一个决策支持系统.因此它不能完全取代ERP.所有的ITEM/BOM/工艺路线/工序/资源/供应商/客户等基础信息仍然需要从ERP系统中获取.APS通过ETL将这些数据抽取和同步到自己独立的数据库,然后基于相关的约束理论和线性模型进行运算(出于性能考虑,整个运算往往全部在内存数据库中进行,如I2),APS所采用的并不是单一的技术和算法,具体应用的算法视需要解决问题的类型而定。也就是说不同的供应链过程和环节可以使用不同的供应链优化技术。从采购到制造,到分销;优化技术已经被应用到整个计划过程。对于运算的结果经过人工稍微调整后得到的满意可以的计划就可以用来指导后期的采购和生产.
一个典型的APS计划系统应该具备的主要功能有: 1.同时考虑物料和工厂生产能力的约束
2.在计划中考虑供应链合作伙伴的能力,如关键供应商、外包商的生产能力等。 3.提供一个在计划流程中将业务规则、约束和目标一体化的模型; 4.基于业务目标进行最优化,提供多种不同优化逻辑算法的计划方法; 5.利用基于内存的计划方法,提供实时的计划、重计划和排程; 6.利用“What-if”分析进行模拟,支持实时的决策;
7.提供强大的、实时的订单可承诺能力,同时物料、生产能力、发运进行能力的检查 8.提供基于不同业务规则的车间排程,可以进行手工交互式的排程;
第 6 页 共 16 页
9.具有产生无约束的预测的功能,根据历史数据、定性和定量的数据(新产品、促销、产品战略等)来生成预测
高级计划系统(APS,AdvancedPlanningSystems)作为ERP的补充,用于协调物流、开发瓶颈资源和保证交货日期。APS应用各种优化技术,并根据企业的商业目标来改进计划。下文主要介绍APS中生产计划排程(ProductionPlanningandScheduling)基本原理。
被誉为供应链优化引擎,有称高级计划系统(Advanced Planning System),也有叫高级计划与排程(Advanced Planning and Scheduling)。定义不是最重要的。最重要的是对所有资源具有同步的,实时的,具有约束能力的,模拟能力,不论是物料,机器设备,人员,供应,客户需求,运输等影响计划因素。不论是长期的或短期的计划具有优化,对比,可执行性。其将要采用基于内存的计算结构,这种计算处理可以持续的进行计算。这就彻底改变了批处理的计算模式。可以并发考虑所有供应链约束。当每一次改变出现时,APS 就会同时检查能力约束, 原料约束,需求约束,运输约束,资金约束,这就保证了供应链计划在任何时候都有效。也将采用基因算法技术,它是一种搜索技术,它的目标是寻找最好的解决方案。这种搜索技术是一种优化组合,它以模仿生物进化过程为基础。基因算法的基本思想是进化就是选择了最优种类。基因算法将应用在APS 上,以获得―最优‖的解决方案。现在APS系统以将网络结构的APS主要是基于多层代理技术与制造内部的APS主要是基于模拟仿真结合起来,使得网络导向结构的APS解决制造同步化问题,模拟仿真APS的优化顺序器解决工厂的顺序冲突问题。这样,APS计划的编制与顺序的安排就可以提供给制造商解决全球的优先权和工厂本地的优化顺序问题,来满足制造业对客户响应越来越强烈的需求。
APS应包括哪那些内容?
1. 基于订单任务(Job-based)订单优先级计划 2. 基于事件(Event-based)资源利用率最大化计划 3. 基于资源(Resource-based,TOC)瓶颈约束计划 4. 基于物料约束的可行的计划 5. 基于历史,现在,未来的需求计划 6. 基于供应资源优化的分销配置计划 APS为制造业的四类制造模型提供解决方: 1. 流程式模型,APS主要是顺序优化问题。
2. 离散式模型,APS主要是解决多工序,多资源的优化调度问题。 3. 流程和离散的混合模型,APS同时解决顺序和调度的优化问题。
4. 项目管理模型,APS主要解决关键链(资源约束)和成本时间最小化问题。
APS考虑不同行业的解决方案。APS的主要着眼点是工序逻辑约束和资源能力约束,物料和工序流程紧密联结,各种优化规则,计算最早可能开始时间和最迟可能开始时间,物料可重分配和可替代,资源可
第 7 页 共 16 页
重分配和可替代,计划排程考虑柔性(缓冲),考虑成本约束,考虑非确定流程和统计概率论,考虑多种优化方案的比较分析。
一般APS软件都由5个主要的模块组成:需求计划、生产计划和排程、分销计划、运输计划,企业供应链分析等。
近年来,许多企业开始把注意力放在自己的核心竞争能力上,对一些非强项业务则尽可能外包给别的公司。结果,销售给顾客的产品或服务,其特征和质量在很大程度上取决于供应链上的所有相关企业。这便带来了新的挑战:如何实现供应链的集成?如何更有效地协调和控制企业间的物流、信息流和资金流?对于这些问题,需要有一个全新的管理理念和方法——供应链管理。SCM 方法的研究和实施为企业带来了很大的经济效益,今天,许多企业都选择了供应链和物流管理作为获取新的竞争优势所必须采取的战略步骤。 在过去十年中,信息技术(如强大的数据库管理系统),通信手段(如通过Internet的电子数据交换),以及复杂数学模型的各种求解方法(如数学规划)的发展为计划和控制供应链流程开阔了新的视野。顾客订单、需求预测或市场趋势可以被分解成必要的活动,立刻送到供应链各组织当中,并通过高级计划系统(APS)生成准确的生产计划和程序来保证按时完成订单。APS 与传统的企业资源计划(ERP)不同,它试图在直接考虑潜在瓶颈的同时,找到跨越整个供应链的可行最优(或近似最优)计划。 原理篇
高级计划系统(APS,AdvancedPlanningSystems)作为ERP的补充,用于协调物流、开发瓶颈资源和保证交货日期。APS应用各种优化技术,并根据企业的商业目标来改进计划。下文主要介绍APS中生产计划排程(ProductionPlanningandScheduling)基本原理。 决策状况描述
生产计划排程的目的是为车间生成一个详细的短期生产计划。排产计划(Productionschedule)指明了计划范围内的每一个定单在所需资源上的加工开始时间和结束时间,也即指出了在给定资源上定单的加工工序。排产计划可以通过直观的甘特图(Ganttchart)形式给出。
排产计划的计划间隔可以从一天到几周,取决于具体的工业生产部门。合理的计划长度取决于几个因素:一方面,它至少应当涵盖与一个定单在生产单元中最大的流动时间(flowtime)相对应的时间间隔;另一方面,计划间隔受到已知顾客定单或可靠需求预测的可用性限制。很显然,只有当排产计划适度稳定时,在一个资源上进行定单排程才是有用的。也就是说,它们不应受不期望事件经常变化的影响(如定单数量改变或中断)。
对某些生产类型(如jobshop),生产计划排程需要对(潜在)瓶颈资源上的任务定单进行排序和计划;而对另一些生产类型(如成组技术),生产计划排程要能自动地、按时段检查资源组的能力,看其是否能够在下一个时间段内完成成组加工的一组定单。然后,可以手工排序这组定单在下一个时间段内的加工次序。 排产计划任务能够而且也应当分散来做,这样可以利用每个地点人们的专业知识和车间当前状况的知识
第 8 页 共 16 页
(例如人员的可用性)。
生产计划排程受到上层主生产计划的约束,主生产计划设立了在分散的决策单位中执行生产计划排程的框架。从主计划中可获得的相应指导包括:使用超时或加班的数量;在不同时间点上来自供应链上游设施物料项的可用性;涉及来自供应商输入物料的采购协议。此外,由于主生产计划在供应链上有更宽的视点和更长的计划区间,从中我们还可以得到:
·计划结束时需要建立的各物料项的季节性库存量;
·交付给供应链下游设施的定单截止日期(下游设施可以是紧接着的下一级生产单位,分销商或最终顾客)。
排产计划生成
由车间模型生成排产计划的一般程序可简单地描述为下面6个步骤(如图1所示)。
图1 排产计划的一般步骤
1、建模
车间模型必须详细地捕捉生产流程的特征和相应的物流,以便以最小的成本生成可行的计划。 由于一个系统的产出率只受潜在瓶颈资源的限制,因此,我们只需对车间现有全部资源的一部分–也即那些可能成为瓶颈的资源,建立一个清晰的模型。关于建模方法的细节我们将在后面进一步阐述。 2、提取需要的数据
生产计划排程使用的数据来自ERP系统、主生产计划和需求计划。生产计划排程仅利用这些模块中可用数据的一个子集,因此,在建立一个给定生产单元的模型时,必须指明它实际需要哪些数据。
第 9 页 共 16 页
3、生成一组假定(生产状况)
除了从ERP系统、主生产计划和需求计划这些数据源中接收的数据之外,车间或生产单位的决策者或许对车间当前或未来的状况会有更进一步的知识或期望,这些信息在其它地方(如软件模块中)是不能得到的。再者,对车间的可用能力或许也可以有多种选择(如柔性的倒班安排等)。因此,决策人员必须有能力修改数据和建立某种生产状况(见图1中的第三步,点划线框表示这一步必须由决策人员执行,并且是可选的)。
4、生成一个(初始)排产计划
在有了模型和数据之后,就可以针对给定的生产状况,利用线性规划、启发式算法和基因算法等各种复杂的优化方法来生成排产计划。这项工作可以一步完成,也可以通过两级计划层次(先综合的生产计划,后详细的排产计划)完成。 5、排产计划分析和交互修改
如果通过两级计划层次完成,也即先生成综合资源的上层生产计划。那么,在生成一个详细的排产计划之前,人们或许首先要对这个生产计划进行分析。特别地,如果生产计划不可行,决策人员可以交互地指定一些计划途径来平衡生产能力(如增加班时或指定不同的加工路径)。这或许要比修改在单个资源上的加工工序(下层排产计划)更加容易。
APS采用了例外管理(Management Byexception)的技术,如果出现问题和不可行性(如超过定单交货期或资源过载),APS就会发出警告(alerts)。这些警告首先被―过滤‖,然后,正确的警告被传递到供应链中正确的组织单位。
此外,针对一种生产状况产生的排产方案还可以通过结合决策者的经验和知识交互地改进。当然,为了提供真正的决策支持,必要的修改次数应当受到限制。 6、生产状况核准
当决策人员确定已经评估了所有可选方案时,他/她将选择那个体现最佳生产状况的排产计划去执行。 7、执行和更新排产计划
决策人员选定的排产计划将被传递给:MRP模块(分解计划)、ERP系统(执行计划)和运输计划模块(在顾客定单完成时安排装运车辆)。
MRP模块把在瓶颈资源上计划的所有活动分解成在非瓶颈资源上生产的那些物料或由供应商交付的物料;此外,对某些加工定单所必需的物料也将被预定。
排产计划将持续执行到某个事件信号发生时才进行更新,也即直到修改一个排产计划看来是可取的时候(见图1中的LoopII)。这个事件可以是一个新定单的到来、机器故障或冻结的计划部分已执行完毕(后面我们还将对排产计划的更新作详细讨论)。
改变车间生产模型的情况不太经常(如图1中的LoopI)。如果结构保持不变和只是数量上受到影响(例
第 10 页 共 16 页
如一个机床组中的机床数或某些已知产品的新变种),那么,通过下载ERP系统中的数据,APS能自动更新模型。但当变化很大时(例如具有某些新特征的新生产阶段的引入),那么,由专家对模型进行手动调整则是可取的。
下面我们将对车间生产流程模型的建模方法作更详细的阐述: 生产流程建模
车间模型必须结合所有必要的生产流程细节来决定顾客定单的完成时间,模型需要的输入来自有关的物料和潜在的瓶颈资源。排产计划中每一步的时间间隔通常很小(如几个小时),有时甚至可以是连续的。 1、模型
我们可以把建模的范围限制在(潜在)瓶颈上执行的运作,因为只有这些资源限制了车间的产出。由于生产计划排程并不打算控制车间(这个任务留给了ERP系统),一些车间的细节(如监视定单当前状况的控制点)可以被忽略。
在模型的两个连续活动之间,在非瓶颈资源上执行的所有流程步骤都只被表达为固定的提前期差度(fixedleadtimeoffset)。这种处理方法与众所周知的―高级计划给出提前期只是作为计划的结果而不是一个事先给定的常数‖这一叙述并没有矛盾。在这里,提前期差度仅包括前述非瓶颈资源上的加工和运输时间,因为等待时间不会存在。
模型可以通过关联的数据来定义,这些数据可分为结构数据(structuraldata)和状况相关数据(situationdependentdata)。
结构数据包括:生产地点,工件,物料单,工艺路径和相关的操作指令,(生产)资源,供应商清单,准备时间矩阵,和时间表(工厂日历)。
对车间分布在不同地方的一个大型供应链,把所有数据归集到一个专门地点或许会有好处。这样的话,一个零件就可以通过它的生产地点来识别,尽管它在顾客眼中是一样的。
物料清单通常是基于单层描述(存放在一个物料文件中),也即每一个零件号只连接到它下一层物料的那些零件号。一个给定零件的完整物料清单很容易在计算机上通过连接这些单层表达来构造。
每个工件的资源消耗可以从工艺路径和操作说明中得到。每个定单的工件数以及每个工件的资源消耗是计算单个定单顺序和排程所必须的。因此,可以用生产流程模型(PPM,ProductionProcessModel)来清晰地表达物料加工路径和生产操作。
图2给出了一个PPM的例子,它描述了一个特定尺寸和商标的瓶装蕃茄酱的两级生产流程。第一个PPM表达液体蕃茄酱的生产,包括清洗搅拌池,搅拌配料,和等待装瓶。一旦蕃茄酱准备好了,它将在24小时内被装瓶。蕃茄酱可同时用于不同尺寸的瓶子,每一种尺寸都将对应一个PPM。
第 11 页 共 16 页
图2 两级蕃茄酱生产流程模型(PPM)
一个PPM至少由一个运作(operation)组成,而每个运作包含一个或几个活动(activities)。一个运作总是与一个基本资源相关(如搅拌池)。二级资源–比如人员–也可归属于一个活动。活动或许要求一些输入物料并能产生一些物料作为输出。当然,我们必须指明什么时候需要输入物料和什么时候输出物料可用。在一个运作中,活动的技术顺序(也称为优先关系)可以用箭头线表示,就如同在项目计划活动中一样,可以用结束开始,结束结束,开始结束,开始开始关系和最大最小时间距离来连接。这就允许非常准确地建立包括平行执行活动(重叠的活动)在内的两个生产活动之间的时间约束模型。
一个顾客定单的计时、资源和物料需求可以通过有向标界线(peggingarcs)连接相关的PPMs导出(见图3中的粗体线和虚线)。有向标界线把一个PPM的输出物料(节点)与后一级PPM的输入物料(节点)连在一起。结果,从最后一级生产流程开始展开一个定单(如图3中的定单C505X)和相应的PPMs,就可以在各时间窗中生成关于资源和物料消耗的信息。这些时间窗可直接用于成生可行排产计划。
第 12 页 共 16 页
图3 标界线:连接两个生产流程模型(PPMs)
工厂日历指明了休息日和其它资源工时的中断,另外还包括车间(或资源)是否以一班,两班或三班运作的信息。高级计划系统(APS)通常提供几个典型日历可供选择。
状况相关数据随车间当前的状况而变,它包括:初始库存(含在制品库存)、资源的准备状态、和给定时间间隔内要加工的一组定单。由用户指定的运作规则数据包括:批量规则,优先规则和加工路径选择。 尽管建立批量规则最好是根据实际生产情况–例如资源的利用和相关成本的情况,但APS通常要求事先输入一些简单规则。这些规则可以是固定批量、最小批量或给定定单间隔时间的批量。APS软件包或是提供一组规则可供选取,或是以高级编程语言的形式来编写它。在某个资源上决定定单优先次序的规则以类似的方式处理。
如果执行一个生产定单存在可选路径,那么人们会期望APS在生成排产计划的过程中选择最佳路径。但经验表明,用户得自己选择一个适当的路径。有时可选路径是作为一个优先列表输入,只有当一个宁愿的路径导致不可行计划,求解器才会去试第二个最佳路径,然后试第三个最佳,等等。 2、目标
最后还要指定一个优化目标。这些目标指导寻找一个好的、期望能接近最优的计划方案。在生产计划排程模块中选择优化目标时,我们看到主要有下面一些面向时间的目标:
Makespan,完成所有定单任务所需要的时间。使makespan最小是多机床任务排序问题中常见的优化目标。
Lateness,定单任务完成时间和它的到期时间之差。使所有定单的lateness总和最小,或使单个定单中最大的lateness最小,是常见的排程目标。
第 13 页 共 16 页
Flowtime,一个定单任务在生产系统中花费的时间。使所有定单的flowtime总和最小也是一个优化目标。 Setuptime,每个定单任务的生产准备时间。使所有定单的setuptime总和最小也可以作为一个优化目标。 另外,还有三个与成本相关的目标,分别是:使可变生产成本总和最小;使生产准备成本总和最小;和使惩罚成本总和最小。
尽管在排产这个计划层对成本的自由度影响很有限,但我们可以看到,对于不同加工路径的选择(例如,是安排标准定单或是紧急定单),也还是要以货币的术语来评估。
如果需要对―软约束‖建模(例如,为备货生产定单履行计划的交货时间),我们可以把惩罚成本包含在目标函数中。惩罚成本也称为缺货成本,它是当需求出现时没有足够的现货来满足需求所招致的成本。 如果决策人员想要同时追求上面几个优化目标,使每个目标都达到最优,这样―理想‖的解答通常是不存在的。那么,只好寻求一个妥协方案。一种方法是建立上面单个目标的加权和,这个组合目标函数可以象单目标函数一样对待,因此,可以应用同样的求解方法。 3、解的表达
表达一个模型的解也即详细的排产计划,有几种选择。它可以简单地表达为一个任务清单,上面列出了每个任务在分配给它的资源上的起始和完成时间。要把排产计划传送到其它模块中,这是最恰当的表达方式。
决策人员通常更喜欢排产计划以甘特图表达(如图4所示),用甘特图可以在一定的时间间隔上平行地显示所有资源。人们既可以专注于一个指定顾客定单和它在相应生产阶段的排程,也可以把注意力集中在单个资源及其在时间上的排程。
图4 在一台机床上具有到期时间和相关准备
如果决策人员允许交互地改变排产计划,例如把一个运作交互地移到另一个资源,那么以平行方式显示所有资源的甘特图是最好的表达。
下面我们再来看看更新一个现有排产计划的一些选择: 排产计划更新
生产计划排程假定所有数据是确定已知的,也即决策状况是确定的。尽管这是一个理想的假设,但对一些时间段还是可以进行调整。为了处理不确定性(例如非计划的生产率变化或未预料的资源停工),软件工具允许监控人们假定发生在车间的变化,并生成一个更新了的期望的定单完成时间。这些变化是否大到需要重新优化排程将基于决策者的判断。在一个计划实际交付车间实施之前,可以通过提供大量的可选状
第 14 页 共 16 页
况的生成和测试能力来帮助决策者的判断。这种方法也称为仿真,目前的APS软件工具都提供仿真手段(见图1的第3到第5步)。
在这里要提到的另一个特征是两步计划方法,也称为增量式计划。假定有一个新的定单到来。如果它落在生产计划排程的计划范围内,这个新顾客定单的活动可以插入到它所需资源上已排序好的定单中。在现行排产计划中寻找时间空隙,以便新定单的排程只须做微小的调整。如果能维持排产计划的可行性,那么就能导出新定单的一个计划交货期,并送回给顾客。
由于上面这一基本排程可以通过不同的定单顺序来改进,所以重新优化经常会被考虑,以便通过新的排序来减少成本。
下面我们就来举例说明。假定有4个定单需要在某个机床上排程,表1给出了定单交货时间,优化的目标是使顺序相关的生产准备时间总和最小。如果实际开始时间在100(时间单位),所有定单的加工时间相同(1个时间单位),顺序相关的准备时间是0,1/3,2/3或1个时间单位(表2给出了准备时间矩阵)。那么,最优的排程显然是ABCD(如图5所示)。
表1 数据:到期时间
表2 数据:生产准备时间矩阵
图5 生成新顾客定单E的到期时间
第 15 页 共 16 页
在开始加工定单A之后,我们被要求检查是否能够接收一个交货时间为107的新定单E。假定不允许因为一个新(紧急)定单而中断一个已经开始执行的定单,那么我们可以检查在完成定单A,B,C或D之后,把工作E直接插入现行排程。由于在定单A和E这个子顺序之间存在一个正的准备时间,插在A之后会违反定单B的交货期,因此是不可行的。依理可以找到三个可行排程,其中可选方案c)具有最小的准备时间总和。因此,交货期为107的新定单E可以被接受(假定定单E值一个时间单位的附加生产准备时间)。 当重新执行排程优化时,我们可以得到一个新的包括定单E的可行排产方案,它减少了1/3的生产准备时间(如图6所示)。
图6 重新优化后的排程
生成一个新的定单排程是费时的,并且通常会导致一些紧张(nervousness)。这些紧张是因为与先前的实际计划相比改变了定单开始的时间和生产的数量。紧张可能导致车间的额外工作,例如某些输入物料或许要更早交付,而这又要与供应商一起检查。为了减少紧张,通常可以把在一个资源上接下来的几个定单固定,也即它们的加工顺序是固定的而不作为重新优化的一部分。开始时间落在一个给定时间段(称为冻结范围)的所有定单都将被固定。
第 16 页 共 16 页
因篇幅问题不能全部显示,请点此查看更多更全内容