基于动态事件的柔性作业车间重调度节能优化
2020-03-19李聪波雷焱绯肖溱鸽李玲玲
李聪波,寇 阳,雷焱绯,肖溱鸽,李玲玲
(1.重庆大学 机械传动国家重点实验室,重庆 400044;2.西南大学 工程技术学院,重庆 400700)
0 引言
机械加工制造系统量大面广,且能量消耗总量大,是企业面临的一个关键问题。机械加工车间生产过程中,调度方案对车间能耗影响显著[1],在开展车间节能优化调度的同时兼顾调度传统优化目标,如完工时间、机床负载等,是绿色制造背景下的热点研究问题。
国内外专家学者对单机、作业车间、柔性作业车间等方面的调度节能优化问题展开了深入研究,取得了一系列成果。在单机调度方面,Wang等[1]以不同批次、不同机床耗电速度为基础,建立以能耗和完工时间为目标的单机车间分批调度优化模型。在作业车间方面,May等[2]分析了作业车间调度过程能耗构成,以及不同调度策略对车间能耗和完工时间的影响。在柔性作业车间方面,一些学者建立了面向能耗的柔性作业车间调度集成优化模型,对柔性作业车间调度优化问题开展了研究[3-8],例如蒋增强等[4]基于设备状态—能耗曲线的低碳策略,建立了考虑能源消耗、完工时间、加工成本的多目标柔性作业调度模型;李聪波等[8]针对多工艺路线柔性作业车间调度问题,以能耗和完工时间为目标建立了分批调度优化模型。
机械加工过程中常出现一些临时突发状况,如机床故障、随机工件到达等,一些学者对基于动态事件的调度问题展开了研究。在单机调度方面,Pei等[9]考虑机床故障和随机工件到达动态因素,建立了以完工时间为优化目标的单机调度优化模型。在作业车间方面,Kundakci等[10]针对作业车间调度过程中随机工件插入、机床故障等因素,建立了以完工时间为目标的调度模型;Baykasoglu等[11]建立了一种基于机器容量约束的事件驱动作业车间动态调度机制,并提出基于随机搜索算法的求解方法。在柔性作业车间方面,Shen等[12]考虑柔性作业车间新工件到达和机床故障不确定因素,建立了以完工时间、延误时间、机床负载和稳定性为目标的动态调度优化模型;Zhang等[13]提出一种结合多级代理措施和蚁群优化算法求解柔性作业车间的动态调度问题。
动态调度过程的能耗问题已受到一些学者的关注,并展开了初步研究。Tang等[14]考虑临时工件插入和机床故障动态因素,提出柔性流水车间节能调度优化方法;Zhang等[15]建立了以能耗和调度效率为目标的优化模型,解决了柔性制造系统临时工件插入、机床故障等动态调度问题。
动态事件下的节能优化调度研究尚未考虑柔性作业车间环境,而在柔性作业车间调度过程中,工艺路线选择柔性、机床选择柔性等对动态事件的发生具有更高的灵活性和适应性,与单机、作业车间等相比,动态事件下的柔性作业车间调度问题更加复杂,节能潜力更大。当动态事件发生时,将工艺路线选择柔性、机床选择柔性与重调度方案同时优化,可以显著提高调度方案对动态事件的适应性,并降低能耗。
鉴于此,本文针对紧急插单和机床故障两种动态事件,提出面向工艺路线和机床选择柔性的柔性作业车间动态重调度节能优化方法。首先对基于动态事件的工件加工过程能耗特性进行分析,然后以能耗和完工时间等为目标建立动态事件发生时的重调度优化模型,并采用多目标引力搜索算法(Multi Objective Gravitational Search Algorithm,MOGSA)对模型进行求解。
1 动态事件下的柔性作业车间调度问题
1.1 问题描述
本文对动态事件下的柔性作业车间节能调度优化问题进行研究,同时考虑紧急插单、机床故障两种动态事件对调度方案及能耗、完工时间的影响。动态事件发生时以能耗最低、完工时间和鲁棒性最小为目标,为工件选择工艺路线,为工序选择机床,并安排工序在机床上的加工顺序,形成最优的重调度方案,在降低能耗和缩短完工时间的同时减小动态事件对车间调度的影响。
表1 模型参数符号及定义
1.2 柔性作业车间动态重调度策略
动态重调度指发生动态事件后,车间为了响应动态事件而重新生成调度方案,重新安排生产。重调度主要涉及何时重调度和如何重调度两个问题,根据柔性作业车间特点及本文实际需求,分别采用事件驱动的重调度策略和完全重调度的重调度方法。事件驱动重调度指动态事件发生时就进行重调度;完全重调度指动态事件发生时,对当前所有未完工工件进行重调度。紧急插单或者机床故障时,根据各个工件和工序的状态确定重调度的对象,实时更新重调度窗口及机床的空闲时刻。
(1)紧急工件到达时,确定重调度的对象。实时更新车间调度窗口,调度窗口分为等待窗口、加工窗口和完工窗口,等待窗口存放刚到达的紧急工件,加工窗口存放已经到达等待加工和正在加工的工件,完工窗口存放已经加工结束的工件。通过比较工件加工状况和紧急插单时刻,去除完工窗口的工件和加工窗口中已经完工的工序,对等待窗口和加工窗口的工件重新进行调度。重调度的对象为新到达的工件、已经调度但尚未开始加工的工件,以及已开工但尚未完工工件的部分工序。
2 基于动态事件的柔性作业车间重调度节能优化方法
2.1 动态重调度节能优化流程框架
动态事件发生前,车间工件及机床信息已知且不会改变,将按照生成的调度方案开展加工直到车间工件都完工。若动态事件发生,则需重新确定车间工件的加工状况及机床可用信息,以此进行重调度,并将工艺路线选择、机床选择等与重调度方案同时优化,以降低能耗和完工时间。基于此,提出一种基于动态事件的柔性作业车间节能优化重调度流程框架,如图1所示。具体步骤如下:
步骤1构建初始调度节能优化模型,基于MOGSA生成初始调度方案并执行。
步骤2实时判断是否有动态事件发生,若有则转步骤3,若无则继续执行初始调度方案。
步骤3动态事件发生时确定重调度对象,并根据重调度策略建立节能重调度优化模型。
步骤4基于MOGSA求解模型生成重调度方案,并替换为最新的调度方案并执行。
步骤5判断车间工件是否全部完工,是则结束,否则继续执行最新的调度方案。
2.2 基于动态事件的柔性作业车间节能优化多目标重调度模型
(1)目标函数
基于动态事件的柔性作业车间节能优化多目标重调度模型的目标函数包括能耗、完工时间、鲁棒性,下面对各个目标函数进行详细描述。
1)能耗
(1)
以下对动态事件发生时的各组成能耗进行具体分析。
①切削加工能耗
工序的切削加工能耗与选择的工艺路线和机床相关。若发生紧急插单,则在重调度窗口加入紧急到达的工件;若机床发生故障,则正在加工的工序重新选择机床进行加工。重调度方案下的切削加工能耗
(2)
(3)
b)空切时段能耗 加工过程中走刀路径所覆盖的区域一般大于工件特征区域,工序Ojrs在机床Mm和Mm″上加工存在固有的空切过程。工序Ojrs在机床Mm上已经加工一段时间,因此工序Ojrs在机床Mm″上的空切时间更长。工序Ojrs在机床Mm″上的空切时段能耗为
(4)
②更换刀具能耗
工序在机床加工前需要考虑是否换刀。工序Ojrs的更换刀具能耗与在机床Mm加工的上一道工序所用的刀具有关。若发生紧急插单,则在重调度窗口加入紧急到达的工件;若机床发生故障,正在加工的工序重新选择机床,则需要重新更换刀具。重调度方案下的更换刀具能耗
(5)
③对刀能耗
工件在机床上加工前需通过对刀确定刀具刀位点在工件坐标系的位置。若发生紧急插单,则在重调度窗口加入紧急到达的工件;若机床发生故障,正在加工的工序重新选择机床,则更换刀具后需要重新对刀。重调度方案下的对刀能耗
(6)
④工件装夹拆卸能耗
工件加工前装夹在机床上,加工完成后拆卸。若发生紧急插单,则在重调度窗口加入紧急到达的工件;若机床发生故障,正在加工的工序重新选择机床,则在加工前需要再次装夹、完工后再次拆卸。重调度方案下的工件装夹拆卸能耗
(7)
⑤空闲等待能耗
(9)
2)完工时间
完工时间为所有机床加工最后一个工序完工时刻的最大值,即
(10)
3)鲁棒性
鲁棒性RMR0可用重调度SR和初始调度S0的偏差来衡量,其偏差值越小,表明鲁棒性越好。具体表示为工序的重调度完工时间Cjrs(SR)和初始调度完工时间Cjrs(S0)之差,即
(11)
(2)优化变量
(3)约束条件
1)同一工件的相邻两道工序,只有上一道工序完工后,下一道工序才能开始加工。
(12)
2)同一时刻一台机床只能加工一个工件的一道工序。
(13)
3)初始调度过程中,工序开始加工就不会中断。其中DTj表示工件Jj的交货期。
(14)
(15)
2.3 基于多目标引力搜索算法的优化求解
基于动态事件的柔性作业车间节能调度优化是一个多约束、高维度的复杂NP-hard组合优化问题,因此对求解算法在寻解能力、解决复杂问题方面提出了更高的要求。与带精英策略的非支配排序遗传算法(fast elitist Non-dominated Sorting Genetic Algorithm,NSGA-II)、自适应的柯西突变多目标差分进化算法(Multi Objective Differential Evolution Algorithm-Adaptive Cauchy Mutation,MODE-ACM)等相比,MOGSA更易搜索到问题的Pareto解,而且解的分布更加均匀,同时在处理更为的复杂问题时仍有更好的性能。因此采用Li等[16]提出的MOGSA对模型进行优化求解,并对算法的关键步骤进行改进。MOGSA流程如图2所示。
(1)MOGSA中解的表现形式
(16)
(2)初始解的生成
在MOGSA中,采用先到先服务(First Come First Served,FCFS)规则,按照以下步骤产生初始解:
步骤1初始化车间所有机床的空闲时刻、工件的到达时间、工件可选工艺路线和工序数量。
步骤2针对最早到达的工件,随机选择一条工艺路线和一台机床,使其第一个工序在所选机床上加工,并将该机床的空闲时刻更新为该工序的完工时间。
步骤3比较步骤1中工序的完工时间与其余工件的到达时间,得到最小值,针对最早时刻对应的工序随机选择工艺路线和机床进行加工,并更新所选机床的空闲时刻。
步骤4判断当前时刻某机床是否可用,若当前时刻小于机床的空闲时刻,则该机床不可用。
步骤5若有至少一道工序尚未完工,则返回步骤3;否则FCFS调度结束,产生初始解。
(3)MOGSA中粒子质量的确定
在采用MOGSA求解动态事件下的柔性作业车间节能重调度优化问题时,将优化问题的解转换为在空间中运行的粒子。粒子通过万有引力作用向质量最大的粒子移动,所有粒子中质量最大的占据最佳位置,随着MOGSA迭代次数的增加,种群会移动到质量最大的粒子处,即为优化问题的最优解。MOGSA中粒子的质量为[16]
(17)
(4)算法终止条件
MOGSA的终止条件为:①已经完成最大迭代次数tmax;②解集中的最优解不再更新。
3 案例应用
3.1 应用背景
某公司为从事机床制造的生产厂家,车间主要生产开方机、棉花收割机等产品,因其车间采用多品种小批量型的加工方式以及管理层面上的因素,在生产过程中存在紧急插单动态事件。同时由于人为操作不当或使用年限较长等原因,机械加工过程中机床会出现不同程度的故障而导致加工暂时中断。紧急插单时车间常采用FCFS重调度方法或只对紧急工件进行重调度,机床故障时常用右移法或FCFS规则进行重调度。结合该车间的生产实践,在初始调度过程中先后随机出现紧急插单和机床故障动态事件的情况下,应用所提出的基于动态事件的柔性作业车间节能优化重调度方法,并与上述重调度方法进行对比。车间相关的机床和工件信息如表2~表4所示。
表2 待加工工件信息
表3 车间机床信息
表4 车间工件能耗与时间信息
续表4
3.2 动态事件下的车间调度方案获取
根据该生产车间配置和工件信息,基于MOGSA对所提初始调度模型进行求解,得到初始调度方案的甘特图,如图3所示。甘特图中的标识为“工件编码—工序编码”,例如“1-1”表示工件1的第1道工序。初始时刻车间按照图3所示的初始调度方案加工。
3.2.1 紧急插单下的车间调度方案获取
在初始调度方案执行的第100 000 s,由于收到紧急订单,紧急工件“轴”必须在交货期内优先加工,在满足工件交货期的前提下追求能耗最低的车间调度方案。“轴”的批量为80,交货期为350 000 s,能耗和时间信息如表5所示,紧急插单时各工件加工状态如表6所示。
表5 工件“轴”的能耗和时间信息
表6 紧急插单时的各工件加工状态
紧急插单时,分别采用以下3种方案进行重调度:①方案1(调度紧急工件),不改变其他工件的调度方式,以能耗最低对工件6进行调度;②方案2(FCFS调度),根据FCFS规则进行重调度;③方案3(MOGSA调度),基于MOGSA求解所建立的考虑动态事件的重调度模型。3种重调度方案甘特图分别如图4~图6所示,甘特图中虚线表示紧急插单时刻。重调度方案能耗和完工时间目标值如表7所示。
表7 3种重调度方案的能耗和完工时间目标值
与方案1相比,方案3的能耗降低了6.79%,完工时间降低了1.08%,原因是采用MOGSA对紧急插单时的所有工序进行重调度时,工件选择了能耗低的工艺路线和机床进行加工,并且安排工序在机床上的加工顺序时缩短了机床的空闲等待时间;方案1只是在初始调度的基础上以能耗最低对工件6进行调度,没有考虑对其他工序的影响,与方案3相比,换刀能耗增加了14%。
方案2按照工件的到达时间和工序之间的紧前约束,优先安排到达早的工序加工,重调度时只追求单个工序的能耗最低,没有考虑对后续工序的影响,因此换刀能耗、对刀能耗、空闲等待能耗都比方案3大,从而比方案3的总能耗增加了3.3%。
与方案1相比,方案2的能耗降低了3.7%,完工时间增加了1.67%,原因是采用FCFS调度时以单个工序能耗最低为原则对所有工序进行重调度,降低了切削加工能耗和工件装卸能耗;同时,各工序遵循先到先加工,导致后续工序加工的开始时刻推迟,与方案1相比增加了机床的空闲等待时间。
在紧急插单的调度过程中,采用重调度方案3分别对单独优化能耗和完工时间以及同时优化能耗和完工时间进行加工调度,优化结果如表8所示。
表8 单独优化能耗和完工时间结果
与方案3.1(单独优化能耗E)相比,方案3.2(单独优化完工时间TC)的完工时间降低了15%,原因是单独优化完工时间时,各工件选择不同的加工工艺路线和机床并行开展加工,减少了工序之间的等待加工时间和机床的空闲等待时间,从而降低了总完工时间。
单独优化能耗时各工件选择能耗较小的工艺路线和机床进行加工,降低了切削加工能耗,同时选择的机床相对集中降低了换刀能耗、对刀能耗和机床空闲等待能耗,因此与单独优化完工时间相比,车间总能耗降低了8.75%。
与方案3.1(单独优化能耗)相比,方案3(同时优化能耗和完工时间)的能耗增加3.42%,完工时间降低9.34%;与方案3.2(单独优化完工时间)相比,方案3的能耗降低5.63%,完工时间增加6.81%。据此分析发现能耗和完工时间两个目标之间存在冲突,与单独优化能耗或完工时间相比,同时优化能耗和完工时间能到达两个目标协调最优。
3.2.2 机床故障下的车间调度方案获取
紧急插单后车间调度方案执行到150 000 s,机床M3发生故障暂时中断,维修时间为16 200 s。机床发生故障时,各工件的加工状态如表9所示。
表9 机床故障发生时的各工件加工状态
机床发生故障时,分别采用3种方案进行重调度:①方案1(右移调度),在紧急插单后重调度方案3的基础上,不改变其他工件的调度方式,将故障机床M3上正在加工的工序往右移动16 200 s(机床M7的维修时长);②方案2(FCFS调度),根据FCFS调度规则进行重调度;③方案3(MOGSA调度),基于MOGSA求解所建立的动态调度模型。3种重调度方案甘特图分别如图7~图9所示,重调度方案能耗和完工时间目标值如表10所示。
表10 3种重调度方案的能耗和完工时间目标值
与方案3相比,方案1的能耗增加了4.61%,完工时间增加了5.69%。由图7可以得出,与紧急插单时的重调度方案3相比,方案1的其他工序不变,机床M3发生故障后与其相关的后续工序5-1,5-2,5-3,5-4,5-5的加工时间后移,导致机床M4,M6,M7,M8的空闲等待时间和能耗都增加。
与方案2相比,方案3的能耗降低了1.94%,完工时间降低了3.01%。如上所述,FCFS调度以单个工序能耗最低和到达时间最早为原则,没有从调度方案整体考虑降低能耗和完工时间。例如图8中工序5-3选择机床M3加工,不但导致工序4-3的开始加工时刻推迟,使整个调度方案完工时间延长,而且导致工序4-4和4-5的开始加工时刻推迟,使机床M2和M8的空闲等待时间和空闲等待能耗增加。
与方案2相比,方案1的能耗增加了2.58%,完工时间增加了2.52%,原因是采用右移调度增加了由机床故障导致的相关后续工序的空闲等待能耗和切削加工能耗,从而增大了车间总能耗;同时因相关机床的空闲等待时间增加,导致总完工时间增加。
4 结束语
本文系统分析了动态事件下的柔性作业车间调度过程能耗特性,以能耗、完工时间、鲁棒性为优化目标建立了基于动态事件的柔性作业车间重调度节能优化模型;结合某生产车间动态事件下的节能调度实践,采用基于MOGSA的柔性作业车间重调度节能优化方法进行应用与验证。通过对比不同方案说明动态事件发生时,所提方法能够有效降低能耗和完工时间,车间可按照本文生成的重调度方案开展加工。
车间生产过程中会产生大量与能耗、工艺、时间相关的数据,这些数据更能真实反映车间的实际加工状况和调度水平,因此采用数据驱动的方式进行车间节能优化调度将是下一步的研究重点。