摘要
柔性作业车间系统能满足社会对个性化、小批量及定制化产品的需求,该车间系统具有设备众多、工艺路线复杂、故障频次多等特点,但目前只是采取单机预防性维修策略来避免设备故障,势必会增加维修次数和维修成本,影响生产活动。针对传统单机预防性维修带来的问题,提出将群组预防性维修策略应用于柔性作业车间系统,并建立了群组预防性维修和多目标柔性作业车间联合优化模型。为了克服传统算法局部搜索能力不足的问题,设计了一种新的多目标进化算法求解多目标柔性作业车间调度问题,并展示了如何在柔性作业车间系统应用群组预防性维修。实验结果表明:所设计多目标进化算法能求出更多的最优解,具有更快的收敛速度,且能收敛到更优目标值;群组预防性维修比单机预防性维修的维修次数更少,维修成本更低,对生产活动影响更小,算例结果显示群组预防性维修相比于单机预防性维修在维修次数和维修成本方面均降低了150%;对将群组预防性维修策略应用于半导体代工厂生产设备的维修进行了展望。
柔性作业车间系统能够满足社会对个性化、小批量、多品种生产方式的需求,柔性制造环境中设备众多,加工路线复杂,故障频次多,但维修活动多采取单机预防性维修策略,即每次只维修达到维修阈值的机器。若对所有机器单独执行维修必将导致设备维修次数增加,打乱生产计划,从而严重影响生产活动。群组预防性维修策略(group preventive maintenance)已经被证明能够有效降低维修次数和维修成本,降低维修对生产活动的影响。Nguyen
近年来,国内外学者对MO-FJSP与预防性维修的结合问题进行了研究,Wang
多目标优化问题的最优解一般不止一个,而是一个解集,叫作帕累托解集。帕累托支配理论认为:1)当且仅当对任意一个,如果,并且存在一个,,则解支配。2)与之间互不支配,则无差别于。在多目标优化问题中,如果有一组解互不支配且不被其他解支配,则该组解就是最优解集,也称帕累托解集。在实际决策过程中,一般根据决策偏好在帕累托解集中随机选择一个解作为最优解。
FJSP()一般表示有个工件在台机器上加工,至少有一个工序可以在超过一台机器上加工,并且工序在不同机器上的加工时间一般不同。工件集合为;机器集合为 ;工件有道工序;表示第个工件的第道工序,;表示工序在机器上的加工时间。如果工序在机器上加工,则;否则。最大完工期最小为目标,如
, | (1) |
, | (2) |
。 | (3) |
设每台机器预防性维修可靠性阈值为,柔性系数为,用以表示维修活动允许的波动范围,维修区间为。在执行预防性维修时,将处于相同维修区间的机器一起维修,以实现群组预防性维修。柔性系数因工况、加工任务和设备类型差异而不同,可根据经验、历史数据或者专家系统等确定。
随着设备的使用,设备故障率逐渐增加,当达到阈值时,就执行预防性维修活动。杨兆军
。 | (4) |
式中:是尺寸参数;是形状参数;表示机器累计加工时间。在柔性作业车间中,相同工艺区的机器衰退过程独立同分布,即每台机器服从参数相同的威布尔分布。以故障率P为指标判断设备的衰退状态,设定机器预防性维修阈值为,机器故障率计算为
。 | (5) |
式中,s为积分变量。
假设同一工艺区有台独立同分布的机器,到达故障率阈值的时间分别为。将台机器划分到个维修区间,根据对应柔性系数,满足若干阈值区间对应不同维修时刻区间, ,维修区间根据具体维修时间计划表制定,每个维修区间的时间间隔相同,在每个区间的机器数量分别为,且满足
。 | (6) |
多目标柔性作业车间调度的数学模型如下:
, | (7) |
(8) |
; | (9) |
; | (10) |
(11) |
; | (12) |
; | (13) |
; | (14) |
(15) |
采用I-NSGA-III算法求解MO-FJSP问题,算法流程如

图1 I-NSGA-III算法流程图
Fig. 1 The flowchart of the I-NSGA-III algorithm
种群初始化方法采用张国

图2 染色体编码
Fig. 2 Chromosome coding method
交叉算子是遗传算法的主要算子,是体现遗传算法全局搜索能力的算子,交叉策略采用Li

图3 交叉算子与变异算子
Fig. 3 Crossover and mutation operations
NSGA-III算法具有较强的全局搜索能力,但是局部搜索能力欠缺。因此,将变邻域算子嵌入到NSGA-III算法提高算法的局部搜索能力。变邻域算子以关键工序为调整对象,调整关键工序可以获得新的邻域解。笔者提出一种新的扩展关键工序提取方法,并设计了4种邻域结构对扩展关键工序进行移动。现有研究中,关键工序的提取均是基于FJSP析取图模型上的关键路径,关键路径上的工序为关键工序。但是对于规模较大的FJSP问题,可能存在几十甚至上百条关键路径,寻找关键路径非常困难。为降低算法的复杂性,设计了提取扩展关键工序的方法。扩展关键工序定义为:如果一个工序的实际加工时间等于该工序的最晚完工时间减去该工序的最早开工时间,那么这个工序就是扩展关键工序。新的提取方式提取出的扩展关键工序比现有通过关键路径提取的关键工序更多,并且省去了关键路径的寻找,降低了提取关键工序的复杂性。
同一机器上相连接的关键工序组成一个关键块,如果没有与之相连的关键工序,那么这个块就只由一个工序组成。邻域变换可以产生新的解,设计了4种邻域结构变换方式产生新的解,分别为工序同机器调整策略、工序变机器调整策略、关键块调整策略,以及关键工序交换策略。工序同机器调整策略和工序变机器调整策略如

图4 工序同机器调整策略和工序变机器调整策
Fig. 4 Operation with machine strategy and operation against machine adjustment strategy

图5 关键块的移动
Fig. 5 The key block movement
选择操作直接关系到能否从每代染色体中选择出优秀的下一代,采用文献[

图6 基于参考点的选择算
Fig. 6 Selection operator based on reference-poin
算法代码均用Python编程实现,处理器为Intel(R) Pentium(R) CPU G4400 @3.30GHz,内存为8.0 GB,操作系统为64位Windows10台式机。使用2个实验来验证算法的有效性,实验1使用Kacem
将所设计的I-NSGA-III算法与文献[
算例 | PSO+SA | GA+VND | PSO+TS | NBHA(50) | NBHA(100) | NSGA-III | I-NSGA-III | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
f1 | f2 | f3 | f1 | f2 | f3 | f1 | f2 | f3 | f1 | f2 | f3 | f1 | f2 | f3 | f1 | f2 | f3 | f1 | f2 | f3 | |
Kacem01 | 15 | 75 | 12 | 14 | 77 | 12 | 14 | 77 | 12 | 15 | 75 | 12 | 14 | 77 | 12 | 14 | 72 | 13 | 14 | 74 | 12 |
16 | 73 | 13 | 15 | 75 | 12 | 16 | 77 | 11 | 15 | 75 | 12 | 16 | 70 | 13 | 15 | 72 | 12 | ||||
16 | 73 | 13 | 16 | 77 | 11 | 16 | 74 | 12 | 16 | 70 | 13 | ||||||||||
16 | 73 | 13 | 17 | 80 | 11 | ||||||||||||||||
Kacem02 | 7 | 44 | 5 | 7 | 43 | 5 | 7 | 43 | 6 | 7 | 42 | 6 | 7 | 42 | 6 | 8 | 41 | 7 | 7 | 44 | 5 |
8 | 42 | 5 | 8 | 42 | 5 | 8 | 42 | 6 | 8 | 41 | 7 | ||||||||||
8 | 41 | 7 | 8 | 41 | 7 | 8 | 43 | 5 | 8 | 42 | 6 | ||||||||||
8 | 43 | 5 | |||||||||||||||||||
Kacem03 | 12 | 91 | 11 | 11 | 91 | 11 | 11 | 93 | 11 | 13 | 93 | 11 | 12 | 92 | 12 | 15 | 91 | 14 | 13 | 93 | 13 |
13 | 92 | 12 | 13 | 92 | 11 | 14 | 92 | 12 | 13 | 94 | 12 | ||||||||||
14 | 92 | 11 | 13 | 91 | 12 | 16 | 91 | 13 | 14 | 92 | 13 | ||||||||||
14 | 95 | 11 |
在Kacem01算例中,I-NSGA-III和NBHA(100)算法求得的最优解的数量为4,而其他算法所求得的最优解的数量均小于4。NBHA(100)算法求得的第一个最优解为,I-NSGA-III算法求得的第一个最优解为,很明显支配。在该算例中,I-NSGA-III算法所求得的最优解均支配NBHA(100)算法所求得的最优解,并且I-NSGA-III算法相较于其他几个算法还能求得更多的最优解集,因此I-NSGA-III算法更优越。
在Kacem02和Kacem03算例中,I-NSGA-III算法求得的最优解的数量均为4,比其他算法所求得的最优解数量多,因此,I-NSGA-III算法在Kacem02和Kacem03算例中均显示了良好的搜索能力。通过这3个经典算例可以看出,I-NSGA-III算法在所有算法中能求得的帕累托最优解最多,并且I-NSGA-III算法求得的最优解集支配其他算法求得的最优解集,因此,I-NSGA-III算法更优。
将I-NSGA-III算法与标准NSGA-III算法在实验2中用10个算例进行对比,实验结果如
算例 | NSGA-III | I-NSGA-III | ||||||
---|---|---|---|---|---|---|---|---|
最优解数量 | f1,best | f2,best | f3,best | 最优解数量 | f1,best | f2,best | f3,best | |
MK01 | 4 | 42 | 158 | 36 | 8 | 40 | 156 | 36 |
MK02 | 4 | 31 | 143 | 27 | 7 | 31 | 144 | 27 |
MK03 | 5 | 204 | 861 | 204 | 10 | 205 | 888 | 204 |
MK04 | 8 | 61 | 345 | 61 | 15 | 69 | 344 | 60 |
MK05 | 6 | 178 | 684 | 175 | 7 | 177 | 679 | 174 |
MK06 | 12 | 71 | 381 | 54 | 15 | 77 | 386 | 55 |
MK07 | 7 | 150 | 678 | 149 | 11 | 147 | 678 | 145 |
MK08 | 3 | 524 | 2 530 | 523 | 2 | 523 | 2 523 | 523 |
MK09 | 7 | 326 | 2 364 | 299 | 7 | 320 | 2 343 | 299 |
MK10 | 7 | 263 | 1 994 | 204 | 14 | 254 | 1 970 | 206 |
从
MK10算例的帕累托最优解的空间分布如

图7 MK10算例的最优解集
Fig. 7 Optimal solutions of MK10
MK07算例中3个目标值最大完工时间、机器总负载和最大机器负载的迭代过程分别如图

图8 MK07算例的最大完工时间
Fig. 8 Maximum completion time of MK07

图9 MK07算例的机器总负载
Fig. 9 Total machine loading of MK07

图10 MK07算例的最大机器负载
Fig. 10 Maximum machine load of MK07
柔性作业车间中各设备负载均衡是顺利实施群组预防性维修策略的重要保证,负载均衡的调度方案使设备退化一致,群组预维修方式能发挥更好的效果。通过对比同一调度方案下机器的极差系数和标准差系数来判断机器负载均衡性,极差系数是同一个算例中机器最大加工时间减去机器最小加工时间除以机器平均加工时间,标准差系数是同一个算例中每台机器加工时间标准差除以机器平均加工时间。
算例 | 极差系数 | 标准差系数 | ||
---|---|---|---|---|
单目标优化 | 多目标优化 | 单目标优化 | 多目标优化 | |
Kacem01 | 0.76 | 0.27* | 0.25 | 0.09* |
Kacem02 | 0.65 | 0.41* | 0.20 | 0.12* |
Kacem03 | 0.39 | 0.14* | 0.11 | 0.04* |
MK01 | 1.04 | 0.76* | 0.31 | 0.25* |
MK02 | 0.27 | 0.25* | 0.11 | 0.07* |
MK03 | 1.25 | 0.78* | 0.35 | 0.25* |
MK04 | 1.04 | 0.90* | 0.31 | 0.28* |
MK05 | 0.03 | 0.02* | 0.01 | 0.00* |
MK06 | 2.48 | 2.22* | 0.83 | 0.82* |
MK07 | 0.17 | 0.06* | 0.06 | 0.02* |
MK08 | 2.00 | 2.00* | 0.65 | 0.65* |
MK09 | 0.29 | 0.23* | 0.08 | 0.07* |
MK10 | 1.75 | 1.74* | 0.64 | 0.63* |
结果表明多目标优化的极差系数和标准差系数均小于单目标优化的极差系数和标准差系数。因此,考虑最大完工时间和负载均衡性的柔性作业车间调度问题使求解的调度方案负载更均衡,使群组预防性维修策略应用到柔性作业车间系统有更好的效果。
为探究群组预防性维修策略应用于柔性作业车间系统的效果,在MK02算例的最优解集中随机选择一个最优解来阐明如何将群组预防性维修方法应用到柔性作业车间系统,不考虑维修活动时的调度计划(见

图11 MK02的初始调度方案
Fig. 11 The initial schedule of MK02
采用单机预防性维修策略和群组预防性维修策略维修机器时的作业调度甘特图分别如

图12 单机预防性维修
Fig. 12 The single preventive maintenance

图13 群组预防性维修
Fig. 13 The group preventive maintenance
维修方式 | 最大完工时间 | 维修费用 | 维修次数 |
---|---|---|---|
单机预防性维修 | 33 | 500 | 5 |
群组预防性维修 | 33 | 200 | 2 |
在最大完工时间相同的情况下,群组预防性维修只有2次维修活动,维修费用为200个单位成本,而单机预防性维修有5次维修活动,维修费用为500个单位成本。群组预防性维修将维修次数降低了150%,维修费用也降低了150%。由此可见,群组预防性维修比单机预防性维修的维修次数更少,维修成本更低。在生产实际中,每次维修都需要抽调维修人员、安排维修工具、前期技术准备和维修人员在车间内的流动,显然群组预防性维修可以共用这些维修资源,群组预防性维修能够极大地降低维修次数与维修费用,并减少维修人员在车间内流动对生产的影响。
很多产品的生产方式都可以抽象为FJSP,比如半导体代工企业的生产方式。芯片生产一般包括8大工艺,如

图14 半导体加工工艺
Fig. 14 The semiconductor process
半导体代工厂可以抽象为柔性作业车间制造系统,并且半导体代工厂具有设备众多、设备昂贵、车间状况复杂,以及同一工艺设备相同等特点,具备群组预防性维修的执行前提。因为芯片的生产制造主要依赖于设备,对于半导体代工企业来说,将群组预防性维修的方式应用到作业车间,可以极大降低设备维护成本,降低设备维修次数,提高设备的可用性,保证生产任务顺利完成。
提出了群组预防性维修方式应用到柔性作业车间系统,并建立了基于最大完工时间和设备负载均衡性的多目标优化模型,采用I-NSGA-III算法求解多目标柔性作业车间调度问题。对比了该算法在不同算例上的求解性能,展示了群组预防性维修方式的效果,并且还对群组预防性维修方式的工业应用进行了展望,得出以下结论。
1)将I-NSGA-III算法与多个经典算法在多个算例中进行对比研究,实验结果表明,笔者设计的I-NSGA-III算法能求得更多的帕累托最优解,并且解的质量更好,该算法在3个目标值上均有更快的收敛速度且能收敛到更优值。
2)对比研究表明,I-NSGA-III算法求得的最优解能够提高设备之间的负载均衡性,并且证明了在维修活动对生产任务影响相同的情况下,群组预防性维修方式比单机预防性维修的维修次数更少,维修成本更低,并降低了维修人员在车间内的流动。
3)分析说明了半导体代工厂的芯片生产模式可以抽象为柔性作业车间调度问题,并且半导体代工厂的特点具有群组预防性维修执行的条件,因此,未来可以将群组预防性维修策略应用到半导体代工厂的设备维修与维护中。
参考文献
Nguyen T A T, Chou S Y. Maintenance strategy selection for improving cost-effectiveness of offshore wind systems[J]. Energy conversion and management, 2018, 157: 86-95. [百度学术]
Do Van P, Barros A, Bérenguer C, et al. Dynamic grouping maintenance with time limited opportunities[J]. Reliability Engineering & System Safety, 2013, 120: 51-59. [百度学术]
Shafiee M, Finkelstein M. An optimal age-based group maintenance policy for multi-unit degrading systems[J]. Reliability Engineering & System Safety, 2015, 134: 230-238. [百度学术]
Wang H, Sheng B Y, Lu Q B, et al. A novel multi-objective optimization algorithm for the integrated scheduling of flexible job shops considering preventive maintenance activities and transportation processes[J]. Soft Computing, 2021, 25(4): 2863-2889. [百度学术]
Gupta S, Jain A. Analysis of integrated preventive maintenance and machine failure in stochastic flexible job shop scheduling with sequence-dependent setup time[J]. Smart Science, 2022, 10(3): 175-197. [百度学术]
Gong G L, Chiong R, Deng Q W, et al. Energy-efficient production scheduling through machine on/off control during preventive maintenance[J]. Engineering Applications of Artificial Intelligence, 2021, 104: 104359. [百度学术]
Deb K, Jain H. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4): 577-601. [百度学术]
杨兆军, 陈传海, 陈菲, 等. 数控机床可靠性技术的研究进展[J]. 机械工程学报, 2013, 49(20): 130-139 [百度学术]
Yang Z J, Chen C H, Chen F, et al. Progress in the research of reliability technology of machine tools[J]. Journal of Mechanical Engineering, 2013, 49(20): 130-139. (in Chinese) [百度学术]
张国辉. 柔性作业车间调度方法研究[D]. 武汉: 华中科技大学, 2009. [百度学术]
Zhang G H. Research on flexible job shop scheduling method[D]. Wuhan: Huazhong University of Science and Technology, 2009. (in Chinese) [百度学术]
Li X Y, Gao L. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem[J]. International Journal of Production Economics, 2016, 174: 93-110. [百度学术]
吴树景, 游有鹏, 罗福源. 变邻域保优遗传算法求解柔性车间调度问题[J]. 计算机工程与应用, 2020, 56(22): 236-243 [百度学术]
Wu S J, You Y P, Luo F Y. Genetic-variable neighborhood search algorithm with elite protection strategy for flexible job shop scheduling problem[J]. Computer Engineering and Applications, 2020, 56(22): 236-243. (in Chinese) [百度学术]
Xia W J, Wu Z M. An effective hybrid optimization approach for multi-objective flexible job-shop scheduling problems[J]. Computers & Industrial Engineering, 2005, 48(2): 409-425. [百度学术]
Brandimarte P. Routing and scheduling in a flexible job shop by tabu search[J]. Annals of Operations Research, 1993, 41(3): 157-183. [百度学术]
Gao J, Sun L Y, Gen M. A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems[J]. Computers & Operations Research, 2008, 35(9): 2892-2907. [百度学术]
Zhang G H, Shao X Y, Li P G, et al. An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem[J]. Computers & Industrial Engineering, 2009, 56(4): 1309-1318. [百度学术]
Fernández Pérez M A, Raupp F M P. A Newton-based heuristic algorithm for multi-objective flexible job-shop scheduling problem[J]. Journal of Intelligent Manufacturing, 2016, 27(2): 409-416. [百度学术]