摘要
针对成型机故障和工单交货期提前两类事件,提出一种基于改进变邻域搜索算法的分批重调度方法,基于最小分批原则和非等量分批原则对工单进行批量划分,考虑重调度过程的稳定性与准时性,建立数学模型。设计一种改进的变邻域搜索算法(VNS),通过构建转移邻域和叠加邻域两种邻域结构,提高了搜索的收敛速度和寻优能力。最后以某磁性材料成型车间作为实例进行验证。结果表明,所提重调度方法能够在保证工单准时交付的基础上,提高成型机利用率,为工厂的实际生产决策提供参考。
磁性材料是一类非常重要的基础功能材料,被广泛应用于家用电器、电子通讯、医疗保健等行业领
通常成型工单的磁瓦数量很大,以千计量。如果采用合理的分批策略,将每条工单分成若干子批,并按照一定的顺序将这些子批安排到成型机上生产,则能够有效地提高生产效率和工单准时交货
可以看出,已有很多学者针对静态分批调度问题展开研究,但由于成型工艺约束复杂,问题局限性很强,不能够采用通用模型进行求解,因而,很少有人研究磁性材料成型机的分批调度问题。且在已有的研究中,很少有人考虑车间设备冗余情况下生成的调度方案中设备利用率不高的问题。
实际生产过程会出现紧急插单、粉料不足、成型机故障、工单交货期改变、订单取消等事件,从而使已经制定好的计划难以执行下去。由于传统调度方法不具备应对动态扰动的能力,会导致大量生产任务延迟。这时需要采用重调度方法来改进原方案。Larsen
综上所述,已有大量学者对重调度问题进行了研究,却很少有人将重调度方案的准时性和稳定性与分批调度结合起来优化。因此,本文针对成型机故障和工单交货期提前等不确定性事件,引入重调度方案偏离度和平均提前拖期时间指标,建立成型机分批重调度多目标优化模型,并设计一种改进的变邻域搜索算法对该模型进行求解。最后,结合实际案例验证所提重调度方法的可行性和算法的优越性。
成型机分批调度问题是在考虑工单不延期、粉料库中的粉重限制、工单优先级、模具规格限制、成型机产能和下游窑炉烧结工位产能等复杂约束下,以工单平均提前完工时间最小为目标,确定各工单在成型机上加工的模数和顺序以及投产的各类成型机数量。考虑到实际生产调度中成型机故障和交货期提前导致的工单延期问题,需要寻找一种合适的重调度方法对原调度方案进行调整优化。
某磁性材料成型车间有成型机台,在一段时间内要完成条工单的加工。不同成型机的模具安装能力不同,能够生产的磁瓦规格不同,其对应关系如

图1 产品和成型机对应关系
Fig. 1 Correspondence between products and molding machines
成型车间采用典型的面向订单生产模式,为避免重调度引起的频繁换模,采用最小分批原则对工单进行批量划分,即加工批量不能小于一定的数量;基于非等量分批原则对工单进行批量划分,即不固定每个工单的子批产量大小,可以更加灵活地安排生产,提高重调度方案中工单的准时交货率。根据成型生产调度过程,设计工单优先顺序原则如下:
(1)优先加工交货期早的工单;
(2)若交货期相同,则优先加工优先级高的工单;
(3)若完工期和优先级都相同,则优先加工模数少的工单。
问题基于以下假设:
(1)所有工单的生产需求计划已知;
(2)各类成型机的设备操作人员充足;
(3)成型机能够在调度初始时刻开始生产;
(4)忽略成型机换模时间对生产的影响;
(5)成型机在某一时刻只能加工一个工单;
(6)任意一台成型机一旦开始加工某个工单的子批,则在该子批完工前不能加工其他工单的子批。
本文的成型机分批重调度模型相关符号如下:
——工单编号,;
——成型机编号,;
——工单的磁瓦类型;
——成型机的类型;
——工单的优先级;
——工单的总模数;
——工单的每模投粉量;
——工单的预定交货期;
——工单加工顺序,满足;
——工单在成型机上的子批大小;
——工单子批最小值,通常为定值;
——工单的批量分配矩阵;
——类型磁瓦在类型成型机上每模加工时间,若为0,则表示由于安装模具的限制,类型磁瓦不能在类型成型机上生产;
——时间周期,d;
——工单在时间的生产模数;
——工单在时间的可用库存粉重;
——每台成型机日最大开工时间;
——工单在成型机上的子批完工时刻;
——重调度后工单在成型机上的子批完工时刻;
——时间结束时成型机正在生产的工单;
——下游烧结工位日最大产能,即窑炉每天所能烧成最大模数。
考虑到重调度触发条件和对原调度方案影响的不同,重调度方法分为维持原调度、局部重调度和完全重调
根据磁瓦与成型机类型对应规则确定每条工单在各台成型机上生产的子批。决策变量为工单的批量分配矩阵
(1) |
当成型机发生故障时,原调度方案中成型机正常生产的时间被占用,将停产时间段所影响的部分工单对应的虚拟工单进行再分批,此时决策变量为虚拟工单的批量分配矩阵。
当工单交货期变化时,应从触发时间点开始整理所有工单待生产数量和所有成型机正常加工时间,并以此作为初始数据重新进行分批,此时决策变量为所有工单的批量分配矩阵。
若 ,则
, | (2) |
, | (3) |
, | (4) |
其中,
, | (5) |
, | (6) |
(7) |
(8) |
(9) |
式(2)表示磁瓦只能在具有相应模具安装能力的成型机上生产;
在以往的文献中,经常把工单提前完工时间定义为最晚完工子批的完成时间与工单预定交货期的差值,虽然能保证工单准时交付,却忽略了其他子批提前完工造成的在制品库存累积问题。同时在设备数量较多而工单较少的情况下,容易导致工单分散,降低设备利用率。因此,为了在满足需求的前提下选择更少的加工设备,本文将工单的提前完工时间定义为工单所有子批的提前完工时间之和,即。因此不考虑扰动时的目标函数为
(10) |
为了评估重调度方案的合理性,首先定义方案偏离度和平均提前拖期时间两项衡量重调度方案好坏的指标。
方案偏离度等于重调度前后所有子批的完工时间偏差绝对值之和,见
(11) |
平均提前拖期时间等于每台成型机上各个子批的提前拖期时间的加权平均,用来衡量调度准时性。同时为了体现工单拖期的严重性,引入惩罚因子,见
(12) |
合理的重调度方案应同时兼顾工单准时性和调度稳定性。综上所述,本文所研究的成型机分批重调度问题属于多目标优化问题。采用加权系数法求解该优化模型,引入变量表示方案偏离度的权重,重调度目标函数为
(13) |
针对本文提出的成型机分批重调度问题,传统的邻域搜索算法容易陷入局部最优,同时单一邻域结构难以满足实际生产中提前和拖期的不同需求。为解决此问题,设计一种改进的变邻域搜索算法(VNS),搜索过程中能够在约束范围内通过切换不同的邻域结构以拓宽搜索范围,提高收敛速度和跨过局部最优的概率。
个体初始化流程图见

图2 个体初始化流程图
Fig. 2 Flow diagram of individual initialization
个体采用随机方法初始化增加了邻域搜索起点的多样性,避免算法陷入局部最优。种群采用二元锦标赛方法初始化能够保证在选择较好个体的同时,允许部分较差的个体进入种群,使搜索能够从一个较高的起点开始,提高算法的收敛速度。
假设成型机和均能生产工单,将工单在成型机和上的子批重新分配,称为工单的子批转移,子批转移示例如

图3 子批转移示例图(单位:模)
Fig. 3 Example of sub-batch transfer(unit:pattern)
初始的子批转移量选取为批量最小单元,通过随机确定工单以及成型机和来选择转移邻域,然后生成该个体在此邻域内的两个邻居,通过比较两个邻居的约束情况和目标函数大小决定局部搜索方向,朝该方向不断搜索直至两个邻居均不满足约束或均劣于个体,此时该邻域上个体已达到局部最优。
将成型机上已分配的所有工单子批全部转移到成型机上的操作,称为子批叠加。子批叠加示例如

图4 子批叠加示例图(单位:模)
Fig. 4 Example of sub-batch superpose(unit:pattern)
子批叠加的优点在于能够迅速将各个工单分散的批量集中起来,大幅降低工单平均提前完工时间,同时使整个种群朝着使用更少成型机的方向不断演化。但子批叠加会导致被叠加成型机上的生产任务迅速增加,容易违反工单不延期约束;同时如果成型机无法加工某些子批对应的工单,则新的个体无法满足成型机加工能力约束。因此,子批叠加很大概率上不能生成满足约束的新个体。
针对成型机批量调度约束和编码方式特点定义了两种邻域结构:转移邻域和叠加邻域。子批叠加用以迅速提高个体质量,子批转移用以进行更精细的搜索,避免搜索过快而导致丢失最优解。
为提高种群多样性,在搜索过程中并不每次都接受邻域内的最优解,而是保存收敛过程中产生的所有个体,从最优个体开始逐个往前选择,每次选择时以预先设定的概率Pa来判断是否接受该个体作为邻域搜索的结果,具体流程如

图5 基于概率的局部搜索流程图
Fig. 5 Flow diagram of local search based on probability
为提高邻域搜索的收敛速度,在进行转移邻域搜索时,采用变步长的搜索方式。首次邻域搜索时,采用初始步长step判断搜索方向并进行搜索,第二次迭代搜索时步长为step,后续每次搜索时步长翻倍,不断迭代直至无法找到更优个体;此时退回上次搜索起点,并重新使用初始步长step继续迭代,当使用step搜索也无法发现更优个体时,搜索结束。
综上所述,改进的变邻域搜索算法流程图如图

图6 改进变邻域搜索算法流程
Fig. 6 Flow diagram of improved VNS algorithm
某磁性材料工厂成型车间一共有12台3种类型的成型机,车间布局见

图7 成型车间布局图
Fig. 7 Layout of molding workshop
不同类型成型机由于能够安装的模具类型不同,具备不同的加工能力。各类成型机加工不同磁瓦对应的时间见
为验证所提方法的有效性,采用Matlab 2016编写程序。在生成调度方案之前,首先需要确定批量最小单元step的大小,由于磁片的模数以千计量,为了分析不同的step值对重调度结果的影响,分别选取进行实验,为了加快算法收敛过程,其余参数选取为种群大小、迭代次数、局部搜索接受概率Pa。运行程序,3种不同step下的目标函数收敛曲线如

图8 不同step下的收敛过程
Fig. 8 Convergence process in different steps
初始化VNS算法参数:批量最小单元,局部搜索接受概率Pa,种群大小,最大迭代次数。算法连续运行30次,取最好收敛结果。
采用本文优化目标函数求解得到的调度甘特图如

图9 调度方案甘特图
Fig. 9 Gantt chart of scheduling scheme
两种方案启动的成型机数量和成型机平均利用率对比结果如
为了验证本算法的优越性,同时采用传统邻域搜索算法和改进VNS算法对本问题进行求解,前者参数选取如下:批量最小单元,种群大小,最大迭代次数;后者参数选取同前者,且增设两种邻域结构,即转移邻域和叠加邻域,接受概率Pa。两者的目标函数值收敛曲线对比如

图10 算法收敛过程对比
Fig. 10 Comparison of algorithm convergence processes
下面验证考虑成型机故障和交货期提前情况下重调度方案的有效性。
在6月12日开始生产之前成型机、、发生故障,持续1 h。由
由于考虑成型机故障进行局部重调度时仍处于计划阶段,未对制造资源做出分配,所以不考虑重调度的稳定性,取目标函数中;同时应尽量避免重调度造成的工单拖期,设置拖期时间惩罚因子,目标函数如下式:
(14) |
由于受影响模数较少,取,其余参数不变,求解得出虚拟工单分批方案见

图11 局部重调度方案甘特图
Fig. 11 Gantt chart of local rescheduling scheme
当成型生产过程中发生交货期提前事件时,应采用完全重调度方法。在6月7日生产5 h后突然出现工单提前交付事件,2号工单和3号工单预定交货期从6月10日提前到6月9日。此时重新整理成型机资源和需求,结果见
为尽量避免工单拖期,设置拖期时间惩罚因子。权重的取值大小取决于决策时的偏向,当重调度偏向于减少制造资源变动时,应设置较大的;当重调度偏向于工单平均提前拖期时间较少时,应设置较小的。为验证不同决策目标的影响,分别取为0.3和0.7进行实验,采用改进VNS算法进行求解,两个完全重调度工单分批方案分别见

图12 完全重调度v=0.3时甘特图
Fig. 12 Gantt chart of global rescheduling at v=0.3

图13 完全重调度v=0.7时甘特图
Fig. 13 Gantt chart of global rescheduling at v=0.7
可以看出,两种方案的2号、3号工单均能在6月9日完成交付,从而证明了本文提出的多层次重调度方法的有效性。计算两种方案的方案偏离度和平均提前拖期时间,对比结果见
扩大v的采样点,不同v下的方案偏离度和平均提前拖期时间分别见

图14 不同v下的方案偏离度
Fig. 14 Scheme deviation at different v values

图15 不同v下的平均提前拖期时间
Fig. 15 Average early delay time at different v values
本文针对实际生产中成型机故障和工单交货期提前两类事件,采用最小分批原则和非等量分批原则对成型工单进行批量划分,引入重调度稳定性和准时性指标,建立数学模型,在VNS算法中设计转移邻域和叠加邻域两种结构进行变换搜索。最后通过实例验证了所提重调度方法能够在保证所有工单准时交付的基础上,提高成型机利用率,为工厂的实际生产决策提供参考。
参考文献
李亚峰. 磁性材料行业现状与发展前景分析[J]. 新材料产业, 2018(7):51. [百度学术]
LI Yafeng. Analysis of the status quo and development prospects of magnetic materials industry[J]. Advanced Materials Industry, 2018(7):51. [百度学术]
CHENG M, MUKHERJEE N J, SARIN S C. A review of lot streaming[J]. International Journal of Production Research, 2013, 51(23/24):7023. [百度学术]
王海燕, 王万良, 黄风立, 等. 分批优化调度问题综述及面向节能研究展望[J]. 计算机集成制造系统, 2017, 23(3):542. [百度学术]
WANG Haiyan, WANG Wanliang, HUANG Fengli, et al. Survey on production scheduling with lot splitting and prospect for energy-saving scheduling[J]. Computer Integrated Manufacturing Systems, 2017, 23(3):542. [百度学术]
LOW C, HSU C M, HUANG K I. Benefits of lot splitting in job-shop scheduling[J]. The International Journal of Advanced Manufacturing Technology, 2004, 24(9/10): 773. [百度学术]
SHIM S O, KIM Y D. A branch and bound algorithm for an identical parallel machine scheduling problem with a job splitting property[J]. Computers and Operations Research, 2008, 35(3):863. [百度学术]
TAHAR D N, YALAOUI F, CHU C, et al. A linear programming approach for identical parallel machine scheduling with job splitting and sequence-dependent setup times[J]. International Journal of Production Economics, 2006, 99(1/2):63. [百度学术]
史青涛. 基于遗传算法的单工序并行机分批调度研究[D]. 大连:大连理工大学, 2014. [百度学术]
SHI Qingtao. Research on lot splitting scheduling for parallel machines with single operation based on genetic algorithm[D]. Dalian:Dalian University of Technology, 2014. [百度学术]
张震, 尤凤翔, 赵欣桥. 有模具约束的并行机批量流调度问题研究[J]. 工业工程, 2018, 21(3):59. [百度学术]
ZHANG Zhen, YOU Fengxiang, ZHAO Xinqiao. A research on lot streaming in parallel machines scheduling with mold constraint[J]. Industrial Engineering Journal, 2018, 21(3):59. [百度学术]
李国臣, 乔非, 王俊凯, 等. 考虑能耗约束的并行机组批调度[J]. 中南大学学报(自然科学版), 2017, 48(8):2063. [百度学术]
LI Guochen, QIAO Fei, WANG Junkai, et al. Parallel machine batching scheduling considering energy constraints[J]. Journal of Central South University (Science and Technology), 2017, 48(8):2063. [百度学术]
王海燕. 基于混合差分进化算法的制造过程分批优化调度研究[D]. 杭州:浙江工业大学, 2011. [百度学术]
WANG Haiyan. New hybrid differential evolution algorithms for production scheduling problem with lot streaming[D]. Hangzhou:Zhejiang University of Technology, 2011. [百度学术]
LARSEN R, PRANZO M. A framework for dynamic rescheduling problems[J]. International Journal of Production Research, 2018. DOI:10.1080/00207543.2018.1456700. [百度学术]
GAO K, YANG F, ZHOU M C, et al. Flexible job-shop rescheduling for new job insertion by using discrete Jaya algorithm[J]. IEEE Transactions on Cybernetics, 2018 (99):1. [百度学术]
顾泽平, 杨建军, 周勇. 不确定因素扰动下多目标柔性作业车间鲁棒调度方法[J]. 计算机集成制造系统, 2017, 23(1): 66. [百度学术]
GU Zeping, YANG Jianjun, ZHOU Yong. Multi-objective flexible job-shop robust scheduling optimization under disturbance of uncertainties[J]. Computer Integrated Manufacturing Systems, 2017, 23(1): 66. [百度学术]
LI X, PENG Z, DU B, et al. Hybrid artificial bee colony algorithm with a rescheduling strategy for solving flexible job shop scheduling problems[J]. Computers & Industrial Engineering, 2017, 113: 10. [百度学术]
俞胜平, 柴天佑. 开工时间延迟下的炼钢⁃连铸生产重调度方法[J]. 自动化学报, 2016, 42(3): 358. [百度学术]
YU Shengping, CHAI Tianyou. Rescheduling method for starting time delay in steelmaking and continuous casting production processes[J]. Acta Automatica Sinica, 2016, 42(3): 358. [百度学术]
MAO K, PAN Q K, PANG X, et al. An effective Lagrangian relaxation approach for rescheduling a steelmaking-continuous casting process[J]. Control Engineering Practice, 2014, 30(9):67. [百度学术]
屈新怀, 刘栋, 丁必荣. 柔性作业车间分批调度的多样性可控粒子群优化算法[J]. 计算机辅助设计与图形学学报, 2014, 26(1):121. [百度学术]
QU Xinhuai, LIU Dong, DING Birong. Particle swarm optimization with controllable diversity of flexible job-shop scheduling with lot-splitting production[J]. Journal of Computer-Aided Design & Computer Graphics, 2014, 26(1):121. [百度学术]