Opcenter Scheduling排产算法
排产,即是把工序(Operation)基于约束条件,依据定义好的排产策略排到资源(Resource)上去的行为。Opcenter Scheduling内置多种排产策略,从严格意义上来区分,全局排产策略可分为以下两类:站在工序(Operation)的角度选择资源(Resource)和站在资源(Resource)角度选工序(Operation)。
排产的优化目标分为单因子优化目标和多因子优化目标。单因子优化目标即考虑单一的交期、生产订单优先级、设备换型时间等因子中一种;多因子优化目标即统筹考虑多个排产优化方向,统筹考虑多因子优化目标时通常采用赋予排产优化目标权重比值或是赋予排产优化目标优先级的方式。
一、Opcenter Scheduling内置排产算法
Opcenter Scheduling具备满足客户多元化需求的排产算法:
基于订单触发类算法(Order-Based Algorithmic):支持根据交货期和优先级等条件依次加载每个订单,并对各工序进行正向、逆向或双向加载的排产算法。该算法能较好的保证重点订单的按时完成率;
基于事件触发类算法(Event-Based Algorithmic):支持资源优选的排产算法,系统可以统筹考虑优先级、工艺限制、交货期等因子进行排产优化,并具备按优先级、按利润、按交期、按换型时间、按紧迫程度、按生产周期等多目标进行排产运算。该算法能较好提升资源利用率;
基于瓶颈的排序优化算法:能最大化瓶颈能力;
基于最小化生产周期的算法:能最小化的减少全局生产周期;
权重排产算法:针对多个优化目标同时考虑的优化算法;
利用PESP(事件脚本工作流配置器)配置的客制化流程算法:可针对不同特性的工艺将以上算法进行组合使用;
利用.net开发的用户自定义算法:用于自定义的高级优化算法。
备注:以上Order-Based Algorithmic在系统内是以Order-By-Order方式来排序,属于Operation选Resource的排产逻辑。Event-Based Algorithmic属于站在Resource角度选Operation的排产逻辑。
二、Order-Based Algorithmic
Order-Based Algorithmic是一种基于生产订单选择最佳资源的方式来排序的。有以下特点:
生产订单按规则排序后,依次占用资源产能(挑选最佳资源);
算法简单,运行速度高效;
优先级高的订单优先被响应,能较好保证优先订单的交付;
不适合作业复杂的job-shop(无法充分利用瓶颈资源产能);
适合作业单一的flow-shop。
三、Event-Based Algorithmic
Event-Based Algorithmic(Resource-Based Algorithmic),是一种基于资源选择最佳工序/最佳生产订单的方式来排序的。有以下特点:
严格按照时间序列,每个资源维护一个队列以及规则(挑选最佳生产订单):
校验时间点数量庞大,算法复杂,运行速度低;
各个资源产能被充分利用;
适合作业复杂的job-shop(充分利用资源产能)。
四、举例分析
用以下一个简单的例子来说明两个算法的区别:
机台:MC1、MC2、MC3、MC4
工序:Operation 10、Operation 20、Operation30、Operation 40
工序与机台对应关系:
Operation 10:MC1 or MC2
Operation 20:MC2
Operation 30:MC3
Operation 40:MC2 or MC4
工单优先级:蓝色>绿色>红色
Order-Based Algorithmic的排产逻辑如下图所示:
Step1:优先级最高的蓝色工单优先占据产能;
Step2:优先级第二的绿色工单占据产能;
Step3:优先级最低的红色工单占据产能。
Event-Based Algorithmic的排产逻辑如下图所示:
Step1:当事件发生时(当资源变为可用时),资源队列会将这个时间点可排的工序加载;
Step2:可排的工序依据定义好的规则排序,资源挑选最佳工序加载到资源上;
Step3:一个工序排产完毕后,自动产生下一个事件,重复Step1和Step2,直到系统中无事件发生。
如果我们对比两个排产算法的排产结果,如下图所示,我们可以发现,Event-Based的排产结果较Order-Based的排产结果整体生产周期短,设备利用率高。但是仔细观察蓝色工单,Event-Based的排产结果中蓝色工单较Order-Based排产结果中蓝色工单的预计完成时间要晚。
因此在我们选择排产算法时,首先需要考虑清楚每台设备,每条产线,每个工艺制程期望实现的排产KPI或优化目标到底是什么,根据期望实现的优化方向来统筹决策采用哪种排产策略。