完整版Asprova排程算法及数据模型.docx

上传人:b****2 文档编号:12911379 上传时间:2023-04-22 格式:DOCX 页数:18 大小:120.47KB
下载 相关 举报
完整版Asprova排程算法及数据模型.docx_第1页
第1页 / 共18页
完整版Asprova排程算法及数据模型.docx_第2页
第2页 / 共18页
完整版Asprova排程算法及数据模型.docx_第3页
第3页 / 共18页
完整版Asprova排程算法及数据模型.docx_第4页
第4页 / 共18页
完整版Asprova排程算法及数据模型.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

完整版Asprova排程算法及数据模型.docx

《完整版Asprova排程算法及数据模型.docx》由会员分享,可在线阅读,更多相关《完整版Asprova排程算法及数据模型.docx(18页珍藏版)》请在冰豆网上搜索。

完整版Asprova排程算法及数据模型.docx

完整版Asprova排程算法及数据模型

XX基本概念

XX要了解xAsprova,就必须先理解高级排程系统涉及的一些基本概念,下面就介绍一下cAsprova系统涉及到的概念。

1、 x排程:

s排程(scheduling)系对未来欲完成的工作给予设定时间,即是对资源分配的一种执行方式,它将产能规划与整体生产计划的结果(包括设备,人力与空间等),分配到各项工作,活动,或顾客上,并调和效率,存货水准与服务水准三个互相冲突的目标,求取一个适当的平衡点.

2、 工艺路线:

为生产某一个物料(成品)而经过的所有的工艺工序(工作中心)。

3、 资源:

生产安排中使用到的设备或者人力等,它可能是一个独立单元或者是一组性能相同的单元组成的工作中心,根据性质不同可细分为:

1) 主资源:

完成一项工作的主要担当,如机器等

2) 副资源:

辅助主资源完成工作的其他资源,如设置员,模具等

3) 外协资源:

执行外加工服务的供应商

4) 用户:

通常可理解为客户与原材料供应商

5) 库存:

把物料的库存作为一个资源来看待,在生产计划时考虑其制约关系

4、 工作日历:

描述正常工作天数,开始时间,班次,资源的在班时间

5、 制造订单:

一个任务或生产的数量,时间、数量、优先度是制造订单的三要素。

6、 正向排程:

尽量从最早可分派时间从第一个工序开始分派,从第一工序的下达日期按每一个顺序向前计划开始日期。

7、 逆向排程:

从最后工序中离交货期尽可能近的日期开始向后分派,从最后一个工序和工作的需要的完成日期向后计划每一个加工工序的完成日期。

8、 资源甘特图:

图型显示生产排程结果。

9、 生产指令:

对每一个车间资源所有固定的和下达的工序的清单

 

                      第二节排程设置

 

一般的排程系统都支持两类排程:

有限能力排程和无线能力排程。

Asprova的排程模型:

      1、逆向排程:

生产订单的想要日期驱动订单的排程.是从最后一个工序和工作的需要的

完成日期向后计划每一个加工工序的完成日期

      2、正向排程:

生产订单的下达日期驱动订单的排程.是从第一工序的下达日期按每

一个顺序向前计划一开始日期.

      3、参照订单:

基于订单的优先度或者订单的指定的方向进行正向或者逆向的排程方式

资源分派:

工作存在多个候选资源时,Asprova可根据资源的优先度或者评价值或者出现顺序来决定资源的使用。

制造时间计算:

可依据主资源、最长的资源、最长的副资源来安排计划。

工序接续方式:

根据工序间的关系,有些工作必须是前工序完成后工序才能开始,有些工作是前工序开始一段时间就可以开始下一工序的工作,Asprova提供ES,EES,ESE,SSEE等多种接续方式,满足各种工艺要求。

移动时间:

有移动时间最小值和最大值,可定义下工序在前工序完成后的开始时间范围。

例如:

热处理后的半成品需要冷却半小时才能开始,可定义移动时间最小值为30分钟;一些食品加工之后必须8小时内包装,可定义移动最大时间为8小时。

资源量:

Asprova定义给定的资源量是每一天的每一班可用的小时和有多少个能力单元期间可用.如,工作中心有3台机器,每天运行8小时,所以工作中心有24小时的能力.计划安排的时候可选择安排到一台机器或者按资源量分派。

班次资源量不同:

根据不同的班次,可能资源能也不一致,比如一工作中心[白班]有100人同时作业,[晚班]只有50人作业,那么可根据班次的资源量设置工作日历。

分派规则:

排程进行订单收集时,根据分派规则来决定订单安排的优先顺序,比如以交货期或者优先级为顺序安排订单。

资源评价方式:

对候选资源参照评价式指定的评价指标进行评价,如制造时间最小、设置时间最小、等待时间最小等等。

根据评价值的大小来决定资源的使用。

 

排程任务

w       1.录入生产订单或者销售订单.

w       2.设置排程参数.

w       3.选择排程方案

w       4.运行排程.

w       5.打开资源甘特图,查看计划安排情况.

w       6.微调计划,再排程.

w       3.输出排程结果,制作生产指令.

 

               第三节Asprova排程逻辑

Aps常用算法主要有正向、逆向和混合排程,系统排程时采用一定的逻辑规则,按照Aps算法进行处理,以高级排程系统Asprova在此以缺省计划参数条件下的处理顺序说明其排程逻辑:

缺省计划参数的命令如下所示。

1、订单収集:

收集项目中所有的订单,収集后的订单作为订单列表传递给父命令对象,排程的基本需求来源。

2、订单筛选:

根据父命令对象中设定的订单筛选条件对父命令对象的订单列表进行筛选。

父命令对象没有订单列表的情况下,进行工作筛选。

筛选的结果作为排程的实际对象。

3、分派解除:

对父命令对象的工作列表中所有工作解除分派。

父命令对象中没有工作列表的时候,对父命令对象的订单列表中所有关联工作解除分派。

父命令对象中没有订单列表的时候,不进行任何处理。

4、订单展开:

根据模板数据(BOM)进行订单展开。

需要事先在订单収集,订单筛选命令中收集展开了的订单。

订单展开中,从订单展开对象的订单中进行工作的生成。

已经有工作存在的时候,保留其工作,只对生产数量等信息进行更新。

但是,考虑到相应订单不存在的情况,或模板数据的构成改变的情况,对不需要的工作进行删除。

工作生成的同时,输入指令与输出指令也生成。

输入指令为其工作中的使用指令中品目和数量(即其工作中进行投入的品目),输出指令为从其工作中的使用指令输出的品目和数量(即其工作中生产出的品目)。

工作,输入指令,输出指令基本上按照模板数据输入指令与模板数据输出指令的属性及订单的生产数量进行生成。

5、实绩工作分派:

父命令对象的工作列表中的工作,只对状态确定,指示完毕的工作及输入了实绩的工作进行分派。

6、固定工作分派:

父命令对象的工作列表中的工作,只对时间固定的工作进行分派。

7、订单分派/关联:

      按定义好的分派规则和资源选择规则分派所有工作,包括分派采购订单、分派销售订单、分派制造订单,最后关联相关订单。

8、调整:

分派结果,超过分派开始时间,分派结束时间等的时间进行分派的工作,或者该工作中包含的订单根据在计划参数的命令中设定的属性进行分派调整。

9、计划评价:

   参照指定的指标,对本次排程结果进行评价。

评价指标包括逾期制造订单数、逾期采购订单数、逾期销售订单数、平均等待时间、设置时间率等。

10、报告:

将分派的结果信息在消息窗口输出。

排程逻辑是排程时的执行命令顺序,在执行某道命令的时候,系统都需要参照计划参数来处理,比如订单的优先规则,是以交货期作优先条件按照顺序执行,还是其他属性,都必须事先定义;资源的选择规则也是非常重要的,在考虑候选资源时需要考虑哪些因素,如均衡生产、制造时间最小等,也必须明确给出。

这一部分是整个生产排程里最重要的,必须定义出明确的、可执行的计划参数,生产计划排程才能正常运行。

一般来说,咨询公司与客户一起制作排程模型,共同完成排程系统的导入。

 

APS中生产计划排程模块的基本原理

供应链管理(SCM)涉及企业间的集成以及在产销网络中协调物流和信息流的各个方面。

作为企业信息中枢的ERP系统,现在已经在许多企业中用于作业处理和定单执行。

高级计划系统(APS,AdvancedPlanningSystems)作为ERP的补充,用于协调物流、开发瓶颈资源和保证交货日期。

APS应用各种优化技术,并根据企业的商业目标来改进计划。

APS包括需求和供应计划、运输和生产计划排程等各种供应链计划模块,本文主要介绍APS中生产计划排程(ProductionPlanningandScheduling)模块的基本原理[1]。

∙查看Asprova实现本文章中的番茄酱模型的例子-最大移动时间保证番茄酱的新鲜度 

   

    决策状况描述

    

    生产计划排程的目的是为车间生成一个详细的短期生产计划。

排产计划(Productionschedule)指明了计划范围内的每一个定单在所需资源上的加工开始时间和结束时间,也即指出了在给定资源上定单的加工工序。

排产计划可以通过直观的甘特图(Ganttchart)形式给出。

    排产计划的计划间隔可以从一天到几周,取决于具体的工业生产部门。

合理的计划长度取决于几个因素:

一方面,它至少应当涵盖与一个定单在生产单元中最大的流动时间(flowtime)相对应的时间间隔;另一方面,计划间隔受到已知顾客定单或可靠需求预测的可用性限制。

很显然,只有当排产计划适度稳定时,在一个资源上进行定单排程才是有用的。

也就是说,它们不应受不期望事件经常变化的影响(如定单数量改变或中断)。

    对某些生产类型(如jobshop),生产计划排程需要对(潜在)瓶颈资源上的任务定单进行排序和计划;而对另一些生产类型(如成组技术),生产计划排程要能自动地、按时段检查资源组的能力,看其是否能够在下一个时间段内完成成组加工的一组定单。

然后,可以手工排序这组定单在下一个时间段内的加工次序。

    排产计划任务能够而且也应当分散来做,这样可以利用每个地点人们的专业知识和车间当前状况的知识(例如人员的可用性)。

    生产计划排程受到上层主生产计划的约束,主生产计划设立了在分散的决策单位中执行生产计划排程的框架。

从主计划中可获得的相应指导包括:

使用超时或加班的数量;在不同时间点上来自供应链上游设施物料项的可用性;涉及来自供应商输入物料的采购协议。

此外,由于主生产计划在供应链上有更宽的视点和更长的计划区间,从中我们还可以得到:

    计划结束时需要建立的各物料项的季节性库存量;

    交付给供应链下游设施的定单截止日期(下游设施可以是紧接着的下一级生产单位,分销商或最终顾客)。

    

    排产计划生成

    

    由车间模型生成排产计划的一般程序可简单地描述为下面6个步骤(如图1所示)。

    

    1、建模

    车间模型必须详细地捕捉生产流程的特征和相应的物流,以便以最小的成本生成可行的计划。

    由于一个系统的产出率只受潜在瓶颈资源的限制,因此,我们只需对车间现有全部资源的一部分–也即那些可能成为瓶颈的资源,建立一个清晰的模型。

关于建模方法的细节我们将在后面进一步阐述。

    

    2、提取需要的数据

    生产计划排程使用的数据来自ERP系统、主生产计划和需求计划。

生产计划排程仅利用这些模块中可用数据的一个子集,因此,在建立一个给定生产单元的模型时,必须指明它实际需要哪些数据。

    

    3、生成一组假定(生产状况)

    除了从ERP系统、主生产计划和需求计划这些数据源中接收的数据之外,车间或生产单位的决策者或许对车间当前或未来的状况会有更进一步的知识或期望,这些信息在其它地方(如软件模块中)是不能得到的。

再者,对车间的可用能力或许也可以有多种选择(如柔性的倒班安排等)。

因此,决策人员必须有能力修改数据和建立某种生产状况(见图1中的第三步,点划线框表示这一步必须由决策人员执行,并且是可选的)。

    

    4、生成一个(初始)排产计划

    在有了模型和数据之后,就可以针对给定的生产状况,利用线性规划、启发式算法和基因算法等各种复杂的优化方法来生成排产计划。

这项工作可以一步完成,也可以通过两级计划层次(先综合的生产计划,后详细的排产计划)完成。

    

    5、排产计划分析和交互修改

    如果通过两级计划层次完成,也即先生成综合资源的上层生产计划。

那么,在生成一个详细的排产计划之前,人们或许首先要对这个生产计划进行分析。

特别地,如果生产计划不可行,决策人员可以交互地指定一些计划途径来平衡生产能力(如增加班时或指定不同的加工路径)。

这或许要比修改在单个资源上的加工工序(下层排产计划)更加容易。

    APS采用了例外管理(ManagementByexception)的技术,如果出现问题和不可行性(如超过定单交货期或资源过载),APS就会发出警告(alerts)。

这些警告首先被“过滤”,然后,正确的警告被传递到供应链中正确的组织单位。

    此外,针对一种生产状况产生的排产方案还可以通过结合决策者的经验和知识交互地改进。

当然,为了提供真正的决策支持,必要的修改次数应当受到限制。

    

    6、生产状况核准

    当决策人员确定已经评估了所有可选方案时,他/她将选择那个体现最佳生产状况的排产计划去执行。

    

    7、执行和更新排产计划

    决策人员选定的排产计划将被传递给:

MRP模块(分解计划)、ERP系统(执行计划)和运输计划模块(在顾客定单完成时安排装运车辆)。

    MRP模块把在瓶颈资源上计划的所有活动分解成在非瓶颈资源上生产的那些物料或由供应商交付的物料;此外,对某些加工定单所必需的物料也将被预定。

    排产计划将持续执行到某个事件信号发生时才进行更新,也即直到修改一个排产计划看来是可取的时候(见图1中的LoopII)。

这个事件可以是一个新定单的到来、机器故障或冻结的计划部分已执行完毕(后面我们还将对排产计划的更新作详细讨论)。

    改变车间生产模型的情况不太经常(如图1中的LoopI)。

如果结构保持不变和只是数量上受到影响(例如一个机床组中的机床数或某些已知产品的新变种),那么,通过下载ERP系统中的数据,APS能自动更新模型。

但当变化很大时(例如具有某些新特征的新生产阶段的引入),那么,由专家对模型进行手动调整则是可取的。

    下面我们将对车间生产流程模型的建模方法作更详细的阐述。

   

 

     

    图1、排产计划的一般步骤     

    生产流程建模

    

    车间模型必须结合所有必要的生产流程细节来决定顾客定单的完成时间,模型需要的输入来自有关的物料和潜在的瓶颈资源。

排产计划中每一步的时间间隔通常很小(如几个小时),有时甚至可以是连续的。

    

    1、模型

    我们可以把建模的范围限制在(潜在)瓶颈上执行的运作,因为只有这些资源限制了车间的产出。

由于生产计划排程并不打算控制车间(这个任务留给了ERP系统),一些车间的细节(如监视定单当前状况的控制点)可以被忽略。

    在模型的两个连续活动之间,在非瓶颈资源上执行的所有流程步骤都只被表达为固定的提前期差度(fixedleadtimeoffset)。

这种处理方法与众所周知的“高级计划给出提前期只是作为计划的结果而不是一个事先给定的常数”这一叙述并没有矛盾。

在这里,提前期差度仅包括前述非瓶颈资源上的加工和运输时间,因为等待时间不会存在。

    模型可以通过关联的数据来定义,这些数据可分为结构数据(structuraldata)和状况相关数据(situationdependentdata)。

    结构数据包括:

生产地点,工件,物料单,工艺路径和相关的操作指令,(生产)资源,供应商清单,准备时间矩阵,和时间表(工厂日历)。

    对车间分布在不同地方的一个大型供应链,把所有数据归集到一个专门地点或许会有好处。

这样的话,一个零件就可以通过它的生产地点来识别,尽管它在顾客眼中是一样的。

    物料清单通常是基于单层描述(存放在一个物料文件中),也即每一个零件号只连接到它下一层物料的那些零件号。

一个给定零件的完整物料清单很容易在计算机上通过连接这些单层表达来构造。

    每个工件的资源消耗可以从工艺路径和操作说明中得到。

每个定单的工件数以及每个工件的资源消耗是计算单个定单顺序和排程所必须的。

因此,可以用生产流程模型(PPM,ProductionProcessModel)来清晰地表达物料加工路径和生产操作。

    图2给出了一个PPM的例子,它描述了一个特定尺寸和商标的瓶装蕃茄酱的两级生产流程。

第一个PPM表达液体蕃茄酱的生产,包括清洗搅拌池,搅拌配料,和等待装瓶。

一旦蕃茄酱准备好了,它将在24小时内被装瓶。

蕃茄酱可同时用于不同尺寸的瓶子,每一种尺寸都将对应一个PPM。

 

    

   

    图2、两级蕃茄酱生产流程模型(PPM)

    

∙查看Asprova实现本文章中的番茄酱模型的例子-最大移动时间保证番茄酱的新鲜度

    一个PPM至少由一个运作(operation)组成,而每个运作包含一个或几个活动(activities)。

一个运作总是与一个基本资源相关(如搅拌池)。

二级资源–比如人员–也可归属于一个活动。

活动或许要求一些输入物料并能产生一些物料作为输出。

当然,我们必须指明什么时候需要输入物料和什么时候输出物料可用。

在一个运作中,活动的技术顺序(也称为优先关系)可以用箭头线表示,就如同在项目计划活动中一样,可以用结束开始,结束结束,开始结束,开始开始关系和最大最小时间距离来连接。

这就允许非常准确地建立包括平行执行活动(重叠的活动)在内的两个生产活动之间的时间约束模型。

    一个顾客定单的计时、资源和物料需求可以通过有向标界线(peggingarcs)连接相关的PPMs导出(见图3中的粗体线和虚线)。

有向标界线把一个PPM的输出物料(节点)与后一级PPM的输入物料(节点)连在一起。

结果,从最后一级生产流程开始展开一个定单(如图3中的定单C505X)和相应的PPMs,就可以在各时间窗中生成关于资源和物料消耗的信息。

这些时间窗可直接用于成生可行排产计划[2]。

    工厂日历指明了休息日和其它资源工时的中断,另外还包括车间(或资源)是否以一班,两班或三班运作的信息。

高级计划系统(APS)通常提供几个典型日历可供选择。

    

     

    图3、标界线:

连接两个生产流程模型(PPMs)

    

    状况相关数据随车间当前的状况而变,它包括:

初始库存(含在制品库存)、资源的准备状态、和给定时间间隔内要加工的一组定单。

由用户指定的运作规则数据包括:

批量规则,优先规则和加工路径选择。

    尽管建立批量规则最好是根据实际生产情况–例如资源的利用和相关成本的情况,但APS通常要求事先输入一些简单规则。

这些规则可以是固定批量、最小批量或给定定单间隔时间的批量。

APS软件包或是提供一组规则可供选取,或是以高级编程语言的形式来编写它。

在某个资源上决定定单优先次序的规则以类似的方式处理[3]。

    如果执行一个生产定单存在可选路径,那么人们会期望APS在生成排产计划的过程中选择最佳路径。

但经验表明,用户得自己选择一个适当的路径。

有时可选路径是作为一个优先列表输入,只有当一个宁愿的路径导致不可行计划,求解器才会去试第二个最佳路径,然后试第三个最佳,等等。

    

    2、目标

    最后还要指定一个优化目标。

这些目标指导寻找一个好的、期望能接近最优的计划方案。

在生产计划排程模块中选择优化目标时,我们看到主要有下面一些面向时间的目标:

    Makespan,完成所有定单任务所需要的时间。

使makespan最小是多机床任务排序问题中常见的优化目标;

    Lateness,定单任务完成时间和它的到期时间之差。

使所有定单的lateness总和最小,或使单个定单中最大的lateness最小,是常见的排程目标。

    Flowtime,一个定单任务在生产系统中花费的时间。

使所有定单的flowtime总和最小也是一个优化目标。

    Setuptime,每个定单任务的生产准备时间。

使所有定单的setuptime总和最小也可以作为一个优化目标。

    

    另外,还有三个与成本相关的目标,分别是:

使可变生产成本总和最小;使生产准备成本总和最小;和使惩罚成本总和最小。

    尽管在排产这个计划层对成本的自由度影响很有限,但我们可以看到,对于不同加工路径的选择(例如,是安排标准定单或是紧急定单),也还是要以货币的术语来评估。

    如果需要对“软约束”建模(例如,为备货生产定单履行计划的交货时间),我们可以把惩罚成本包含在目标函数中。

惩罚成本也称为缺货成本,它是当需求出现时没有足够的现货来满足需求所招致的成本。

    如果决策人员想要同时追求上面几个优化目标,使每个目标都达到最优,这样“理想”的解答通常是不存在的。

那么,只好寻求一个妥协方案。

一种方法是建立上面单个目标的加权和,这个组合目标函数可以象单目标函数一样对待,因此,可以应用同样的求解方法[4]。

 

    3、解的表达

    表达一个模型的解也即详细的排产计划,有几种选择。

它可以简单地表达为一个任务清单,上面列出了每个任务在分配给它的资源上的起始和完成时间。

要把排产计划传送到其它模块中,这是最恰当的表达方式。

    决策人员通常更喜欢排产计划以甘特图表达(如图4所示),用甘特图可以在一定的时间间隔上平行地显示所有资源。

人们既可以专注于一个指定顾客定单和它在相应生产阶段的排程,也可以把注意力集中在单个资源及其在时间上的排程。

    如果决策人员允许交互地改变排产计划,例如把一个运作交互地移到另一个资源,那么以平行方式显示所有资源的甘特图是最好的表达。

    下面我们再来看看更新一个现有排产计划的一些选择。

    

    排产计划更新

    

    生产计划排程假定所有数据是确定已知的,也即决策状况是确定的。

尽管这是一个理想的假设,但对一些时间段还是可以进行调整。

为了处理不确定性(例如非计划的生产率变化或未预料的资源停工),软件工具允许监控人们假定发生在车间的变化,并生成一个更新了的期望的定单完成时间。

这些变化是否大到需要重新优化排程将基于决策者的判断。

在一个计划实际交付车间实施之前,可以通过提供大量的可选状况的生成和测试能力来帮助决策者的判断。

这种方法也称为仿真,目前的APS软件工具都提供仿真手段(见图1的第3到第5步)。

    在这里要提到的另一个特征是两步计划方法,也称为增量式计划。

假定有一个新的定单到来。

如果它落在生产计划排程的计划范围内,这个新顾客定单的活动可以插入到它所需资源上已排序好的定单中。

在现行排产计划中寻找时间空隙,以便新定单的排程只须做微小的调整。

如果能维持排产计划的可行性,那么就能导出新定单的一个计划交货期,并送回给顾客。

    由于上面这一基本排程可以通过不同的定单顺序来改进,所以重新优化经常会被考虑,以便通过新的排序来减少成本。

    

    下面我们就来举例说明。

假定有4个定单需要在某个机床上排程,表1给出了定单交货时间,优化的目标是使顺序相关的生产准备时间总和最小。

如果实际开始时间在100(时间单位),所有定单的加工时间相同(1个时间单位),顺序相关的准备时间是0,1/3,2/3或1个时间单位(表2给出了准备时间矩阵)。

那么,最优的排程显然是ABCD(如图4所示)。

    

    

    在开始加工定单A之后,我们被要求检查是否能够接收一个交货时间为107的新定单E。

假定不允许因为一个新(紧急)定单而中断一个已经开始执行的定单,那么我们可以检查在完成定单A,B,C或D之后,把工作E直接插入现行排程(如图5所示)。

由于在定单A和E这个子顺序之间存在一个正的准备时间,插在A之后会违反定单B的交货期,因此是不可行的。

依理可以找到三个可行排程,其中可选方案c)具有最小的准备时间总和。

因此,交货期为107的新定单E可以被接受(假定定单E值一个时间单位的附加生产准备时间)。

    当重新执行排程优化时,我们可以得到一个新的包括定单E的可行排产方案,它减少了1/3的生产准备时间(如图6所示)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1