APS中生产计划排程的基本原理
姜铁虎 2002-9-30
投稿
供应链管理(SCM)涉及企业间的集成以及在产销网络中协调物流和信息流的各个方面。作为企业信息中枢的ERP系统,现在已经在许多企业中用于作业处理和定单执行。高级计划系统(APS,AdvancedPlanningSystems)作为ERP的补充,用于协调物流、开发瓶颈资源和保证交货日期。APS应用各种优化技术,并根据企业的商业目标来改进计划。APS包括需求和供应计划、运输和生产计划排程等各种供应链计划模块,本文主要介绍(ProductionPlanningandScheduling)模块的基本原理[1]。
决策状况描述
生产计划排程的目的是为车间生成一个详细的短期生产计划。排产计划(Productionschedule)指明了计划范围内的每一个定单在所需资源上的加工开始时间和结束时间,也即指出了在给定资源上定单的加工工序。排产计划可以通过直观的甘特图(Ganttchart)形式给出。
排产计划的计划间隔可以从一天到几周,取决于具体的工业生产部门。合理的计划长度取决于几个因素:一方面,它至少应当涵盖与一个定单在生产单元中最大的流动时间(flowtime)相对应的时间间隔;另一方面,计划间隔受到已知顾客定单或可靠需求预测的可用性限制。很显然,只有当排产计划适度稳定时,在一个资源上进行定单排程才是有用的。也就是说,它们不应受不期望事件经常变化的影响(如定单数量改变或中断)。
对某些生产类型(如jobshop),生产计划排程需要对(潜在)瓶颈资源上的任务定单进行排序和计划;而对另一些生产类型(如成组技术),生产计划排程要能自动地、按时段检查资源组的能力,看其是否能够在下一个时间段内完成成组加工的一组定单。然后,可以手工排序这组定单在下一个时间段内的加工次序。
排产计划任务能够而且也应当分散来做,这样可以利用每个地点人们的专业知识和车间当前状况的知识(例如人员的可用性)。
生产计划排程受到上层主生产计划的约束,主生产计划设立了在分散的决策单位中执行生产计划排程的框架。从主计划中可获得的相应指导包括:使用超时或加班的数量;在不同时间点上来自供应链上游设施物料项的可用性;涉及来自供应商输入物料的采购协议。此外,由于主生产计划在供应链上有更宽的视点和更长的计划区间,从中我们还可以得到: 计划结束时需要建立的各物料项的季节性库存量;
交付给供应链下游设施的定单截止日期(下游设施可以是紧接着的下一级生产单位,分销商或最终顾客)。
排产计划生成
由车间模型生成排产计划的一般程序可简单地描述为下面6个步骤(如图1所示)。 1、建模
车间模型必须详细地捕捉生产流程的特征和相应的物流,以便以最小的成本生成可行的计划。
APS中生产计划排程
由于一个系统的产出率只受潜在瓶颈资源的限制,因此,我们只需对车间现有全部资源的一部分–也即那些可能成为瓶颈的资源,建立一个清晰的模型。关于建模方法的细节我们将在后面进一步阐述。
2、提取需要的数据
生产计划排程使用的数据来自ERP系统、主生产计划和需求计划。生产计划排程仅利用这些模块中可用数据的一个子集,因此,在建立一个给定生产单元的模型时,必须指明它实际需要哪些数据。
3、生成一组假定(生产状况)
除了从ERP系统、主生产计划和需求计划这些数据源中接收的数据之外,车间或生产单位的决策者或许对车间当前或未来的状况会有更进一步的知识或期望,这些信息在其它地方(如软件模块中)是不能得到的。再者,对车间的可用能力或许也可以有多种选择(如柔性的倒班安排等)。因此,决策人员必须有能力修改数据和建立某种生产状况(见图1中的第三步,点划线框表示这一步必须由决策人员执行,并且是可选的)。
4、生成一个(初始)排产计划
在有了模型和数据之后,就可以针对给定的生产状况,利用线性规划、启发式算法和基因算法等各种复杂的优化方法来生成排产计划。这项工作可以一步完成,也可以通过两级计划层次(先综合的生产计划,后详细的排产计划)完成。
5、排产计划分析和交互修改
如果通过两级计划层次完成,也即先生成综合资源的上层生产计划。那么,在生成一个详细的排产计划之前,人们或许首先要对这个生产计划进行分析。特别地,如果生产计划不可行,决策人员可以交互地指定一些计划途径来平衡生产能力(如增加班时或指定不同的加工路径)。这或许要比修改在单个资源上的加工工序(下层排产计划)更加容易。
APS采用了例外管理(Management Byexception)的技术,如果出现问题和不可行性(如超过定单交货期或资源过载),APS就会发出警告(alerts)。这些警告首先被“过滤”,然后,正确的警告被传递到供应链中正确的组织单位。
此外,针对一种生产状况产生的排产方案还可以通过结合决策者的经验和知识交互地改进。当然,为了提供真正的决策支持,必要的修改次数应当受到限制。
6、生产状况核准
当决策人员确定已经评估了所有可选方案时,他/她将选择那个体现最佳生产状况的排产计划去执行。
7、执行和更新排产计划
决策人员选定的排产计划将被传递给:MRP模块(分解计划)、ERP系统(执行计划)和运输计划模块(在顾客定单完成时安排装运车辆)。
MRP模块把在瓶颈资源上计划的所有活动分解成在非瓶颈资源上生产的那些物料或由供应商交付的物料;此外,对某些加工定单所必需的物料也将被预定。
排产计划将持续执行到某个事件信号发生时才进行更新,也即直到修改一个排产计划看来是可取的时候(见图1中的LoopII)。这个事件可以是一个新定单的到来、机器故障或冻结的计划部分已执行完毕(后面我们还将对排产计划的更新作详细讨论)。
改变车间生产模型的情况不太经常(如图1中的LoopI)。如果结构保持不变和只是数量上受到影
响(例如一个机床组中的机床数或某些已知产品的新变种),那么,通过下载ERP系统中的数据,APS能自动更新模型。但当变化很大时(例如具有某些新特征的新生产阶段的引入),那么,由专家对模型进行手动调整则是可取的。
下面我们将对车间生产流程模型的建模方法作更详细的阐述。
图1、排产计划的一般步骤 生产流程建模
车间模型必须结合所有必要的生产流程细节来决定顾客定单的完成时间,模型需要的输入来自有关的物料和潜在的瓶颈资源。排产计划中每一步的时间间隔通常很小(如几个小时),有时甚至可以是连续的。 1、模型
我们可以把建模的范围限制在(潜在)瓶颈上执行的运作,因为只有这些资源限制了车间的产出。由于生产计划排程并不打算控制车间(这个任务留给了ERP系统),一些车间的细节(如监视定单当前状况的控制点)可以被忽略。
在模型的两个连续活动之间,在非瓶颈资源上执行的所有流程步骤都只被表达为固定的提前期差度(fixedleadtimeoffset)。这种处理方法与众所周知的“高级计划给出提前期只是作为计划的结果而不是一个事先给定的常数”这一叙述并没有矛盾。在这里,提前期差度仅包括前述非瓶颈资源上的加工和运输时间,因为等待时间不会存在。
模型可以通过关联的数据来定义,这些数据可分为结构数据(structuraldata)和状况相关数据(situationdependentdata)。
结构数据包括:生产地点,工件,物料单,工艺路径和相关的操作指令,(生产)资源,供应商