一种规则可配置的柔性制造系统自适应调度方法
2022-11-02刘政君
刘政君
(中国航空制造技术研究院 数字化制造技术航空科技重点实验室,北京 100024)
柔性制造系统在航空零部件生产中运用广泛,但由于其在不同的调度场景下具有各异的调度特征,导致柔性制造系统的调度系统难以在不同调度场景之间复用。实际生产中,调度系统开发者目前的普遍做法是根据不同场景各自的特征,针对性地研究调度方法和开发调度系统,但任务量庞大。若能够针对复杂的调度情境快速构建排产系统,可节约大量的时间和人力成本。因此,针对柔性制造系统复杂多变的调度特征,如何快捷高效地开发与之相适应的调度系统是一个值得深入研究的问题。
目前,针对柔性制造系统调度问题的研究大都是针对某个特定场景。例如:对于动态流水车间场景,EL-BOURI等提出了一种对相邻设备进行协同分派的优先级规则,并取得了较好的调度求解结果[1];对于部分柔性的制造环境,邵斌彬等设计了一种基于综合分配规则的快速启发式调度算法[2];针对作业车间调度场景,CHEN等提出一种柔性的依据偏好来决策的分派规则,证明了该分派规则相较于传统分派规则具有优越性[3];也有不少学者通过人工智能方法解决柔性制造系统的调度问题,取得了不错的进展[4-7]。但是,在开发复用型调度系统方面,国内还少有研究。
针对调度系统在不同场景之间的复用性问题,本文提出了一种规则可配置的自适应调度方法。决策者只需根据生产线的特征配置对应的参数,就能应对不同特征的调度场景,同时分析并处理柔性制造系统的扰动,使调度方法更具鲁棒性。
1 规则可配置的调度框架构建
针对柔性制造系统复杂多变的调度特征和柔性制造系统可能出现的扰动,提出了一种规则可配置的调度框架。整体调度框架如图1所示,共分为3部分。第1部分为规则配置,负责根据不同生产线的特征来配置相应的排产规则,并根据规则将排产的约束条件抽象为排产算法所需的输入参数。第2部分为排产算法,负责确定边界和约束条件的基于优先级的排产算法。算法的输入需要遵守配置规则的约束条件和扰动约束条件。第3部分为扰动分析与处理,负责对柔性制造系统扰动进行归类分析,并根据扰动类型处理 扰动。
图1 整体调度框架
2 基于优先级规则的排产算法简介
基于优先级规则的启发式排产算法具有无须迭代运算、运算速度快、容易认知理解等特点,在求解实际生产调度中被广泛运用。众多学者对该算法进行了改进,目前已有多种优先级规则[8-12]。该算法通过某种预定的规则为各个工序任务赋予优先级(如SPT规则、EDD规则等),然后按照优先级的高低顺序依次为各个工序任务安排生产设备。算法的执行流程如 图2所示。
图2 基于优先级排产算法流程
(1)筛选可排产的工序任务序列,轮训当前所有订单,将排产的工序任务加入待排产序列;
(2)为待排产序列中的工序任务安排优先级;
(3)按照优先级顺序依次为最高优先级的工序任务安排加工设备;
(4)每安排一个工序任务,更新设备的任务队列,并重复步骤(1)直至所有的工序任务都被安排完毕。
3 规则配置
优先级是基于优先级规则的排产算法中较为关键的参数,包括任务优先级和设备优先级。任务优先级指工序任务被安排的先后顺序。任务优先级排产算法按照优先级的高低顺序依次为所有工序任务安排生产设备。设备优先级指当某工序任务拥有超过多台可用设备且需在多台设备中选择一个用于加工时,选择加工设备的优先顺序。设备优先级排产算法会为工序任务安排拥有当前最高优先级的可用设备。
关于优先级的启发式规则的研究目前已经比较成熟,产生了众多优先级规则,如SPT规则、EDD规则、Johnson规则、CDS规则、Palmer规则、LNS规则以及FIFO规则等。但是,这些规则往往只是对工序任务的某一个或几个属性较为关注,存在各自的局限性。若能够将这些规则集合封装形成一个优先级规则系统,决策者就能够在系统中选取适用的规则进行排产,甚至编制优先级规则,大大提高了优先级规则的适用性。因此,提出优先级规则的配置方法用于实现优先级规则系统的构建,主要包括离散型配置方法和连续型配置方法。
离散型任务优先级的配置规则如表1所示。决策者可以配置决定优先级的各个属性值,并直接指定对应属性下的任务优先级。本文以剩余交货时间、紧迫率、重要程度和加工时间为例,讲述离散型任务优先级的配置过程。决策者可以根据各个属性的值直接给定一个对应的优先级值,如任务的交货期为1~3 d,紧迫率为1.0~7.2,重要程度为“很重要”,加工时间为10~24 h,给定优先级值为5。离散型规则配置表格并不局限于上述属性,表格属性的数量是可配置的,决策者可以根据需要在系统中添加或者删除某列属性。
表1 离散型任务优先级配置表
与离散型优先级配置方法直接指定任务的优先不同,连续性任务优先级配置方法是通过权衡几个属性的权重计算出一个加权值,并用“1”除以该加权值作为任务的优先级。如表2所示,决策者选择添加参与决策的属性,并给定这些属性的权重值。权重值越大,表明该项属性越受到重视。为了统一量纲,使得每个属性对优先级的贡献得分大致落在相同的量级范围内,不出现因量级差距过大导致某项属性的贡献被忽略的现象,需对各个属性的取值进行归一化处理。
表2 连续性任务优先级规则配置表
本文以加工时间、剩余交货时间、紧迫率和重要程度为例进行说明。
加工时间得分的取值S1为
式中:S1为加工时间得分的取值;t为任务加工时间;tmin为待排产任务中的最小加工时间;tmax为待排产任务中的最大加工时间。
剩余交货时间得分的取值S2为
式中:S2为剩余交货时间得分的取值;T1为最长交货期;T2为任务剩余交货时间;Tmax为待排产任务中最长交货期。
紧迫率得分的取值S3为
式中:S3为紧迫率得分的取值;a为任务的紧迫率;amax为待排产任务中最大紧迫率;amin为待排产任务中最小紧迫率。
重要程度得分的取值S4为
式中:S4为重要程度得分的取值;Smax为任务最大取值得分;S为任务取值得分;Smin为任务最小取值得分。关于重要程度,规定“非常重要”取值为“1”,“很重要”取值为“2”,“一般”取值为“3”,“不重要”取值为“4”。
规定各属性权重值的取值范围为0~100的整数,计算时将各权重值进行归一化处理。
优先级的计算公式为
式中:Ai为各个属性值的得分;ωi为各个属性对应的权重值。
利用这两种方法,决策者可以通过适当的配置得到现有的优先级规则,也可以自定义属于某种场景的特殊规则。例如,EDD规则关注工件任务的交货期,交货期越接近的工件,优先级越高。在配置规则时,采用离散型配置法只需配置各个交货期时间段的对应任务优先级即可完成配置。在配置规则时,采用连续型配置法需要配置交货期这一属性的权重,并将其他权重值设为0。
离散型任务优先级配置方法只要参数设置得当,各个优先级规则的拟合效果就会较好。理论上,通过离散优先级的配置方法,可以拟合出现有大部分的优先级规则。它的缺点在于需要配置的参数较多,配置过程较为烦琐。连续型配置方法的优点在于配置简单,只需添加相关属性并配置对应的权重值,缺点在于由于优先级配置公式为线性公式,对某些非线性优先级规则的拟合效果可能不好。
设备优先级的配置过程与任务优先级类似,区别在于所配置属性不同,这里不再赘述。
4 扰动分析与处理
当柔性制造系统发生扰动时,调度系统会根据可编程逻辑控制器(Programmable Logic Controller,PLC)反馈的现场情况判断扰动类型,并根据不同的故障信息触发对应的处理策略,重新生成符合现状的调度方案,并下发至动作规划层执行。在生成新的调度方案时,需遵循尽量少改动原排产方案的原则,尽量减小扰动对调度方案的影响。
汇总并归类分析柔性制造系统常见的扰动可知,常见扰动主要包括设备故障类扰动、进度异常类扰动和订单变动类扰动[13-14]。扰动处理的流程图如图3所示。当调度系统接收到反馈的扰动信息后,会优先判断扰动的种类。如果扰动是设备故障类扰动或者订单变动类扰动,将直接触发系统进行重新排产。如果扰动是进度异常类扰动,会根据重排产策略计算扰动的重排产判别值。如果判别值未超过设定阈值,则认为该扰动造成的影响较小,不需要重新排产。如果判别值超过设备阈值,则认为扰动造成影响较大,必须重新排产。重新排产后利用得到的新排产方案下发到动作执行层执行,如此循环往复,直至方案执行完毕。
图3 扰动处理流程图
4.1 设备故障类扰动分析与处理
设备故障类异常包括设备故障、设备定时维修等。某些与设备相关的资源长时间短缺,也会造成设备故障类扰动,如刀具、人员等。该类扰动具体表现为设备在一段时间内不可用,不同之处在于设备定时维修一般可以预知扰动恢复的时间,而设备故障一般不能确定扰动的恢复时间。在处理扰动时,这两种情况的处理过程基本相同,区别在于解除设备锁定的时刻不同。
生产线上的设备发生故障,会导致原本安排在故障设备上的工序任务无法执行。因此,发生设备故障时,需要处理原本安排在故障设备上的工序任务。当系统发生设备故障时,调度系统会将故障设备锁定,使其不再参与后续的工序任务排产,并查询与故障设备加工能力相同的设备,把原本安排在故障设备上的工序任务转移至可替代设备,生成新的调度方案交付动作规划层执行。待排除设备故障后,解除故障设备的锁定状态,并生成新的排产方案。
4.2 进度异常类扰动
引起加工进度异常的扰动较多,较为常见的有资源短缺、加工时间变化等。工序任务的开始时间不能早于所需资源的最晚到达时刻,所以资源短缺往往会导致工序任务不能按照计划时间开始,进度异常。此外,加工时间变化会导致工序任务计划未按计划时间结束,也会导致加工进度的异常。
工序任务的实际开始时间受资源准备时间的约束。假设某工序任务的加工需要人员、刀具、物料3种资源支持,若工装在t1时刻到位,人员在t2时刻到位,刀具在t3时刻到位,则该工序任务最早开始时间不能早于t3。
当系统出现资源短缺类扰动导致工序任务不能按计划时间开工时,调度系统会根据实际执行与计划的偏差计算新排产判别值。偏差值的取值为工序任务的实际开始(结束)时间与计划开始(结束)时间的差值。当该值超出设定阈值时,意味着偏差较大,需要重新排产。此时,根据资源管理系统的反馈获得各个资源到位的具体时间,并重排当前的工序任务,获得满足资源到位时间约束的新排产方案。
加工时间变化对进度的影响主要体现在工序任务结束时间方面。加工时间变长或者变短,会导致工序任务结束时间的滞后或者提前。其中:工序任务结束时间提前会导致设备利用率降低,但对整体排产方案影响较小;工序任务时间滞后会影响下一工序任务的开始时间,若滞后时间较长,则会对排产方案产生较大影响,必须重新排产。
4.3 订单变动类扰动
订单变动类扰动包括插入订单、紧急订单和取消订单等。
当系统接收到新的订单时,根据系统配置的优先级规则为新任务安排优先级,并将新订单中的工序任务加入待排产序列。调度系统会对当前所有未加工的工序任务进行重新排产,得到新的调度方案。
紧急订单为插入订单的一种特殊情况,要求尽快完成所插入的订单。因此,调度系统在重新排产时,需要保证紧急订单的工序任务被优先安排。调度系统基于优先级规则为所有工序任务排序。为保证紧急订单的加工,应该赋予其一个较高的优先级。实际上,调度系统接收一个订单后,会调用用户配置的优先级规则为订单中的工序任务赋予优先级。
取消订单的处理过程较为简单。当一个已排产未执行的订单被取消时,需要在待排产的任务序列中将该订单下的所有工序任务删除,然后对剩余符合排产条件的订单进行重新排产。
5 应用系统验证
5.1 规则配置系统软件界面
根据提出的规则可配置的柔性制造系统调度框架,开发了规则可配置的调度系统。图4为系统的任务优先级规则管理界面。决策者可以在该界面新增或删除优先级规则,也可以对某一条规则进行修改或重新定义。图5为点开图4中某条规则的“详情”所看到的界面,可以在该界面选择添加或删除属性,也可以修改各个参数的配置。
图4 任务优先级规则管理列表
图5 任务优先级规则配置界面
5.2 扰动案例分析
5.2.1 调度背景
某航空企业柔性制造系统由3台卧式铣削加工中心、1个装卸站、1台清洗机和1台测量机组成。现在有3个订单a、A、B需要进行安排生产。订单a和订单B的工艺路径为“装载—铣削—清洗—测量—卸载”。订单A只需装载后测量,然后卸载。其中,订单a中包含4个工件任务,订单A中包含2个工件任务,订单B中包含4个工件任务。
图6为订单执行过程中间时刻的排产甘特图,每个矩形块为一个工序任务,竖线为当前时刻。由图6可知,当前时刻a订单中的4个工件任务的前置工序任务“装载”“铣削”“清洗”“测量”等工序已经完毕,工件a:1已经执行到“卸载”工序;订单B尚未开始执行,订单A已经执行到工件A:2的装载工序。
图6 重新排产前甘特图
5.2.2 进度异常处理案例
按照预定排产计划,工件a:1的“卸载”工序应该已经结束,A:2的“装载”工序应正在执行。此时,接收到系统反馈的工件a:1的“卸载”工序由于某种原因未按计划完成,且A:2的“装载”工序未按计划开始。两者都属于进度异常类扰动,按照前文的扰动处理方法,由于偏差值超过了设定的10 min,认为需要重排,重排后的甘特图如图7所示。由图7可知,工件a:1的“卸载”工序任务时间已按照系统反馈的时间延后,工件A:2的“装载”工序任务被推迟至当前时刻。
图7 重排后甘特图
5.2.3 插入订单处理案例
假设当前时刻系统接收了一个新的订单C,订单C包含2个工件任务,工艺路径为“装载—铣削—清洗—测量—卸载”。根据扰动处理方法,需要对当前所有工序任务进行重排。由图7可知,订单C的2个工件任务在重排后已被安排。
5.2.4 设备故障处理案例
假设在当前时刻加工中心1发生故障导致其上的工序任务不能继续执行,此时根据扰动处理方法,需要对当前所有工序任务进行重排,重排后的甘特图如图7所示。由图7可知,系统将原本安排在加工中心1上的任务分派给了具有相同加工能力的加工中心2和加工中心3。
6 结语
本文提出了一种规则可配置的柔性制造系统自适应调度方法,解决了柔性制造系统调度的复用性问题,设计了规则可配置的调度框架,并经过生产实际验证了有效性,同时开发了相关规则配置软件系统。下一步将针对规则配置过程的参数优化问题开展进一步研究,期望能通过参数优化的方式配置出更贴合生产实际需要的排产规则。